diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 42a2f9080fbd5..9af8ab7aa7ee3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -115,12 +115,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL @Override public void onServiceConnected(ComponentName name, IBinder service) { mPrewarmMessenger = new Messenger(service); - mPrewarmBound = true; } @Override public void onServiceDisconnected(ComponentName name) { - mPrewarmBound = false; mPrewarmMessenger = null; } }; @@ -386,8 +384,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL serviceIntent.setClassName(targetInfo.packageName, clazz); serviceIntent.setAction(CameraPrewarmService.ACTION_PREWARM); try { - getContext().bindServiceAsUser(serviceIntent, mPrewarmConnection, - Context.BIND_AUTO_CREATE, new UserHandle(UserHandle.USER_CURRENT)); + if (getContext().bindServiceAsUser(serviceIntent, mPrewarmConnection, + Context.BIND_AUTO_CREATE, new UserHandle(UserHandle.USER_CURRENT))) { + mPrewarmBound = true; + } } catch (SecurityException e) { Log.w(TAG, "Unable to bind to prewarm service package=" + targetInfo.packageName + " class=" + clazz, e); @@ -398,7 +398,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL public void unbindCameraPrewarmService(boolean launched) { if (mPrewarmBound) { - if (launched) { + if (mPrewarmMessenger != null && launched) { try { mPrewarmMessenger.send(Message.obtain(null /* handler */, CameraPrewarmService.MSG_CAMERA_FIRED));