aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInseob Kim <inseob@google.com>2018-11-21 11:39:49 +0900
committerInseob Kim <inseob@google.com>2018-11-21 11:40:01 +0900
commit8a13f7d8f3f43fbc469e871ec8220b84e746be58 (patch)
tree66481afa12752a4d2a2c13026df236a6130afc48
parent1e6ac864ef568879e4e2e2c9046d48d41f1a5561 (diff)
downloadContactsProvider-8a13f7d8f3f43fbc469e871ec8220b84e746be58.tar.gz
Schematize Contacts system properties
Properties accessed across partitions are now schematized and will become APIs to make explicit interfaces among partitions. Bug: 117924132 Test: mma -j Change-Id: I3c270dd0364629aacabf489c5c01277111b98ad9
-rw-r--r--src/com/android/providers/contacts/ContactDirectoryManager.java4
-rw-r--r--src/com/android/providers/contacts/ContactsProvider2.java27
-rw-r--r--src/com/android/providers/contacts/PhotoProcessor.java15
3 files changed, 12 insertions, 34 deletions
diff --git a/src/com/android/providers/contacts/ContactDirectoryManager.java b/src/com/android/providers/contacts/ContactDirectoryManager.java
index 33e541d3..8a1c88bb 100644
--- a/src/com/android/providers/contacts/ContactDirectoryManager.java
+++ b/src/com/android/providers/contacts/ContactDirectoryManager.java
@@ -30,9 +30,9 @@ import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
-import android.os.SystemProperties;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Directory;
+import android.sysprop.ContactsProperties;
import android.text.TextUtils;
import android.util.Log;
@@ -194,7 +194,7 @@ public class ContactDirectoryManager {
@VisibleForTesting
boolean isRescanNeeded() {
- if ("1".equals(SystemProperties.get("debug.cp2.scan_all_packages", "0"))) {
+ if (ContactsProperties.debug_scan_all_packages().orElse(false)) {
Log.w(TAG, "debug.cp2.scan_all_packages set to 1.");
return true; // For debugging.
}
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 54b4a27d..52f493b2 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -62,7 +62,6 @@ import android.os.ParcelFileDescriptor.AutoCloseInputStream;
import android.os.RemoteException;
import android.os.StrictMode;
import android.os.SystemClock;
-import android.os.SystemProperties;
import android.os.UserHandle;
import android.preference.PreferenceManager;
import android.provider.BaseColumns;
@@ -107,6 +106,7 @@ import android.provider.ContactsContract.StreamItems;
import android.provider.OpenableColumns;
import android.provider.Settings.Global;
import android.provider.SyncStateContract;
+import android.sysprop.ContactsProperties;
import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -291,22 +291,8 @@ public class ContactsProvider2 extends AbstractContactsProvider
private static final int AGGREGATION_ALGORITHM_NEW_VERSION = 5;
- private static final String AGGREGATE_CONTACTS = "sync.contacts.aggregate";
-
private static final String CONTACT_MEMORY_FILE_NAME = "contactAssetFile";
- /**
- * If set to "1", we don't remove account data when accounts have been removed.
- *
- * This should be used sparingly; even though there are data still available, the UI
- * don't know anything about them, so they won't show up in the contact filter screen, and
- * the contact card/editor may get confused to see unknown custom mimetypes.
- *
- * We can't spell it out because a property name must be less than 32 chars.
- */
- private static final String DEBUG_PROPERTY_KEEP_STALE_ACCOUNT_DATA =
- "debug.contacts.ksad";
-
public static final ProfileAwareUriMatcher sUriMatcher =
new ProfileAwareUriMatcher(UriMatcher.NO_MATCH);
@@ -1644,7 +1630,7 @@ public class ContactsProvider2 extends AbstractContactsProvider
createPhotoPriorityResolver(getContext()), mNameSplitter, mCommonNicknameCache)
: new ContactAggregator(this, mContactsHelper,
createPhotoPriorityResolver(getContext()), mNameSplitter, mCommonNicknameCache);
- mContactAggregator.setEnabled(SystemProperties.getBoolean(AGGREGATE_CONTACTS, true));
+ mContactAggregator.setEnabled(ContactsProperties.aggregate_contacts().orElse(true));
initDataRowHandlers(mDataRowHandlers, mContactsHelper, mContactAggregator,
mContactsPhotoStore);
}
@@ -1676,10 +1662,10 @@ public class ContactsProvider2 extends AbstractContactsProvider
: new ContactAggregator2(this, mContactsHelper,
createPhotoPriorityResolver(context), mNameSplitter, mCommonNicknameCache);
- mContactAggregator.setEnabled(SystemProperties.getBoolean(AGGREGATE_CONTACTS, true));
+ mContactAggregator.setEnabled(ContactsProperties.aggregate_contacts().orElse(true));
mProfileAggregator = new ProfileAggregator(this, mProfileHelper,
createPhotoPriorityResolver(context), mNameSplitter, mCommonNicknameCache);
- mProfileAggregator.setEnabled(SystemProperties.getBoolean(AGGREGATE_CONTACTS, true));
+ mProfileAggregator.setEnabled(ContactsProperties.aggregate_contacts().orElse(true));
mSearchIndexManager = new SearchIndexManager(this);
mContactsPhotoStore = new PhotoStore(getContext().getFilesDir(), mContactsHelper);
mProfilePhotoStore =
@@ -5232,9 +5218,8 @@ public class ContactsProvider2 extends AbstractContactsProvider
if (!haveAccountsChanged(systemAccounts)) {
return false;
}
- if ("1".equals(SystemProperties.get(DEBUG_PROPERTY_KEEP_STALE_ACCOUNT_DATA))) {
- Log.w(TAG, "Accounts changed, but not removing stale data for " +
- DEBUG_PROPERTY_KEEP_STALE_ACCOUNT_DATA);
+ if (ContactsProperties.keep_stale_account_data().orElse(false)) {
+ Log.w(TAG, "Accounts changed, but not removing stale data for debug.contacts.ksad");
return true;
}
Log.i(TAG, "Accounts changed");
diff --git a/src/com/android/providers/contacts/PhotoProcessor.java b/src/com/android/providers/contacts/PhotoProcessor.java
index b49e7924..643d92df 100644
--- a/src/com/android/providers/contacts/PhotoProcessor.java
+++ b/src/com/android/providers/contacts/PhotoProcessor.java
@@ -22,7 +22,7 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
-import android.os.SystemProperties;
+import android.sysprop.ContactsProperties;
import com.android.providers.contacts.util.MemoryUtils;
import com.google.common.annotations.VisibleForTesting;
@@ -61,11 +61,10 @@ import java.io.IOException;
final boolean isExpensiveDevice =
MemoryUtils.getTotalMemorySize() >= PhotoSizes.LARGE_RAM_THRESHOLD;
- sMaxThumbnailDim = SystemProperties.getInt(
- PhotoSizes.SYS_PROPERTY_THUMBNAIL_SIZE, PhotoSizes.DEFAULT_THUMBNAIL);
+ sMaxThumbnailDim = ContactsProperties.thumbnail_size().orElse(
+ PhotoSizes.DEFAULT_THUMBNAIL);
- sMaxDisplayPhotoDim = SystemProperties.getInt(
- PhotoSizes.SYS_PROPERTY_DISPLAY_PHOTO_SIZE,
+ sMaxDisplayPhotoDim = ContactsProperties.display_photo_size().orElse(
isExpensiveDevice
? PhotoSizes.DEFAULT_DISPLAY_PHOTO_LARGE_MEMORY
: PhotoSizes.DEFAULT_DISPLAY_PHOTO_MEMORY_CONSTRAINED);
@@ -95,12 +94,6 @@ import java.io.IOException;
* photos
*/
public static final int LARGE_RAM_THRESHOLD = 640 * 1024 * 1024;
-
- /** If present, overrides the size given in {@link #DEFAULT_THUMBNAIL} */
- public static final String SYS_PROPERTY_THUMBNAIL_SIZE = "contacts.thumbnail_size";
-
- /** If present, overrides the size determined for the display photo */
- public static final String SYS_PROPERTY_DISPLAY_PHOTO_SIZE = "contacts.display_photo_size";
}
private final int mMaxDisplayPhotoDim;