From 62c32c9e790513e3c1e88f18fdc130324c218b3c Mon Sep 17 00:00:00 2001 From: blong Date: Wed, 12 Oct 2016 14:36:11 +0800 Subject: Fix can export sim contact number more than 40 digits - Remove the auto intercept when export sim contacts Change-Id: Ie307c91d74749831d0d2cc3340c0a25613a554aa CRs-Fixed: 1076330 --- src/com/android/contacts/common/MoreContactUtils.java | 4 ---- .../common/interactions/ImportExportDialogFragment.java | 10 ---------- 2 files changed, 14 deletions(-) diff --git a/src/com/android/contacts/common/MoreContactUtils.java b/src/com/android/contacts/common/MoreContactUtils.java index 0c29f722..77f2bdab 100755 --- a/src/com/android/contacts/common/MoreContactUtils.java +++ b/src/com/android/contacts/common/MoreContactUtils.java @@ -674,10 +674,6 @@ public class MoreContactUtils { mValues.put(SimContactsConstants.STR_TAG, name); if (!TextUtils.isEmpty(number)) { number = PhoneNumberUtils.stripSeparators(number); - if (number.length() > MAX_LENGTH_NUMBER_IN_SIM) { - number = number.substring(0, MAX_LENGTH_NUMBER_IN_SIM); - } - mValues.put(SimContactsConstants.STR_NUMBER, number); } if (!TextUtils.isEmpty(emails)) { diff --git a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java index 6477f66e..c231ab23 100755 --- a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java +++ b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java @@ -624,11 +624,6 @@ public class ImportExportDialogFragment extends DialogFragment for (int j = 1; j < phoneCountInOneSimContact; j++) { if (arrayNumber.size() > 0 && emptyAnr-- > 0 ) { String s = arrayNumber.remove(0); - if (s.length() > MoreContactUtils - .MAX_LENGTH_NUMBER_IN_SIM) { - s = s.substring(0, - MoreContactUtils.MAX_LENGTH_NUMBER_IN_SIM); - } anrNum.append(s); anrNum.append(SimContactsConstants.ANR_SEP); } @@ -638,11 +633,6 @@ public class ImportExportDialogFragment extends DialogFragment for (int j = 0; j < emailCountInOneSimContact; j++) { if (arrayEmail.size() > 0) { String s = arrayEmail.remove(0); - if (s.length() > MoreContactUtils - .MAX_LENGTH_EMAIL_IN_SIM) { - s = s.substring(0, - MoreContactUtils.MAX_LENGTH_EMAIL_IN_SIM); - } email.append(s); email.append(SimContactsConstants.EMAIL_SEP); } -- cgit v1.2.3 From 948ce3f48600d5c00ce332835338cedfd78ef8cd Mon Sep 17 00:00:00 2001 From: blong Date: Fri, 21 Oct 2016 16:58:54 +0800 Subject: Fix ServiceConnectionLeaked during import vcard - Service registered when activity create but not unregister when activity destroy, it will cause ServiceConnectionLeaked after rotate screen. CRs-Fixed: 1080625 Change-Id: Ia0fe990bc96fee8b448caf697a5c5aaa275a7b13 --- .../contacts/common/vcard/ImportVCardActivity.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) mode change 100644 => 100755 src/com/android/contacts/common/vcard/ImportVCardActivity.java diff --git a/src/com/android/contacts/common/vcard/ImportVCardActivity.java b/src/com/android/contacts/common/vcard/ImportVCardActivity.java old mode 100644 new mode 100755 index 9da8c0b7..eaacb600 --- a/src/com/android/contacts/common/vcard/ImportVCardActivity.java +++ b/src/com/android/contacts/common/vcard/ImportVCardActivity.java @@ -110,6 +110,8 @@ public class ImportVCardActivity extends Activity { private Handler mHandler = new Handler(); + private boolean mBind = false; + // Runs on the UI thread. private class DialogDisplayer implements Runnable { private final int mResId; @@ -153,6 +155,7 @@ public class ImportVCardActivity extends Activity { @Override public void onServiceConnected(ComponentName name, IBinder binder) { mService = ((VCardService.MyBinder) binder).getService(); + mBind = true; Log.i(LOG_TAG, String.format("Connected to VCardService. Kick a vCard cache thread (uri: %s)", Arrays.toString(mVCardCacheThread.getSourceUris()))); @@ -161,6 +164,7 @@ public class ImportVCardActivity extends Activity { @Override public void onServiceDisconnected(ComponentName name) { + mBind = false; Log.i(LOG_TAG, "Disconnected from VCardService"); } } @@ -284,9 +288,10 @@ public class ImportVCardActivity extends Activity { } finally { Log.i(LOG_TAG, "Finished caching vCard."); mWakeLock.release(); - unbindService(mConnection); - mProgressDialogForCachingVCard.dismiss(); - mProgressDialogForCachingVCard = null; + if (mProgressDialogForCachingVCard != null) { + mProgressDialogForCachingVCard.dismiss(); + mProgressDialogForCachingVCard = null; + } finish(); } } @@ -766,4 +771,13 @@ public class ImportVCardActivity extends Activity { } }); } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (mBind) { + unbindService(mConnection); + mBind = false; + } + } } -- cgit v1.2.3 From 62fc22f0135ab3c71d92056fadb1fb6220e80bf4 Mon Sep 17 00:00:00 2001 From: blong Date: Mon, 24 Oct 2016 16:04:48 +0800 Subject: Fix NullPointerException during import vcard - During import vcard and switch to split mode, activity may destroy before service connected, so need add null judge when service connect CRs-Fixed: 1081360 Change-Id: Ia1514717b80172c949f112d8f1939d28734d0989 --- src/com/android/contacts/common/vcard/ImportVCardActivity.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/android/contacts/common/vcard/ImportVCardActivity.java b/src/com/android/contacts/common/vcard/ImportVCardActivity.java index eaacb600..0bc0132b 100755 --- a/src/com/android/contacts/common/vcard/ImportVCardActivity.java +++ b/src/com/android/contacts/common/vcard/ImportVCardActivity.java @@ -156,10 +156,12 @@ public class ImportVCardActivity extends Activity { public void onServiceConnected(ComponentName name, IBinder binder) { mService = ((VCardService.MyBinder) binder).getService(); mBind = true; - Log.i(LOG_TAG, - String.format("Connected to VCardService. Kick a vCard cache thread (uri: %s)", - Arrays.toString(mVCardCacheThread.getSourceUris()))); - mVCardCacheThread.start(); + if (mVCardCacheThread != null) { + Log.i(LOG_TAG, String.format( + "Connected to VCardService. Kick a vCard cache thread (uri: %s)", + Arrays.toString(mVCardCacheThread.getSourceUris()))); + mVCardCacheThread.start(); + } } @Override -- cgit v1.2.3