Merge 6b6862135687b303362f0a5ce44209a8748ff379 on remote branch
Change-Id: I3129d1817fd63022c3c070b0d47cd0dcd8e48ea0
diff --git a/src/com/android/contacts/common/CallUtil.java b/src/com/android/contacts/common/CallUtil.java
index d253a4d..3a2bd5b 100644
--- a/src/com/android/contacts/common/CallUtil.java
+++ b/src/com/android/contacts/common/CallUtil.java
@@ -209,11 +209,12 @@
*
* @param context The context, enable.
*/
- public static void saveVideoCallConfig(Context context, boolean enable) {
+ public static boolean saveVideoCallConfig(Context context, boolean enable) {
if(Settings.System.canWrite(context)) {
- Settings.System.putInt(context.getContentResolver(),
+ return Settings.System.putInt(context.getContentResolver(),
CONFIG_VIDEO_CALLING,enable?ENABLE_VIDEO_CALLING:DISABLE_VIDEO_CALLING);
}
+ return false;
}
/**
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 9da8c0b..0bc0132
--- a/src/com/android/contacts/common/vcard/ImportVCardActivity.java
+++ b/src/com/android/contacts/common/vcard/ImportVCardActivity.java
@@ -110,6 +110,8 @@
private Handler mHandler = new Handler();
+ private boolean mBind = false;
+
// Runs on the UI thread.
private class DialogDisplayer implements Runnable {
private final int mResId;
@@ -153,14 +155,18 @@
@Override
public void onServiceConnected(ComponentName name, IBinder binder) {
mService = ((VCardService.MyBinder) binder).getService();
- Log.i(LOG_TAG,
- String.format("Connected to VCardService. Kick a vCard cache thread (uri: %s)",
- Arrays.toString(mVCardCacheThread.getSourceUris())));
- mVCardCacheThread.start();
+ mBind = true;
+ 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
public void onServiceDisconnected(ComponentName name) {
+ mBind = false;
Log.i(LOG_TAG, "Disconnected from VCardService");
}
}
@@ -284,9 +290,10 @@
} 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 +773,13 @@
}
});
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mBind) {
+ unbindService(mConnection);
+ mBind = false;
+ }
+ }
}