summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-01-24 03:29:05 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-01-24 03:29:05 -0800
commit11a7d2258ad36f6affe5b21e6aa8ca778f9e2f5d (patch)
treed903cefc4f4a65460ac287d5db705283f634c328
parent9cd37497ef51ef5ecee4f64ecc83286dd44494d2 (diff)
parent4fecdb4056347d36c3a3322f6747df46a5fb6bdd (diff)
downloadpackages_apps_Contacts-11a7d2258ad36f6affe5b21e6aa8ca778f9e2f5d.tar.gz
packages_apps_Contacts-11a7d2258ad36f6affe5b21e6aa8ca778f9e2f5d.tar.bz2
packages_apps_Contacts-11a7d2258ad36f6affe5b21e6aa8ca778f9e2f5d.zip
Merge "Contacts: fix exporting SIM contacts the first time"
-rw-r--r--src/com/android/contacts/quickcontact/QuickContactActivity.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 266f9dc3a..c2b6fa275 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -35,6 +35,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
+import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
@@ -78,6 +79,7 @@ import android.provider.ContactsContract.RawContacts;
import android.support.v7.graphics.Palette;
import android.telecom.PhoneAccount;
import android.telecom.TelecomManager;
+import android.telephony.SubscriptionManager;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
@@ -2694,6 +2696,29 @@ public class QuickContactActivity extends ContactsActivity {
int adnCountInSimContact = 1;
int anrCountInSimContact = 0;
int emailCountInSimContact = 0;
+
+ Cursor cr = null;
+ // call query first, otherwise the count queries will fail
+ try{
+ long[] subId = SubscriptionManager.getSubId(sub);
+ if (subId != null
+ && TelephonyManager.getDefault().isMultiSimEnabled()) {
+ cr = getContentResolver().query(
+ Uri.parse(SimContactsConstants.SIM_SUB_URI
+ + subId[0]), null, null, null, null);
+ } else {
+ cr = getContentResolver().query(
+ Uri.parse(SimContactsConstants.SIM_URI), null,
+ null, null, null);
+ }
+ } catch (NullPointerException e) {
+ Log.e(TAG, "Exception:" + e);
+ } finally {
+ if (cr != null) {
+ cr.close();
+ }
+ }
+
if (MoreContactUtils.canSaveAnr(sub)) {
anrCountInSimContact = MoreContactUtils.getOneSimAnrCount(sub);
}