summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaj Yengisetty <rajesh@cyngn.com>2014-12-08 12:34:42 -0800
committerRaj Yengisetty <rajesh@cyngn.com>2014-12-10 10:52:01 -0800
commit0e855487ae4a5424a2e30ddcac9ea27aa96f1a15 (patch)
treeb12d60bf98799f1e1afbe2f11f67afd4b3d47e1d
parent5fafde9421fff8a00524ea3d1dade6ccb574643e (diff)
downloadpackages_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-xres/values/config.xml1
-rwxr-xr-xsrc/com/android/contacts/activities/PeopleActivity.java50
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