am 27c1a728: am f610bd78: Fix race conditions for camera prewarm service

* commit '27c1a728c8dd5d9b6051d4169eb47ef16c31e5a7':
  Fix race conditions for camera prewarm service
This commit is contained in:
Jorim Jaggi
2015-08-19 01:13:37 +00:00
committed by Android Git Automerger

View File

@@ -113,12 +113,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;
}
};
@@ -384,8 +382,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);
@@ -396,7 +396,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));