Replace @NeededForTesting w/ proguard keep flags (1/2)
* Replace -keep of entire c.a.c.common package
with individual classes
* Remove all use of @NeededForTesting annotations
(and the file itself since @VisibleForTesting
accomplishes the same thing)
Test: Ran user build ContactsTests on Nexus 5 MOB30H
Bug: 30976481
Change-Id: I8d9a4d6b3409a159a108b39c1c4837a19e2325ca
diff --git a/proguard.flags b/proguard.flags
index 9b950f8..f1e609b 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -10,19 +10,81 @@
}
# Feature highlight library. See b/29877098
--keep class com.google.android.libraries.material.featurehighlight.** { *;}
+-keep class com.google.android.libraries.material.featurehighlight.** { *; }
# Needed for tests
--keep class com.android.contacts.common.** { *;}
--keep class com.android.contacts.interactions.** { *;}
--keep class com.google.common.base.Objects { *;}
--keep class com.google.common.base.Preconditions { *;}
--keep class com.google.common.collect.ImmutableMap { *;}
--keep class com.google.common.collect.ImmutableSet { *;}
--keep class com.google.common.collect.Lists { *;}
--keep class com.google.common.collect.Maps { *;}
--keep class com.google.common.collect.Multimap { *;}
--keep class com.google.common.collect.Sets { *;}
+-keep class com.android.contacts.common.compat.CompatUtils { *; }
+-keep class com.android.contacts.common.Collapser { *; }
+-keep class com.android.contacts.common.ContactsUtils { *; }
+-keep class com.android.contacts.common.database.NoNullCursorAsyncQueryHandler { *; }
+-keep class com.android.contacts.common.format.FormatUtils { *; }
+-keep class com.android.contacts.common.format.TextHighlighter { *; }
+-keep class com.android.contacts.common.list.ContactListItemView { *; }
+-keep class com.android.contacts.common.list.ContactsSectionIndexer { *; }
+-keep class com.android.contacts.common.location.CountryDetector { *; }
+-keep class com.android.contacts.common.model.account.AccountType { *; }
+-keep class com.android.contacts.common.model.account.AccountType$* { *; }
+-keep class com.android.contacts.common.model.account.AccountTypeWithDataSet { *; }
+-keep class com.android.contacts.common.model.account.AccountWithDataSet { *; }
+-keep class com.android.contacts.common.model.account.BaseAccountType { *; }
+-keep class com.android.contacts.common.model.account.BaseAccountType$* { *; }
+-keep class com.android.contacts.common.model.account.ExchangeAccountType { *; }
+-keep class com.android.contacts.common.model.account.ExternalAccountType { *; }
+-keep class com.android.contacts.common.model.account.FallbackAccountType { *; }
+-keep class com.android.contacts.common.model.account.GoogleAccountType { *; }
+-keep class com.android.contacts.common.model.AccountTypeManager { *; }
+-keep class com.android.contacts.common.model.AccountTypeManagerImpl { *; }
+-keep class com.android.contacts.common.model.BuilderWrapper { *; }
+-keep class com.android.contacts.common.model.Contact { *; }
+-keep class com.android.contacts.common.model.ContactLoader { *; }
+-keep class com.android.contacts.common.model.CPOWrapper { *; }
+-keep class com.android.contacts.common.model.dataitem.DataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.DataKind { *; }
+-keep class com.android.contacts.common.model.dataitem.EmailDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.EventDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.ImDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.NicknameDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.NoteDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.OrganizationDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.PhoneDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.RelationDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.SipAddressDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.StructuredNameDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.StructuredPostalDataItem { *; }
+-keep class com.android.contacts.common.model.dataitem.WebsiteDataItem { *; }
+-keep class com.android.contacts.common.model.RawContact { *; }
+-keep class com.android.contacts.common.model.RawContactDelta { *; }
+-keep class com.android.contacts.common.model.RawContactDeltaList { *; }
+-keep class com.android.contacts.common.model.RawContactModifier { *; }
+-keep class com.android.contacts.common.model.ValuesDelta { *; }
+-keep class com.android.contacts.common.MoreContactUtils { *; }
+-keep class com.android.contacts.common.preference.ContactsPreferences { *; }
+-keep class com.android.contacts.common.testing.InjectedServices { *; }
+-keep class com.android.contacts.common.util.BitmapUtil { *; }
+-keep class com.android.contacts.common.util.ContactDisplayUtils { *; }
+-keep class com.android.contacts.common.util.DateUtils { *; }
+-keep class com.android.contacts.common.util.NameConverter { *; }
+-keep class com.android.contacts.common.util.SearchUtil { *; }
+-keep class com.android.contacts.common.util.SearchUtil$* { *; }
+-keep class com.android.contacts.ContactsApplication { *; }
+-keep class com.android.contacts.ContactSaveService { *; }
+-keep class com.android.contacts.ContactSaveService$* { *; }
+-keep class com.android.contacts.editor.ContactEditorUtils { *; }
+-keep class com.android.contacts.editor.EditorUiUtils { *; }
+-keep class com.android.contacts.group.GroupUtil { *; }
+-keep class com.android.contacts.interactions.CallLogInteraction { *; }
+-keep class com.android.contacts.interactions.CallLogInteractionsLoader { *; }
+-keep class com.android.contacts.interactions.ContactDeletionInteraction { *; }
+-keep class com.android.contacts.interactions.ContactInteractionUtil { *; }
+-keep class com.android.contacts.widget.CompositeListAdapter { *; }
+-keep class com.google.common.base.Objects { *; }
+-keep class com.google.common.base.Preconditions { *; }
+-keep class com.google.common.collect.ImmutableMap { *; }
+-keep class com.google.common.collect.ImmutableSet { *; }
+-keep class com.google.common.collect.Lists { *; }
+-keep class com.google.common.collect.Maps { *; }
+-keep class com.google.common.collect.Multimap { *; }
+-keep class com.google.common.collect.Sets { *; }
# Any class or method annotated with NeededForTesting or NeededForReflection.
-keep @com.android.contacts.common.testing.NeededForTesting class *
diff --git a/src/com/android/contacts/ContactSaveService.java b/src/com/android/contacts/ContactSaveService.java
index 7a2dc3f..b34f384 100755
--- a/src/com/android/contacts/ContactSaveService.java
+++ b/src/com/android/contacts/ContactSaveService.java
@@ -60,7 +60,6 @@
import com.android.contacts.common.model.RawContactDeltaList;
import com.android.contacts.common.model.RawContactModifier;
import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.util.PermissionsUtil;
import com.android.contacts.compat.PinnedPositionsCompat;
import com.android.contacts.util.ContactPhotoUtils;
@@ -1644,7 +1643,6 @@
}
}
- @NeededForTesting
public interface GroupsDao {
Uri create(String title, AccountWithDataSet account);
int delete(Uri groupUri);
@@ -1652,11 +1650,8 @@
Uri undoDeletion(Bundle undoData);
}
- @NeededForTesting
public static class GroupsDaoImpl implements GroupsDao {
- @NeededForTesting
public static final String KEY_GROUP_DATA = "groupData";
- @NeededForTesting
public static final String KEY_GROUP_MEMBERS = "groupMemberIds";
private static final String TAG = "GroupsDao";
@@ -1672,7 +1667,6 @@
this.contentResolver = contentResolver;
}
- @NeededForTesting
public Bundle captureDeletionUndoData(Uri groupUri) {
final long groupId = ContentUris.parseId(groupUri);
final Bundle result = new Bundle();
@@ -1710,7 +1704,6 @@
return result;
}
- @NeededForTesting
public Uri undoDeletion(Bundle deletedGroupData) {
final ContentValues groupData = deletedGroupData.getParcelable(KEY_GROUP_DATA);
if (groupData == null) {
@@ -1738,7 +1731,6 @@
return groupUri;
}
- @NeededForTesting
public Uri create(String title, AccountWithDataSet account) {
final ContentValues values = new ContentValues();
values.put(Groups.TITLE, title);
@@ -1748,7 +1740,6 @@
return contentResolver.insert(Groups.CONTENT_URI, values);
}
- @NeededForTesting
public int delete(Uri groupUri) {
return contentResolver.delete(groupUri, null, null);
}
diff --git a/src/com/android/contacts/ContactsApplication.java b/src/com/android/contacts/ContactsApplication.java
index f8a1f20..6fa9df1 100644
--- a/src/com/android/contacts/ContactsApplication.java
+++ b/src/com/android/contacts/ContactsApplication.java
@@ -33,10 +33,8 @@
import com.android.contacts.common.util.Constants;
import com.android.contactsbind.analytics.AnalyticsUtil;
-import com.android.contacts.common.testing.NeededForTesting;
import com.google.common.annotations.VisibleForTesting;
-@NeededForTesting
public class ContactsApplication extends Application {
private static final boolean ENABLE_LOADER_LOG = false; // Don't submit with true
private static final boolean ENABLE_FRAGMENT_LOG = false; // Don't submit with true
diff --git a/src/com/android/contacts/common/ContactsUtils.java b/src/com/android/contacts/common/ContactsUtils.java
index 38fdbf2..0f8031c 100644
--- a/src/com/android/contacts/common/ContactsUtils.java
+++ b/src/com/android/contacts/common/ContactsUtils.java
@@ -29,7 +29,6 @@
import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.model.dataitem.ImDataItem;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.compat.ContactsCompat;
import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.model.AccountTypeManager;
@@ -122,7 +121,6 @@
/**
* Returns true if two objects are considered equal. Two null references are equal here.
*/
- @NeededForTesting
public static boolean areObjectsEqual(Object a, Object b) {
return a == b || (a != null && a.equals(b));
}
diff --git a/src/com/android/contacts/common/location/CountryDetector.java b/src/com/android/contacts/common/location/CountryDetector.java
index 2d29a69..bceadc4 100644
--- a/src/com/android/contacts/common/location/CountryDetector.java
+++ b/src/com/android/contacts/common/location/CountryDetector.java
@@ -5,8 +5,6 @@
import android.text.TextUtils;
import android.util.Log;
-import com.android.contacts.common.testing.NeededForTesting;
-
import java.util.Locale;
/**
@@ -62,7 +60,6 @@
/**
* Factory method for {@link CountryDetector} that allows the caller to provide mock objects.
*/
- @NeededForTesting
public CountryDetector getInstanceForTest(Context context, TelephonyManager telephonyManager,
LocaleProvider localeProvider) {
return new CountryDetector(context, telephonyManager, localeProvider);
diff --git a/src/com/android/contacts/common/model/AccountTypeManager.java b/src/com/android/contacts/common/model/AccountTypeManager.java
index 3ef3502..aaf1476 100644
--- a/src/com/android/contacts/common/model/AccountTypeManager.java
+++ b/src/com/android/contacts/common/model/AccountTypeManager.java
@@ -52,7 +52,6 @@
import com.android.contacts.common.model.account.GoogleAccountType;
import com.android.contacts.common.model.account.SamsungAccountType;
import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.util.Constants;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Objects;
@@ -101,7 +100,6 @@
*
* @param mockManager The mock AccountTypeManager.
*/
- @NeededForTesting
public static void setInstanceForTest(AccountTypeManager mockManager) {
synchronized (mInitializationLock) {
mAccountTypeManager = mockManager;
diff --git a/src/com/android/contacts/common/model/RawContactDelta.java b/src/com/android/contacts/common/model/RawContactDelta.java
index b8709c3..85b0930 100644
--- a/src/com/android/contacts/common/model/RawContactDelta.java
+++ b/src/com/android/contacts/common/model/RawContactDelta.java
@@ -35,7 +35,6 @@
import com.android.contacts.common.model.CPOWrapper;
import com.android.contacts.common.model.ValuesDelta;
import com.android.contacts.common.model.account.AccountType;
-import com.android.contacts.common.testing.NeededForTesting;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@@ -183,7 +182,6 @@
* doesn't exist (may be a primary, or just a random item
* @return
*/
- @NeededForTesting
public ValuesDelta getSuperPrimaryEntry(String mimeType, boolean forceSelection) {
final ArrayList<ValuesDelta> mimeEntries = getMimeEntries(mimeType, false);
if (mimeEntries == null) return null;
diff --git a/src/com/android/contacts/common/model/ValuesDelta.java b/src/com/android/contacts/common/model/ValuesDelta.java
index 9023709..844ba36 100644
--- a/src/com/android/contacts/common/model/ValuesDelta.java
+++ b/src/com/android/contacts/common/model/ValuesDelta.java
@@ -26,7 +26,6 @@
import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.model.BuilderWrapper;
-import com.android.contacts.common.testing.NeededForTesting;
import com.google.common.collect.Sets;
import java.util.HashSet;
@@ -80,7 +79,6 @@
return entry;
}
- @NeededForTesting
public ContentValues getAfter() {
return mAfter;
}
diff --git a/src/com/android/contacts/common/model/account/BaseAccountType.java b/src/com/android/contacts/common/model/account/BaseAccountType.java
index 46c57d4..2f47c50 100644
--- a/src/com/android/contacts/common/model/account/BaseAccountType.java
+++ b/src/com/android/contacts/common/model/account/BaseAccountType.java
@@ -42,7 +42,6 @@
import com.android.contacts.common.R;
import com.android.contacts.common.model.dataitem.CustomDataItem;
import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.util.CommonDateUtils;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.google.common.collect.Lists;
@@ -501,7 +500,6 @@
+ " mColumnName" + mColumnName;
}
- @NeededForTesting
public String getColumnNameForTest() {
return mColumnName;
}
diff --git a/src/com/android/contacts/common/model/account/FallbackAccountType.java b/src/com/android/contacts/common/model/account/FallbackAccountType.java
index 42e6b6a..8a7b964 100644
--- a/src/com/android/contacts/common/model/account/FallbackAccountType.java
+++ b/src/com/android/contacts/common/model/account/FallbackAccountType.java
@@ -21,7 +21,6 @@
import com.android.contacts.common.R;
import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.common.testing.NeededForTesting;
public class FallbackAccountType extends BaseAccountType {
private static final String TAG = "FallbackAccountType";
@@ -67,7 +66,6 @@
* In order to build {@link DataKind}s with the same resource package name,
* {@code resPackageName} is injectable.
*/
- @NeededForTesting
static AccountType createWithPackageNameForTest(Context context, String resPackageName) {
return new FallbackAccountType(context, resPackageName);
}
diff --git a/src/com/android/contacts/common/testing/InjectedServices.java b/src/com/android/contacts/common/testing/InjectedServices.java
index e89cec7..3b90676 100644
--- a/src/com/android/contacts/common/testing/InjectedServices.java
+++ b/src/com/android/contacts/common/testing/InjectedServices.java
@@ -29,14 +29,12 @@
* while running tests. Activities, Services and the Application should check
* with this class to see if a particular service has been overridden.
*/
-@NeededForTesting
public class InjectedServices {
private ContentResolver mContentResolver;
private SharedPreferences mSharedPreferences;
private HashMap<String, Object> mSystemServices;
- @NeededForTesting
public void setContentResolver(ContentResolver contentResolver) {
this.mContentResolver = contentResolver;
}
@@ -45,7 +43,6 @@
return mContentResolver;
}
- @NeededForTesting
public void setSharedPreferences(SharedPreferences sharedPreferences) {
this.mSharedPreferences = sharedPreferences;
}
@@ -54,7 +51,6 @@
return mSharedPreferences;
}
- @NeededForTesting
public void setSystemService(String name, Object service) {
if (mSystemServices == null) {
mSystemServices = Maps.newHashMap();
diff --git a/src/com/android/contacts/common/testing/NeededForTesting.java b/src/com/android/contacts/common/testing/NeededForTesting.java
deleted file mode 100644
index f841d55..0000000
--- a/src/com/android/contacts/common/testing/NeededForTesting.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.common.testing;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Denotes that the class, constructor, method or field is used by tests and therefore cannot be
- * removed by tools like ProGuard.
- */
-@Retention(RetentionPolicy.CLASS)
-@Target({ElementType.TYPE, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.FIELD})
-public @interface NeededForTesting {}
diff --git a/src/com/android/contacts/editor/ContactEditorUtils.java b/src/com/android/contacts/editor/ContactEditorUtils.java
index 4a06698..1b0da05 100644
--- a/src/com/android/contacts/editor/ContactEditorUtils.java
+++ b/src/com/android/contacts/editor/ContactEditorUtils.java
@@ -26,7 +26,6 @@
import android.util.Log;
import com.android.contacts.common.R;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountType;
import com.android.contacts.common.model.account.AccountWithDataSet;
@@ -41,7 +40,6 @@
/**
* Utility methods for the "account changed" notification in the new contact creation flow.
*/
-@NeededForTesting
public class ContactEditorUtils {
private static final String TAG = "ContactEditorUtils";
@@ -80,13 +78,11 @@
return sInstance;
}
- @NeededForTesting
void cleanupForTest() {
mPrefs.edit().remove(mDefaultAccountKey).remove(KEY_KNOWN_ACCOUNTS)
.remove(mAnythingSavedKey).apply();
}
- @NeededForTesting
void removeDefaultAccountForTest() {
mPrefs.edit().remove(mDefaultAccountKey).apply();
}
@@ -120,7 +116,6 @@
* @param defaultAccount the account used to save a newly created contact. Or pass {@code null}
* If the user selected "local only".
*/
- @NeededForTesting
public void saveDefaultAndAllAccounts(AccountWithDataSet defaultAccount) {
final SharedPreferences.Editor editor = mPrefs.edit()
.putBoolean(mAnythingSavedKey, true);
@@ -213,7 +208,6 @@
* {@link #getDefaultAccount} will return a valid account. (Either an account which still
* exists, or {@code null} which should be interpreted as "local only".)
*/
- @NeededForTesting
public boolean shouldShowAccountChangedNotification() {
final List<AccountWithDataSet> currentWritableAccounts = getWritableAccounts();
diff --git a/src/com/android/contacts/editor/EditorUiUtils.java b/src/com/android/contacts/editor/EditorUiUtils.java
index 0a5c765..8772cbb 100644
--- a/src/com/android/contacts/editor/EditorUiUtils.java
+++ b/src/com/android/contacts/editor/EditorUiUtils.java
@@ -52,7 +52,6 @@
import com.android.contacts.common.model.account.AccountType;
import com.android.contacts.common.model.account.GoogleAccountType;
import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
import com.android.contacts.util.ContactPhotoUtils;
import com.android.contacts.widget.QuickContactImageView;
@@ -65,7 +64,6 @@
/**
* Utility methods for creating contact editor.
*/
-@NeededForTesting
public class EditorUiUtils {
// Maps DataKind.mimeType to editor view layouts.
@@ -116,7 +114,6 @@
/**
* Returns the account name and account type labels to display for local accounts.
*/
- @NeededForTesting
public static Pair<String,String> getLocalAccountInfo(Context context,
String accountName, AccountType accountType) {
if (TextUtils.isEmpty(accountName)) {
@@ -133,7 +130,6 @@
/**
* Returns the account name and account type labels to display for the given account type.
*/
- @NeededForTesting
public static Pair<String,String> getAccountInfo(Context context, String accountName,
AccountType accountType) {
CharSequence accountTypeDisplayLabel = accountType.getDisplayLabel(context);
@@ -214,7 +210,6 @@
/**
* Returns a ringtone string based on the ringtone URI and version #.
*/
- @NeededForTesting
public static String getRingtoneStringFromUri(Uri pickedUri, int currentVersion) {
if (isNewerThanM(currentVersion)) {
if (pickedUri == null) return ""; // silent ringtone
@@ -227,7 +222,6 @@
/**
* Returns a ringtone URI, based on the string and version #.
*/
- @NeededForTesting
public static Uri getRingtoneUriFromString(String str, int currentVersion) {
if (str != null) {
if (isNewerThanM(currentVersion) && TextUtils.isEmpty(str)) return null;
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index b9a6425..d42100d 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -33,7 +33,6 @@
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.list.ContactsSectionIndexer;
import com.android.contacts.common.model.account.GoogleAccountType;
-import com.android.contacts.common.testing.NeededForTesting;
import com.android.contacts.list.UiIntentActions;
import com.google.common.base.Objects;
@@ -46,7 +45,6 @@
/**
* Group utility methods.
*/
-@NeededForTesting
public final class GroupUtil {
// System IDs of FFC groups in Google accounts
@@ -167,7 +165,6 @@
* number of remaining elements in cursor. If count is more than what's in the indexer now,
* then we don't need to trim.
*/
- @NeededForTesting
public static boolean needTrimming(int count, int[] counts, int[] positions) {
// The sum of the last element in counts[] and the last element in positions[] is
// the total number of remaining elements in cursor. If mCount is more than
@@ -179,7 +176,6 @@
/**
* Update Bundle extras so as to update indexer.
*/
- @NeededForTesting
public static void updateBundle(Bundle bundle, ContactsSectionIndexer indexer,
List<Integer> subscripts, String[] sections, int[] counts) {
for (int i : subscripts) {
@@ -293,4 +289,4 @@
&& cursor.getInt(summaryCount) <= 0;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/com/android/contacts/interactions/ContactInteractionUtil.java b/src/com/android/contacts/interactions/ContactInteractionUtil.java
index b2bda5d..8de55da 100644
--- a/src/com/android/contacts/interactions/ContactInteractionUtil.java
+++ b/src/com/android/contacts/interactions/ContactInteractionUtil.java
@@ -20,8 +20,6 @@
import android.content.Context;
import android.text.format.DateUtils;
-import com.android.contacts.common.testing.NeededForTesting;
-
import java.text.DateFormat;
import java.util.Calendar;
@@ -36,7 +34,6 @@
/**
* @return a string like (?,?,?...) with {@param count} question marks.
*/
- @NeededForTesting
public static String questionMarks(int count) {
Preconditions.checkArgument(count > 0);
StringBuilder sb = new StringBuilder("(?");
@@ -50,7 +47,6 @@
* Same as {@link formatDateStringFromTimestamp(long, Context, Calendar)} but uses the current
* time.
*/
- @NeededForTesting
public static String formatDateStringFromTimestamp(long timestamp, Context context) {
return formatDateStringFromTimestamp(timestamp, context, Calendar.getInstance());
}
@@ -62,7 +58,6 @@
* 1. If the timestamp is today, the time is shown
* 2. Otherwise show full date and time
*/
- @NeededForTesting
public static String formatDateStringFromTimestamp(long timestamp, Context context,
Calendar compareCalendar) {
Calendar interactionCalendar = Calendar.getInstance();
@@ -91,7 +86,6 @@
* Takes duration of the call in seconds.
* Return the formatted duration in hr, min, sec order if they exist.
*/
- @NeededForTesting
public static String formatDuration(long callDuration, Context context) {
final int hours = (int) callDuration / 3600;
final int minutes = (int) (callDuration % 3600) / 60;
diff --git a/src/com/android/contacts/interactions/TestLoaderManagerBase.java b/src/com/android/contacts/interactions/TestLoaderManagerBase.java
index 92ae3b9..920df41 100644
--- a/src/com/android/contacts/interactions/TestLoaderManagerBase.java
+++ b/src/com/android/contacts/interactions/TestLoaderManagerBase.java
@@ -18,6 +18,8 @@
import android.app.LoaderManager;
+import com.google.common.annotations.VisibleForTesting;
+
/**
* A {@link LoaderManager} that records which loaders have been completed.
* <p>
@@ -71,6 +73,7 @@
* }
* </pre>
*/
+@VisibleForTesting
abstract class TestLoaderManagerBase extends LoaderManager {
/**
@@ -84,6 +87,7 @@
* It can not be set to null. Once set, it cannot be changed (but it allows setting it to the
* same value again).
*/
+ @VisibleForTesting
public abstract void setDelegate(LoaderManager delegate);
}
diff --git a/src/com/android/contacts/widget/CompositeListAdapter.java b/src/com/android/contacts/widget/CompositeListAdapter.java
index 4c72ee8..44ff291 100644
--- a/src/com/android/contacts/widget/CompositeListAdapter.java
+++ b/src/com/android/contacts/widget/CompositeListAdapter.java
@@ -21,18 +21,13 @@
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
-import com.android.contacts.common.testing.NeededForTesting;
import com.google.common.annotations.VisibleForTesting;
/**
* A general purpose adapter that is composed of multiple sub-adapters. It just
* appends them in the order they are added. It listens to changes from all
* sub-adapters and propagates them to its own listeners.
- *
- * This class not used for now -- but let's keep running the test in case we want to revive it...
- * (So NeededForTesting)
*/
-@NeededForTesting
public class CompositeListAdapter extends BaseAdapter {
private static final int INITIAL_CAPACITY = 2;