Added log statements to some user-switching tasks.

NOTE: as user switch is a very low-frequency operation, these logs statements
don't need to be guard (to avoid spam).

Test: manual verification
Bug: 141502467
Bug: 140999054
Bug: 145027829

Change-Id: I7122e45c45a646419b03242c99d90417a29da92a
(cherry picked from commit ebccffe3b10d8642e7b1d64f183b627f644011a4)
This commit is contained in:
Felipe Leme
2019-09-24 09:35:49 -07:00
parent cd67f7a332
commit b5f0e74302

View File

@@ -407,6 +407,7 @@ class UserController implements Handler.Callback {
*/
private boolean finishUserUnlocking(final UserState uss) {
final int userId = uss.mHandle.getIdentifier();
Slog.d(TAG, "UserController event: finishUserUnlocking(" + userId + ")");
// Only keep marching forward if user is actually unlocked
if (!StorageManager.isUserKeyUnlocked(userId)) return false;
synchronized (mLock) {
@@ -451,6 +452,7 @@ class UserController implements Handler.Callback {
*/
void finishUserUnlocked(final UserState uss) {
final int userId = uss.mHandle.getIdentifier();
Slog.d(TAG, "UserController event: finishUserUnlocked(" + userId + ")");
// Only keep marching forward if user is actually unlocked
if (!StorageManager.isUserKeyUnlocked(userId)) return;
synchronized (mLock) {
@@ -521,6 +523,7 @@ class UserController implements Handler.Callback {
private void finishUserUnlockedCompleted(UserState uss) {
final int userId = uss.mHandle.getIdentifier();
Slog.d(TAG, "UserController event: finishUserUnlockedCompleted(" + userId + ")");
synchronized (mLock) {
// Bail if we ended up with a stale user
if (mStartedUsers.get(uss.mHandle.getIdentifier()) != uss) return;
@@ -730,6 +733,7 @@ class UserController implements Handler.Callback {
}
void finishUserStopping(final int userId, final UserState uss) {
Slog.d(TAG, "UserController event: finishUserStopping(" + userId + ")");
// On to the next.
final Intent shutdownIntent = new Intent(Intent.ACTION_SHUTDOWN);
// This is the result receiver for the final shutdown broadcast.
@@ -769,6 +773,7 @@ class UserController implements Handler.Callback {
void finishUserStopped(UserState uss) {
final int userId = uss.mHandle.getIdentifier();
Slog.d(TAG, "UserController event: finishUserStopped(" + userId + ")");
final boolean stopped;
boolean lockUser = true;
final ArrayList<IStopUserCallback> stopCallbacks;
@@ -1280,6 +1285,7 @@ class UserController implements Handler.Callback {
boolean unlockUser(final @UserIdInt int userId, byte[] token, byte[] secret,
IProgressListener listener) {
checkCallingPermission(INTERACT_ACROSS_USERS_FULL, "unlockUser");
Slog.i(TAG, "unlocking user " + userId);
final long binderToken = Binder.clearCallingIdentity();
try {
return unlockUserCleared(userId, token, secret, listener);
@@ -1364,6 +1370,7 @@ class UserController implements Handler.Callback {
boolean switchUser(final int targetUserId) {
enforceShellRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES, targetUserId);
Slog.i(TAG, "switching to user " + targetUserId);
int currentUserId = getCurrentUserId();
UserInfo targetUserInfo = getUserInfo(targetUserId);
if (targetUserId == currentUserId) {