diff options
author | Raj Yengisetty <rajesh@cyngn.com> | 2014-12-08 12:34:42 -0800 |
---|---|---|
committer | Raj Yengisetty <rajesh@cyngn.com> | 2014-12-10 10:52:01 -0800 |
commit | 0e855487ae4a5424a2e30ddcac9ea27aa96f1a15 (patch) | |
tree | b12d60bf98799f1e1afbe2f11f67afd4b3d47e1d | |
parent | 5fafde9421fff8a00524ea3d1dade6ccb574643e (diff) | |
download | packages_apps_Contacts-0e855487ae4a5424a2e30ddcac9ea27aa96f1a15.tar.gz packages_apps_Contacts-0e855487ae4a5424a2e30ddcac9ea27aa96f1a15.tar.bz2 packages_apps_Contacts-0e855487ae4a5424a2e30ddcac9ea27aa96f1a15.zip |
Import feature - auto prompt for importing SIM contacts
Change-Id: Ic7e039d35c0198855e910ecd7fe6e945b4b45302
-rwxr-xr-x | res/values/config.xml | 1 | ||||
-rwxr-xr-x | src/com/android/contacts/activities/PeopleActivity.java | 50 |
2 files changed, 51 insertions, 0 deletions
diff --git a/res/values/config.xml b/res/values/config.xml index 5278e7df7..4cfe770aa 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -16,4 +16,5 @@ <resources> <!-- CMCC feature --> <bool name="config_show_quick_call_button">false</bool> + <bool name="config_show_sms_import_dialog">false</bool> </resources> diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java index 4e2636224..424cb9eb2 100755 --- a/src/com/android/contacts/activities/PeopleActivity.java +++ b/src/com/android/contacts/activities/PeopleActivity.java @@ -39,6 +39,8 @@ import android.preference.PreferenceManager; import android.support.v13.app.FragmentPagerAdapter; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; +import android.telephony.TelephonyManager; +import android.telephony.SubscriptionManager; import android.text.TextUtils; import android.util.Log; import android.view.KeyCharacterMap; @@ -57,8 +59,11 @@ import com.android.contacts.ContactsActivity; import com.android.contacts.R; import com.android.contacts.activities.ActionBarAdapter.TabState; import com.android.contacts.common.ContactsUtils; +import com.android.contacts.common.MoreContactUtils; import com.android.contacts.common.dialog.ClearFrequentsDialog; import com.android.contacts.common.editor.SelectAccountDialogFragment; +import com.android.contacts.common.interactions.ImportSIMContactsDialogFragment; +import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.group.GroupBrowseListFragment; import com.android.contacts.group.GroupBrowseListFragment.OnGroupBrowserActionListener; import com.android.contacts.group.GroupDetailFragment; @@ -478,6 +483,51 @@ public class PeopleActivity extends ContactsActivity implements // Current tab may have changed since the last onSaveInstanceState(). Make sure // the actual contents match the tab. updateFragmentsVisibility(); + + // Check if SIM Contacts reload is necessary + checkSIMContacts(); + } + + private void checkSIMContacts() { + boolean showImport = getResources().getBoolean(R.bool.config_show_sms_import_dialog); + + if (showImport) { + // SIM Serial Number + ContactsPreferences contactPrefs = new ContactsPreferences(this); + String[] sims = contactPrefs.getImportedSims(); + boolean shouldImport = false; + int count = MoreContactUtils.getEnabledSimCount(); + for (int i = 0; i < count; i++) { + boolean simImported = false; + if (TelephonyManager.SIM_STATE_READY == TelephonyManager + .getDefault().getSimState(i)) { + long[] subId = SubscriptionManager.getSubId(i); + if (subId == null) { + continue; + } + String simSN = TelephonyManager.getDefault().getSimSerialNumber( + subId[0]); + + for (String sn : sims) { + if (sn.equals(simSN)) { + simImported = true; + break; + } + } + + if (!simImported) { + shouldImport = true; + contactPrefs.addImportedSims(simSN); + } + } + } + + if (shouldImport) { + ImportSIMContactsDialogFragment dialogFragment = new + ImportSIMContactsDialogFragment(); + dialogFragment.show(getFragmentManager(), PeopleActivity.class.getName()); + } + } } @Override |