diff options
author | Wink Saville <wink@google.com> | 2014-11-22 10:10:40 -0800 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2014-11-22 10:10:40 -0800 |
commit | ff95fe1ca9cc570acc41c9335a6cdeecfd851e44 (patch) | |
tree | 51ef90fa88c478d5b8049682bc5cdc29347b76fc /src | |
parent | 426b4719d8c1d42990225fc49c3851112471f098 (diff) | |
download | android_packages_apps_ContactsCommon-ff95fe1ca9cc570acc41c9335a6cdeecfd851e44.tar.gz android_packages_apps_ContactsCommon-ff95fe1ca9cc570acc41c9335a6cdeecfd851e44.tar.bz2 android_packages_apps_ContactsCommon-ff95fe1ca9cc570acc41c9335a6cdeecfd851e44.zip |
Additional changes to SubscriptionManager API as per API council.
bug: 17575308
Change-Id: Idd98aa46c15a9219ccf28091c62602ac8bf16c62
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/contacts/common/interactions/ImportExportDialogFragment.java | 46 | ||||
-rw-r--r-- | src/com/android/contacts/common/util/AccountSelectionUtil.java | 2 |
2 files changed, 17 insertions, 31 deletions
diff --git a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java index 0de0be30..fc6e4602 100644 --- a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java +++ b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java @@ -69,6 +69,8 @@ public class ImportExportDialogFragment extends DialogFragment Contacts.LOOKUP_KEY }; + private SubscriptionManager mSubscriptionManager; + /** Preferred way to show this dialog */ public static void show(FragmentManager fragmentManager, boolean contactsAreAvailable, Class callingActivity) { @@ -112,19 +114,24 @@ public class ImportExportDialogFragment extends DialogFragment final TelephonyManager manager = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); + mSubscriptionManager = SubscriptionManager.from(getActivity()); + if (res.getBoolean(R.bool.config_allow_import_from_sdcard)) { adapter.add(new AdapterEntry(getString(R.string.import_from_sdcard), R.string.import_from_sdcard)); } if (manager != null && res.getBoolean(R.bool.config_allow_sim_import)) { - final List<SubscriptionInfo> subInfoRecords = getAllSubInfoList(); - if (subInfoRecords.size() == 1) { - adapter.add(new AdapterEntry(getString(R.string.import_from_sim), - R.string.import_from_sim, subInfoRecords.get(0).getSubscriptionId())); - } else { - for (SubscriptionInfo record : subInfoRecords) { - adapter.add(new AdapterEntry(getSubDescription(record), - R.string.import_from_sim, record.getSubscriptionId())); + final List<SubscriptionInfo> subInfoRecords = + mSubscriptionManager.getActiveSubscriptionInfoList(); + if (subInfoRecords != null) { + if (subInfoRecords.size() == 1) { + adapter.add(new AdapterEntry(getString(R.string.import_from_sim), + R.string.import_from_sim, subInfoRecords.get(0).getSubscriptionId())); + } else { + for (SubscriptionInfo record : subInfoRecords) { + adapter.add(new AdapterEntry(getSubDescription(record), + R.string.import_from_sim, record.getSubscriptionId())); + } } } } @@ -272,27 +279,6 @@ public class ImportExportDialogFragment extends DialogFragment dismiss(); } - /** - * Return the same values as {@link SubscriptionManager#getAllSubscriptionInfoList()} without relying - * on any hidden methods. - */ - // TODO: replace with a method that doesn't make assumptions about the number of SIM slots - private static List<SubscriptionInfo> getAllSubInfoList() { - final List<SubscriptionInfo> subInfoRecords0 = SubscriptionManager.getSubscriptionInfoUsingSlotId(0); - final List<SubscriptionInfo> subInfoRecords1 = SubscriptionManager.getSubscriptionInfoUsingSlotId(1); - if (subInfoRecords0 == null && subInfoRecords1 != null) { - return subInfoRecords1; - } - if (subInfoRecords0 != null && subInfoRecords1 == null) { - return subInfoRecords0; - } - if (subInfoRecords0 == null && subInfoRecords1 == null) { - return Collections.EMPTY_LIST; - } - subInfoRecords0.addAll(subInfoRecords1); - return subInfoRecords0; - } - private String getSubDescription(SubscriptionInfo record) { CharSequence name = record.getDisplayName(); if (TextUtils.isEmpty(record.getNumber())) { @@ -314,7 +300,7 @@ public class ImportExportDialogFragment extends DialogFragment } public AdapterEntry(String label, int resId) { - this(label, resId, SubscriptionManager.INVALID_SUB_ID); + this(label, resId, SubscriptionManager.INVALID_SUBSCRIPTION_ID); } } } diff --git a/src/com/android/contacts/common/util/AccountSelectionUtil.java b/src/com/android/contacts/common/util/AccountSelectionUtil.java index da30e89a..c3780410 100644 --- a/src/com/android/contacts/common/util/AccountSelectionUtil.java +++ b/src/com/android/contacts/common/util/AccountSelectionUtil.java @@ -74,7 +74,7 @@ public class AccountSelectionUtil { int resId) { // Subscription id is only needed for importing from SIM card. We can safely ignore // its value for SD card importing. - this(context, accountList, resId, SubscriptionManager.INVALID_SUB_ID); + this(context, accountList, resId, SubscriptionManager.INVALID_SUBSCRIPTION_ID); } public void onClick(DialogInterface dialog, int which) { |