framework: SystemUI: add tracing to Keyguard
am: 1d3967506e
Change-Id: Ie889e05bc24230ea9779ca63003908c90be85d43
This commit is contained in:
@@ -50,6 +50,7 @@ import android.os.IRemoteCallback;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteException;
|
||||
import android.os.SystemClock;
|
||||
import android.os.Trace;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
@@ -259,10 +260,14 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
handleFinishedGoingToSleep(msg.arg1);
|
||||
break;
|
||||
case MSG_STARTED_WAKING_UP:
|
||||
Trace.beginSection("KeyguardUpdateMonitor#handler MSG_STARTED_WAKING_UP");
|
||||
handleStartedWakingUp();
|
||||
Trace.endSection();
|
||||
break;
|
||||
case MSG_FACE_UNLOCK_STATE_CHANGED:
|
||||
Trace.beginSection("KeyguardUpdateMonitor#handler MSG_FACE_UNLOCK_STATE_CHANGED");
|
||||
handleFaceUnlockStateChanged(msg.arg1 != 0, msg.arg2);
|
||||
Trace.endSection();
|
||||
break;
|
||||
case MSG_SIM_SUBSCRIPTION_INFO_CHANGED:
|
||||
handleSimSubscriptionInfoChanged();
|
||||
@@ -277,7 +282,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
handleScreenTurnedOn();
|
||||
break;
|
||||
case MSG_SCREEN_TURNED_OFF:
|
||||
Trace.beginSection("KeyguardUpdateMonitor#handler MSG_SCREEN_TURNED_ON");
|
||||
handleScreenTurnedOff();
|
||||
Trace.endSection();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -399,6 +406,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
}
|
||||
|
||||
private void onFingerprintAuthenticated(int userId) {
|
||||
Trace.beginSection("KeyGuardUpdateMonitor#onFingerPrintAuthenticated");
|
||||
mUserFingerprintAuthenticated.put(userId, true);
|
||||
|
||||
// If fingerprint unlocking is allowed, this event will lead to a Keyguard dismiss or to a
|
||||
@@ -411,6 +419,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
cb.onFingerprintAuthenticated(userId);
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleFingerprintAuthFailed() {
|
||||
@@ -436,6 +445,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
}
|
||||
|
||||
private void handleFingerprintAuthenticated() {
|
||||
Trace.beginSection("KeyGuardUpdateMonitor#handlerFingerPrintAuthenticated");
|
||||
try {
|
||||
final int userId;
|
||||
try {
|
||||
@@ -452,6 +462,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
} finally {
|
||||
setFingerprintRunningState(FINGERPRINT_STATE_STOPPED);
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleFingerprintHelp(int msgId, String helpString) {
|
||||
@@ -690,8 +701,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
mHandler.sendMessage(mHandler.obtainMessage(MSG_USER_INFO_CHANGED,
|
||||
intent.getIntExtra(Intent.EXTRA_USER_HANDLE, getSendingUserId()), 0));
|
||||
} else if (ACTION_FACE_UNLOCK_STARTED.equals(action)) {
|
||||
Trace.beginSection("KeyguardUpdateMonitor.mBroadcastAllReceiver#onReceive ACTION_FACE_UNLOCK_STARTED");
|
||||
mHandler.sendMessage(mHandler.obtainMessage(MSG_FACE_UNLOCK_STATE_CHANGED, 1,
|
||||
getSendingUserId()));
|
||||
Trace.endSection();
|
||||
} else if (ACTION_FACE_UNLOCK_STOPPED.equals(action)) {
|
||||
mHandler.sendMessage(mHandler.obtainMessage(MSG_FACE_UNLOCK_STATE_CHANGED, 0,
|
||||
getSendingUserId()));
|
||||
@@ -731,7 +744,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
|
||||
@Override
|
||||
public void onAuthenticationSucceeded(AuthenticationResult result) {
|
||||
Trace.beginSection("KeyguardUpdateMonitor#onAuthenticationSucceeded");
|
||||
handleFingerprintAuthenticated();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -906,6 +921,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
}
|
||||
|
||||
protected void handleStartedWakingUp() {
|
||||
Trace.beginSection("KeyguardUpdateMonitor#handleStartedWakingUp");
|
||||
updateFingerprintListeningState();
|
||||
final int count = mCallbacks.size();
|
||||
for (int i = 0; i < count; i++) {
|
||||
@@ -914,6 +930,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
cb.onStartedWakingUp();
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
protected void handleStartedGoingToSleep(int arg1) {
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.os.Bundle;
|
||||
import android.os.Debug;
|
||||
import android.os.IBinder;
|
||||
import android.os.Process;
|
||||
import android.os.Trace;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.policy.IKeyguardDrawnCallback;
|
||||
@@ -73,21 +74,27 @@ public class KeyguardService extends Service {
|
||||
|
||||
@Override // Binder interface
|
||||
public void verifyUnlock(IKeyguardExitCallback callback) {
|
||||
Trace.beginSection("KeyguardService.mBinder#verifyUnlock");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.verifyUnlock(callback);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
public void keyguardDone(boolean authenticated, boolean wakeup) {
|
||||
Trace.beginSection("KeyguardService.mBinder#keyguardDone");
|
||||
checkPermission();
|
||||
// TODO: Remove wakeup
|
||||
mKeyguardViewMediator.keyguardDone(authenticated);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
public void setOccluded(boolean isOccluded) {
|
||||
Trace.beginSection("KeyguardService.mBinder#setOccluded");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.setOccluded(isOccluded);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
@@ -122,20 +129,26 @@ public class KeyguardService extends Service {
|
||||
|
||||
@Override // Binder interface
|
||||
public void onStartedWakingUp() {
|
||||
Trace.beginSection("KeyguardService.mBinder#onStartedWakingUp");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.onStartedWakingUp();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
public void onScreenTurningOn(IKeyguardDrawnCallback callback) {
|
||||
Trace.beginSection("KeyguardService.mBinder#onScreenTurningOn");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.onScreenTurningOn(callback);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
public void onScreenTurnedOn() {
|
||||
Trace.beginSection("KeyguardService.mBinder#onScreenTurningOn");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.onScreenTurnedOn();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
@@ -152,8 +165,10 @@ public class KeyguardService extends Service {
|
||||
|
||||
@Override // Binder interface
|
||||
public void onSystemReady() {
|
||||
Trace.beginSection("KeyguardService.mBinder#onSystemReady");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.onSystemReady();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
@@ -176,8 +191,10 @@ public class KeyguardService extends Service {
|
||||
|
||||
@Override
|
||||
public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) {
|
||||
Trace.beginSection("KeyguardService.mBinder#startKeyguardExitAnimation");
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.startKeyguardExitAnimation(startTime, fadeoutDuration);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -42,6 +42,7 @@ import android.os.PowerManager;
|
||||
import android.os.RemoteException;
|
||||
import android.os.SystemClock;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.Trace;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.os.storage.StorageManager;
|
||||
@@ -520,7 +521,9 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
|
||||
@Override
|
||||
public void keyguardDoneDrawing() {
|
||||
Trace.beginSection("KeyguardViewMediator.mViewMediatorCallback#keyguardDoneDrawing");
|
||||
mHandler.sendEmptyMessage(KEYGUARD_DONE_DRAWING);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -530,6 +533,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
|
||||
@Override
|
||||
public void keyguardDonePending(boolean strongAuth) {
|
||||
Trace.beginSection("KeyguardViewMediator.mViewMediatorCallback#keyguardDonePending");
|
||||
mKeyguardDonePending = true;
|
||||
mHideAnimationRun = true;
|
||||
mStatusBarKeyguardViewManager.startPreHideAnimation(null /* finishRunnable */);
|
||||
@@ -538,20 +542,25 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
if (strongAuth) {
|
||||
mUpdateMonitor.reportSuccessfulStrongAuthUnlockAttempt();
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyguardGone() {
|
||||
Trace.beginSection("KeyguardViewMediator.mViewMediatorCallback#keyguardGone");
|
||||
mKeyguardDisplayManager.hide();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readyForKeyguardDone() {
|
||||
Trace.beginSection("KeyguardViewMediator.mViewMediatorCallback#readyForKeyguardDone");
|
||||
if (mKeyguardDonePending) {
|
||||
// Somebody has called keyguardDonePending before, which means that we are
|
||||
// authenticated
|
||||
KeyguardViewMediator.this.keyguardDone(true /* authenticated */);
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -892,6 +901,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* Let's us know when the device is waking up.
|
||||
*/
|
||||
public void onStartedWakingUp() {
|
||||
Trace.beginSection("KeyguardViewMediator#onStartedWakingUp");
|
||||
|
||||
// TODO: Rename all screen off/on references to interactive/sleeping
|
||||
synchronized (this) {
|
||||
@@ -903,15 +913,20 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
KeyguardUpdateMonitor.getInstance(mContext).dispatchStartedWakingUp();
|
||||
maybeSendUserPresentBroadcast();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void onScreenTurningOn(IKeyguardDrawnCallback callback) {
|
||||
Trace.beginSection("KeyguardViewMediator#onScreenTurningOn");
|
||||
notifyScreenOn(callback);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void onScreenTurnedOn() {
|
||||
Trace.beginSection("KeyguardViewMediator#onScreenTurnedOn");
|
||||
notifyScreenTurnedOn();
|
||||
mUpdateMonitor.dispatchScreenTurnedOn();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void onScreenTurnedOff() {
|
||||
@@ -1025,6 +1040,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see android.app.KeyguardManager#exitKeyguardSecurely
|
||||
*/
|
||||
public void verifyUnlock(IKeyguardExitCallback callback) {
|
||||
Trace.beginSection("KeyguardViewMediator#verifyUnlock");
|
||||
synchronized (this) {
|
||||
if (DEBUG) Log.d(TAG, "verifyUnlock");
|
||||
if (shouldWaitForProvisioning()) {
|
||||
@@ -1075,6 +1091,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1088,16 +1105,19 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* Notify us when the keyguard is occluded by another window
|
||||
*/
|
||||
public void setOccluded(boolean isOccluded) {
|
||||
Trace.beginSection("KeyguardViewMediator#setOccluded");
|
||||
if (DEBUG) Log.d(TAG, "setOccluded " + isOccluded);
|
||||
mHandler.removeMessages(SET_OCCLUDED);
|
||||
Message msg = mHandler.obtainMessage(SET_OCCLUDED, (isOccluded ? 1 : 0), 0);
|
||||
mHandler.sendMessage(msg);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles SET_OCCLUDED message sent by setOccluded()
|
||||
*/
|
||||
private void handleSetOccluded(boolean isOccluded) {
|
||||
Trace.beginSection("KeyguardViewMediator#handleSetOccluded");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
if (mHiding && isOccluded) {
|
||||
// We're in the process of going away but WindowManager wants to show a
|
||||
@@ -1112,6 +1132,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
adjustStatusBarLocked();
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1300,11 +1321,13 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #handleShow
|
||||
*/
|
||||
private void showLocked(Bundle options) {
|
||||
Trace.beginSection("KeyguardViewMediator#showLocked aqcuiring mShowKeyguardWakeLock");
|
||||
if (DEBUG) Log.d(TAG, "showLocked");
|
||||
// ensure we stay awake until we are finished displaying the keyguard
|
||||
mShowKeyguardWakeLock.acquire();
|
||||
Message msg = mHandler.obtainMessage(SHOW, options);
|
||||
mHandler.sendMessage(msg);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1312,9 +1335,11 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #handleHide()
|
||||
*/
|
||||
private void hideLocked() {
|
||||
Trace.beginSection("KeyguardViewMediator#hideLocked");
|
||||
if (DEBUG) Log.d(TAG, "hideLocked");
|
||||
Message msg = mHandler.obtainMessage(HIDE);
|
||||
mHandler.sendMessage(msg);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public boolean isSecure() {
|
||||
@@ -1359,10 +1384,12 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
};
|
||||
|
||||
public void keyguardDone(boolean authenticated) {
|
||||
Trace.beginSection("KeyguardViewMediator#keyguardDone");
|
||||
if (DEBUG) Log.d(TAG, "keyguardDone(" + authenticated +")");
|
||||
EventLog.writeEvent(70000, 2);
|
||||
Message msg = mHandler.obtainMessage(KEYGUARD_DONE, authenticated ? 1 : 0);
|
||||
mHandler.sendMessage(msg);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1386,7 +1413,9 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
handleReset();
|
||||
break;
|
||||
case VERIFY_UNLOCK:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage VERIFY_UNLOCK");
|
||||
handleVerifyUnlock();
|
||||
Trace.endSection();
|
||||
break;
|
||||
case NOTIFY_STARTED_GOING_TO_SLEEP:
|
||||
handleNotifyStartedGoingToSleep();
|
||||
@@ -1395,25 +1424,37 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
handleNotifyFinishedGoingToSleep();
|
||||
break;
|
||||
case NOTIFY_SCREEN_TURNING_ON:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage NOTIFY_SCREEN_TURNING_ON");
|
||||
handleNotifyScreenTurningOn((IKeyguardDrawnCallback) msg.obj);
|
||||
Trace.endSection();
|
||||
break;
|
||||
case NOTIFY_SCREEN_TURNED_ON:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage NOTIFY_SCREEN_TURNED_ON");
|
||||
handleNotifyScreenTurnedOn();
|
||||
Trace.endSection();
|
||||
break;
|
||||
case NOTIFY_SCREEN_TURNED_OFF:
|
||||
handleNotifyScreenTurnedOff();
|
||||
break;
|
||||
case NOTIFY_STARTED_WAKING_UP:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage NOTIFY_STARTED_WAKING_UP");
|
||||
handleNotifyStartedWakingUp();
|
||||
Trace.endSection();
|
||||
break;
|
||||
case KEYGUARD_DONE:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage KEYGUARD_DONE");
|
||||
handleKeyguardDone(msg.arg1 != 0);
|
||||
Trace.endSection();
|
||||
break;
|
||||
case KEYGUARD_DONE_DRAWING:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage KEYGUARD_DONE_DRAWING");
|
||||
handleKeyguardDoneDrawing();
|
||||
Trace.endSection();
|
||||
break;
|
||||
case SET_OCCLUDED:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage SET_OCCLUDED");
|
||||
handleSetOccluded(msg.arg1 != 0);
|
||||
Trace.endSection();
|
||||
break;
|
||||
case KEYGUARD_TIMEOUT:
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
@@ -1424,12 +1465,16 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
handleDismiss();
|
||||
break;
|
||||
case START_KEYGUARD_EXIT_ANIM:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage START_KEYGUARD_EXIT_ANIM");
|
||||
StartKeyguardExitAnimParams params = (StartKeyguardExitAnimParams) msg.obj;
|
||||
handleStartKeyguardExitAnimation(params.startTime, params.fadeoutDuration);
|
||||
FalsingManager.getInstance(mContext).onSucccessfulUnlock();
|
||||
Trace.endSection();
|
||||
break;
|
||||
case KEYGUARD_DONE_PENDING_TIMEOUT:
|
||||
Trace.beginSection("KeyguardViewMediator#handleMessage KEYGUARD_DONE_PENDING_TIMEOUT");
|
||||
Log.w(TAG, "Timeout while waiting for activity drawn!");
|
||||
Trace.endSection();
|
||||
// Fall through.
|
||||
case ON_ACTIVITY_DRAWN:
|
||||
handleOnActivityDrawn();
|
||||
@@ -1443,6 +1488,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #KEYGUARD_DONE
|
||||
*/
|
||||
private void handleKeyguardDone(boolean authenticated) {
|
||||
Trace.beginSection("KeyguardViewMediator#handleKeyguardDone");
|
||||
final int currentUser = KeyguardUpdateMonitor.getCurrentUser();
|
||||
if (mLockPatternUtils.isSecure(currentUser)) {
|
||||
mLockPatternUtils.getDevicePolicyManager().reportKeyguardDismissed(currentUser);
|
||||
@@ -1480,6 +1526,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
handleHide();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void sendUserPresentBroadcast() {
|
||||
@@ -1504,6 +1551,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #KEYGUARD_DONE_DRAWING
|
||||
*/
|
||||
private void handleKeyguardDoneDrawing() {
|
||||
Trace.beginSection("KeyguardViewMediator#handleKeyguardDoneDrawing");
|
||||
synchronized(this) {
|
||||
if (DEBUG) Log.d(TAG, "handleKeyguardDoneDrawing");
|
||||
if (mWaitingUntilKeyguardVisible) {
|
||||
@@ -1517,6 +1565,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
mHandler.removeMessages(KEYGUARD_DONE_DRAWING);
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void playSounds(boolean locked) {
|
||||
@@ -1548,10 +1597,12 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
private void updateActivityLockScreenState() {
|
||||
Trace.beginSection("KeyguardViewMediator#updateActivityLockScreenState");
|
||||
try {
|
||||
ActivityManagerNative.getDefault().setLockScreenShown(mShowing, mOccluded);
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1559,6 +1610,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #SHOW
|
||||
*/
|
||||
private void handleShow(Bundle options) {
|
||||
Trace.beginSection("KeyguardViewMediator#handleShow");
|
||||
final int currentUser = KeyguardUpdateMonitor.getCurrentUser();
|
||||
if (mLockPatternUtils.isSecure(currentUser)) {
|
||||
mLockPatternUtils.getDevicePolicyManager().reportKeyguardSecured(currentUser);
|
||||
@@ -1584,11 +1636,13 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
mShowKeyguardWakeLock.release();
|
||||
}
|
||||
mKeyguardDisplayManager.show();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private final Runnable mKeyguardGoingAwayRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Trace.beginSection("KeyguardViewMediator.mKeyGuardGoingAwayRunnable");
|
||||
try {
|
||||
mStatusBarKeyguardViewManager.keyguardGoingAway();
|
||||
|
||||
@@ -1611,6 +1665,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error while calling WindowManager", e);
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1619,6 +1674,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #HIDE
|
||||
*/
|
||||
private void handleHide() {
|
||||
Trace.beginSection("KeyguardViewMediator#handleHide");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
if (DEBUG) Log.d(TAG, "handleHide");
|
||||
|
||||
@@ -1646,6 +1702,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
mHideAnimation.getDuration());
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleOnActivityDrawn() {
|
||||
@@ -1656,6 +1713,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
private void handleStartKeyguardExitAnimation(long startTime, long fadeoutDuration) {
|
||||
Trace.beginSection("KeyguardViewMediator#handleStartKeyguardExitAnimation");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
|
||||
if (!mHiding) {
|
||||
@@ -1686,6 +1744,7 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
adjustStatusBarLocked();
|
||||
sendUserPresentBroadcast();
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void adjustStatusBarLocked() {
|
||||
@@ -1737,12 +1796,14 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
* @see #VERIFY_UNLOCK
|
||||
*/
|
||||
private void handleVerifyUnlock() {
|
||||
Trace.beginSection("KeyguardViewMediator#handleVerifyUnlock");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
if (DEBUG) Log.d(TAG, "handleVerifyUnlock");
|
||||
setShowingLocked(true);
|
||||
mStatusBarKeyguardViewManager.verifyUnlock();
|
||||
updateActivityLockScreenState();
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleNotifyStartedGoingToSleep() {
|
||||
@@ -1764,13 +1825,16 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
private void handleNotifyStartedWakingUp() {
|
||||
Trace.beginSection("KeyguardViewMediator#handleMotifyStartedWakingUp");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
if (DEBUG) Log.d(TAG, "handleNotifyWakingUp");
|
||||
mStatusBarKeyguardViewManager.onStartedWakingUp();
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleNotifyScreenTurningOn(IKeyguardDrawnCallback callback) {
|
||||
Trace.beginSection("KeyguardViewMediator#handleNotifyScreenTurningOn");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
if (DEBUG) Log.d(TAG, "handleNotifyScreenTurningOn");
|
||||
mStatusBarKeyguardViewManager.onScreenTurningOn();
|
||||
@@ -1782,13 +1846,16 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleNotifyScreenTurnedOn() {
|
||||
Trace.beginSection("KeyguardViewMediator#handleNotifyScreenTurnedOn");
|
||||
synchronized (this) {
|
||||
if (DEBUG) Log.d(TAG, "handleNotifyScreenTurnedOn");
|
||||
mStatusBarKeyguardViewManager.onScreenTurnedOn();
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void handleNotifyScreenTurnedOff() {
|
||||
@@ -1800,11 +1867,13 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
private void notifyDrawn(final IKeyguardDrawnCallback callback) {
|
||||
Trace.beginSection("KeyguardViewMediator#notifyDrawn");
|
||||
try {
|
||||
callback.onDrawn();
|
||||
} catch (RemoteException e) {
|
||||
Slog.w(TAG, "Exception calling onDrawn():", e);
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void resetKeyguardDonePendingLocked() {
|
||||
@@ -1824,8 +1893,10 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
public void onWakeAndUnlocking() {
|
||||
Trace.beginSection("KeyguardViewMediator#onWakeAndUnlocking");
|
||||
mWakeAndUnlocking = true;
|
||||
keyguardDone(true /* authenticated */);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public StatusBarKeyguardViewManager registerStatusBar(PhoneStatusBar phoneStatusBar,
|
||||
@@ -1838,9 +1909,11 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
}
|
||||
|
||||
public void startKeyguardExitAnimation(long startTime, long fadeoutDuration) {
|
||||
Trace.beginSection("KeyguardViewMediator#startKeyguardExitAnimation");
|
||||
Message msg = mHandler.obtainMessage(START_KEYGUARD_EXIT_ANIM,
|
||||
new StartKeyguardExitAnimParams(startTime, fadeoutDuration));
|
||||
mHandler.sendMessage(msg);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void onActivityDrawn() {
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
import android.os.SystemClock;
|
||||
import android.os.Trace;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.keyguard.KeyguardConstants;
|
||||
@@ -140,11 +141,14 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
|
||||
@Override
|
||||
public void onFingerprintAcquired() {
|
||||
Trace.beginSection("FingerprintUnlockController#onFingerprintAcquired");
|
||||
releaseFingerprintWakeLock();
|
||||
if (!mUpdateMonitor.isDeviceInteractive()) {
|
||||
mWakeLock = mPowerManager.newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK, FINGERPRINT_WAKE_LOCK_NAME);
|
||||
Trace.beginSection("acquiring wake-and-unlock");
|
||||
mWakeLock.acquire();
|
||||
Trace.endSection();
|
||||
if (DEBUG_FP_WAKELOCK) {
|
||||
Log.i(TAG, "fingerprint acquired, grabbing fp wakelock");
|
||||
}
|
||||
@@ -159,12 +163,15 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
mStatusBarWindowManager.setForceDozeBrightness(true);
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFingerprintAuthenticated(int userId) {
|
||||
Trace.beginSection("FingerprintUnlockController#onFingerprintAuthenticated");
|
||||
if (mUpdateMonitor.isGoingToSleep()) {
|
||||
mPendingAuthenticatedUserId = userId;
|
||||
Trace.endSection();
|
||||
return;
|
||||
}
|
||||
boolean wasDeviceInteractive = mUpdateMonitor.isDeviceInteractive();
|
||||
@@ -175,25 +182,34 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
}
|
||||
mPowerManager.wakeUp(SystemClock.uptimeMillis(), "android.policy:FINGERPRINT");
|
||||
}
|
||||
Trace.beginSection("release wake-and-unlock");
|
||||
releaseFingerprintWakeLock();
|
||||
Trace.endSection();
|
||||
switch (mMode) {
|
||||
case MODE_DISMISS_BOUNCER:
|
||||
Trace.beginSection("MODE_DISMISS");
|
||||
mStatusBarKeyguardViewManager.notifyKeyguardAuthenticated(
|
||||
false /* strongAuth */);
|
||||
Trace.endSection();
|
||||
break;
|
||||
case MODE_UNLOCK:
|
||||
case MODE_SHOW_BOUNCER:
|
||||
Trace.beginSection("MODE_UNLOCK or MODE_SHOW_BOUNCER");
|
||||
if (!wasDeviceInteractive) {
|
||||
mStatusBarKeyguardViewManager.notifyDeviceWakeUpRequested();
|
||||
}
|
||||
mStatusBarKeyguardViewManager.animateCollapsePanels(
|
||||
FINGERPRINT_COLLAPSE_SPEEDUP_FACTOR);
|
||||
Trace.endSection();
|
||||
break;
|
||||
case MODE_WAKE_AND_UNLOCK_PULSING:
|
||||
Trace.beginSection("MODE_WAKE_AND_UNLOCK_PULSING");
|
||||
mPhoneStatusBar.updateMediaMetaData(false /* metaDataChanged */,
|
||||
true /* allowEnterAnimation */);
|
||||
// Fall through.
|
||||
Trace.endSection();
|
||||
case MODE_WAKE_AND_UNLOCK:
|
||||
Trace.beginSection("MODE_WAKE_AND_UNLOCK");
|
||||
mStatusBarWindowManager.setStatusBarFocusable(false);
|
||||
mDozeScrimController.abortPulsing();
|
||||
mKeyguardViewMediator.onWakeAndUnlocking();
|
||||
@@ -201,6 +217,7 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
if (mPhoneStatusBar.getNavigationBarView() != null) {
|
||||
mPhoneStatusBar.getNavigationBarView().setWakeAndUnlocking(true);
|
||||
}
|
||||
Trace.endSection();
|
||||
break;
|
||||
case MODE_ONLY_WAKE:
|
||||
case MODE_NONE:
|
||||
@@ -210,6 +227,7 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
mStatusBarWindowManager.setForceDozeBrightness(false);
|
||||
}
|
||||
mPhoneStatusBar.notifyFpAuthModeChanged();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -219,6 +237,7 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
|
||||
@Override
|
||||
public void onFinishedGoingToSleep(int why) {
|
||||
Trace.beginSection("FingerprintUnlockController#onFinishedGoingToSleep");
|
||||
if (mPendingAuthenticatedUserId != -1) {
|
||||
|
||||
// Post this to make sure it's executed after the device is fully locked.
|
||||
@@ -230,6 +249,7 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
});
|
||||
}
|
||||
mPendingAuthenticatedUserId = -1;
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public int getMode() {
|
||||
|
||||
@@ -84,6 +84,7 @@ import android.os.Process;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.SystemClock;
|
||||
import android.os.Trace;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.os.Vibrator;
|
||||
@@ -1182,6 +1183,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
}
|
||||
|
||||
protected void startKeyguard() {
|
||||
Trace.beginSection("PhoneStatusBar#startKeyguard");
|
||||
KeyguardViewMediator keyguardViewMediator = getComponent(KeyguardViewMediator.class);
|
||||
mFingerprintUnlockController = new FingerprintUnlockController(mContext,
|
||||
mStatusBarWindowManager, mDozeScrimController, keyguardViewMediator,
|
||||
@@ -1216,6 +1218,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
|
||||
mKeyguardViewMediatorCallback = keyguardViewMediator.getViewMediatorCallback();
|
||||
mLightStatusBarController.setFingerprintUnlockController(mFingerprintUnlockController);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2088,12 +2091,20 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
* Refresh or remove lockscreen artwork from media metadata or the lockscreen wallpaper.
|
||||
*/
|
||||
public void updateMediaMetaData(boolean metaDataChanged, boolean allowEnterAnimation) {
|
||||
if (!SHOW_LOCKSCREEN_MEDIA_ARTWORK) return;
|
||||
Trace.beginSection("PhoneStatusBar#updateMediaMetaData");
|
||||
if (!SHOW_LOCKSCREEN_MEDIA_ARTWORK) {
|
||||
Trace.endSection();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mBackdrop == null) return; // called too early
|
||||
if (mBackdrop == null) {
|
||||
Trace.endSection();
|
||||
return; // called too early
|
||||
}
|
||||
|
||||
if (mLaunchTransitionFadingAway) {
|
||||
mBackdrop.setVisibility(View.INVISIBLE);
|
||||
Trace.endSection();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2246,6 +2257,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
}
|
||||
}
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
protected int adjustDisableFlags(int state) {
|
||||
@@ -4085,6 +4097,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
* @return true if we would like to stay in the shade, false if it should go away entirely
|
||||
*/
|
||||
public boolean hideKeyguard() {
|
||||
Trace.beginSection("PhoneStatusBar#hideKeyguard");
|
||||
boolean staying = mLeaveOpenOnKeyguardHide;
|
||||
setBarState(StatusBarState.SHADE);
|
||||
View viewToClick = null;
|
||||
@@ -4129,6 +4142,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
mNotificationPanel.onAffordanceLaunchEnded();
|
||||
mNotificationPanel.animate().cancel();
|
||||
mNotificationPanel.setAlpha(1f);
|
||||
Trace.endSection();
|
||||
return staying;
|
||||
}
|
||||
|
||||
@@ -4203,6 +4217,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
}
|
||||
|
||||
protected void updateKeyguardState(boolean goingToFullShade, boolean fromShadeLocked) {
|
||||
Trace.beginSection("PhoneStatusBar#updateKeyguardState");
|
||||
if (mState == StatusBarState.KEYGUARD) {
|
||||
mKeyguardIndicationController.setVisible(true);
|
||||
mNotificationPanel.resetViews();
|
||||
@@ -4234,9 +4249,11 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
updateMediaMetaData(false, mState != StatusBarState.KEYGUARD);
|
||||
mKeyguardMonitor.notifyKeyguardState(mStatusBarKeyguardViewManager.isShowing(),
|
||||
mStatusBarKeyguardViewManager.isSecure());
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void updateDozingState() {
|
||||
Trace.beginSection("PhoneStatusBar#updateDozingState");
|
||||
boolean animate = !mDozing && mDozeScrimController.isPulsing();
|
||||
mNotificationPanel.setDozing(mDozing, animate);
|
||||
mStackScroller.setDark(mDozing, animate, mWakeUpTouchLocation);
|
||||
@@ -4247,6 +4264,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
mDozeScrimController.setDozing(mDozing &&
|
||||
mFingerprintUnlockController.getMode()
|
||||
!= FingerprintUnlockController.MODE_WAKE_AND_UNLOCK_PULSING, animate);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void updateStackScrollerState(boolean goingToFullShade, boolean fromShadeLocked) {
|
||||
@@ -4848,11 +4866,13 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
}
|
||||
|
||||
private void updateDozing() {
|
||||
Trace.beginSection("PhoneStatusBar#updateDozing");
|
||||
// When in wake-and-unlock while pulsing, keep dozing state until fully unlocked.
|
||||
mDozing = mDozingRequested && mState == StatusBarState.KEYGUARD
|
||||
|| mFingerprintUnlockController.getMode()
|
||||
== FingerprintUnlockController.MODE_WAKE_AND_UNLOCK_PULSING;
|
||||
updateDozingState();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private final class ShadeUpdates {
|
||||
|
||||
@@ -185,13 +185,17 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
}
|
||||
|
||||
public void onStartedWakingUp() {
|
||||
Trace.beginSection("StatusBarKeyguardViewManager#onStartedWakingUp");
|
||||
mDeviceInteractive = true;
|
||||
mDeviceWillWakeUp = false;
|
||||
mPhoneStatusBar.onStartedWakingUp();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void onScreenTurningOn() {
|
||||
Trace.beginSection("StatusBarKeyguardViewManager#onScreenTurningOn");
|
||||
mPhoneStatusBar.onScreenTurningOn();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public boolean isScreenTurnedOn() {
|
||||
@@ -199,6 +203,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
}
|
||||
|
||||
public void onScreenTurnedOn() {
|
||||
Trace.beginSection("StatusBarKeyguardViewManager#onScreenTurnedOn");
|
||||
mScreenTurnedOn = true;
|
||||
if (mDeferScrimFadeOut) {
|
||||
mDeferScrimFadeOut = false;
|
||||
@@ -207,6 +212,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
updateStates();
|
||||
}
|
||||
mPhoneStatusBar.onScreenTurnedOn();
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.systemui.statusbar.phone;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Trace;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
@@ -85,6 +86,7 @@ public class UnlockMethodCache {
|
||||
}
|
||||
|
||||
private void update(boolean updateAlways) {
|
||||
Trace.beginSection("UnlockMethodCache#update");
|
||||
int user = KeyguardUpdateMonitor.getCurrentUser();
|
||||
boolean secure = mLockPatternUtils.isSecure(user);
|
||||
boolean canSkipBouncer = !secure || mKeyguardUpdateMonitor.getUserCanSkipBouncer(user);
|
||||
@@ -102,6 +104,7 @@ public class UnlockMethodCache {
|
||||
mFaceUnlockRunning = faceUnlockRunning;
|
||||
notifyListeners();
|
||||
}
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
private void notifyListeners() {
|
||||
@@ -133,10 +136,13 @@ public class UnlockMethodCache {
|
||||
|
||||
@Override
|
||||
public void onFingerprintAuthenticated(int userId) {
|
||||
Trace.beginSection("KeyguardUpdateMonitorCallback#onFingerprintAuthenticated");
|
||||
if (!mKeyguardUpdateMonitor.isUnlockingWithFingerprintAllowed()) {
|
||||
Trace.endSection();
|
||||
return;
|
||||
}
|
||||
update(false /* updateAlways */);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user