am ceb87a66: am 6f6facc1: Merge "Ignoring FUL unlock signal if user changed fixes b/7572354" into jb-mr1.1-dev

* commit 'ceb87a664fdcfa08f98238bfe41fc3a03603cbf8':
  Ignoring FUL unlock signal if user changed fixes b/7572354
This commit is contained in:
Brian Colonna
2012-11-29 12:45:18 -08:00
committed by Android Git Automerger

View File

@@ -31,6 +31,7 @@ import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.UserHandle;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
@@ -214,7 +215,7 @@ public class FaceUnlock implements BiometricSensorUnlock, Handler.Callback {
handleServiceDisconnected(); handleServiceDisconnected();
break; break;
case MSG_UNLOCK: case MSG_UNLOCK:
handleUnlock(); handleUnlock(msg.arg1);
break; break;
case MSG_CANCEL: case MSG_CANCEL:
handleCancel(); handleCancel();
@@ -297,11 +298,18 @@ public class FaceUnlock implements BiometricSensorUnlock, Handler.Callback {
/** /**
* Stops the Face Unlock service and tells the device to grant access to the user. * Stops the Face Unlock service and tells the device to grant access to the user.
*/ */
void handleUnlock() { void handleUnlock(int authenticatedUserId) {
if (DEBUG) Log.d(TAG, "handleUnlock()"); if (DEBUG) Log.d(TAG, "handleUnlock()");
stop(); stop();
mKeyguardScreenCallback.reportSuccessfulUnlockAttempt(); int currentUserId = mLockPatternUtils.getCurrentUser();
mKeyguardScreenCallback.dismiss(true); if (authenticatedUserId == currentUserId) {
if (DEBUG) Log.d(TAG, "Unlocking for user " + authenticatedUserId);
mKeyguardScreenCallback.reportSuccessfulUnlockAttempt();
mKeyguardScreenCallback.dismiss(true);
} else {
Log.d(TAG, "Ignoring unlock for authenticated user (" + authenticatedUserId +
") because the current user is " + currentUserId);
}
} }
/** /**
@@ -420,7 +428,8 @@ public class FaceUnlock implements BiometricSensorUnlock, Handler.Callback {
*/ */
public void unlock() { public void unlock() {
if (DEBUG) Log.d(TAG, "unlock()"); if (DEBUG) Log.d(TAG, "unlock()");
mHandler.sendEmptyMessage(MSG_UNLOCK); Message message = mHandler.obtainMessage(MSG_UNLOCK, UserHandle.getCallingUserId(), -1);
mHandler.sendMessage(message);
} }
/** /**