Loading core/java/android/app/ActivityManager.java +6 −7 Original line number Diff line number Diff line Loading @@ -55,9 +55,7 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.Icon; import android.hardware.HardwareBuffer; import android.os.BatteryStats; import android.os.Binder; import android.os.Build; Loading Loading @@ -86,7 +84,6 @@ import android.util.Log; import android.util.Singleton; import android.util.Size; import android.view.WindowInsetsController.Appearance; import android.window.TaskSnapshot; import com.android.internal.annotations.GuardedBy; import com.android.internal.app.LocalePicker; Loading Loading @@ -5420,10 +5417,11 @@ public class ActivityManager { * * @hide */ @Nullable @RequiresPermission(Manifest.permission.MANAGE_USERS) public @Nullable String getSwitchingFromUserMessage() { public String getSwitchingFromUserMessage(@UserIdInt int userId) { try { return getService().getSwitchingFromUserMessage(); return getService().getSwitchingFromUserMessage(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } Loading @@ -5434,10 +5432,11 @@ public class ActivityManager { * * @hide */ @Nullable @RequiresPermission(Manifest.permission.MANAGE_USERS) public @Nullable String getSwitchingToUserMessage() { public String getSwitchingToUserMessage(@UserIdInt int userId) { try { return getService().getSwitchingToUserMessage(); return getService().getSwitchingToUserMessage(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } Loading core/java/android/app/ActivityManagerInternal.java +4 −4 Original line number Diff line number Diff line Loading @@ -292,14 +292,14 @@ public abstract class ActivityManagerInternal { public abstract boolean canStartMoreUsers(); /** * Sets the user switcher message for switching from {@link android.os.UserHandle#SYSTEM}. * Sets the user switcher message for switching from a user. */ public abstract void setSwitchingFromSystemUserMessage(String switchingFromSystemUserMessage); public abstract void setSwitchingFromUserMessage(@UserIdInt int user, @Nullable String message); /** * Sets the user switcher message for switching to {@link android.os.UserHandle#SYSTEM}. * Sets the user switcher message for switching to a user. */ public abstract void setSwitchingToSystemUserMessage(String switchingToSystemUserMessage); public abstract void setSwitchingToUserMessage(@UserIdInt int user, @Nullable String message); /** * Returns maximum number of users that can run simultaneously. Loading core/java/android/app/IActivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -403,8 +403,8 @@ interface IActivityManager { void setPackageScreenCompatMode(in String packageName, int mode); @UnsupportedAppUsage boolean switchUser(int userid); String getSwitchingFromUserMessage(); String getSwitchingToUserMessage(); String getSwitchingFromUserMessage(int userId); String getSwitchingToUserMessage(int userId); @UnsupportedAppUsage void setStopUserOnSwitch(int value); boolean removeTask(int taskId); Loading services/core/java/com/android/server/am/ActivityManagerService.java +10 −8 Original line number Diff line number Diff line Loading @@ -16190,14 +16190,16 @@ public class ActivityManagerService extends IActivityManager.Stub return mUserController.switchUser(targetUserId); } @Nullable @Override public String getSwitchingFromUserMessage() { return mUserController.getSwitchingFromSystemUserMessage(); public String getSwitchingFromUserMessage(@UserIdInt int userId) { return mUserController.getSwitchingFromUserMessage(userId); } @Nullable @Override public String getSwitchingToUserMessage() { return mUserController.getSwitchingToSystemUserMessage(); public String getSwitchingToUserMessage(@UserIdInt int userId) { return mUserController.getSwitchingToUserMessage(userId); } @Override Loading Loading @@ -16938,13 +16940,13 @@ public class ActivityManagerService extends IActivityManager.Stub } @Override public void setSwitchingFromSystemUserMessage(String switchingFromSystemUserMessage) { mUserController.setSwitchingFromSystemUserMessage(switchingFromSystemUserMessage); public void setSwitchingFromUserMessage(@UserIdInt int userId, @Nullable String message) { mUserController.setSwitchingFromUserMessage(userId, message); } @Override public void setSwitchingToSystemUserMessage(String switchingToSystemUserMessage) { mUserController.setSwitchingToSystemUserMessage(switchingToSystemUserMessage); public void setSwitchingToUserMessage(@UserIdInt int userId, @Nullable String message) { mUserController.setSwitchingToUserMessage(userId, message); } @Override services/core/java/com/android/server/am/UserController.java +28 −28 Original line number Diff line number Diff line Loading @@ -340,16 +340,16 @@ class UserController implements Handler.Callback { private volatile ArraySet<String> mCurWaitingUserSwitchCallbacks; /** * Messages for switching from {@link android.os.UserHandle#SYSTEM}. * Message shown when switching from a user. */ @GuardedBy("mLock") private String mSwitchingFromSystemUserMessage; private final SparseArray<String> mSwitchingFromUserMessage = new SparseArray<>(); /** * Messages for switching to {@link android.os.UserHandle#SYSTEM}. * Message shown when switching to a user. */ @GuardedBy("mLock") private String mSwitchingToSystemUserMessage; private final SparseArray<String> mSwitchingToUserMessage = new SparseArray<>(); /** * Callbacks that are still active after {@link #getUserSwitchTimeoutMs} Loading Loading @@ -2271,8 +2271,8 @@ class UserController implements Handler.Callback { private void showUserSwitchDialog(Pair<UserInfo, UserInfo> fromToUserPair) { // The dialog will show and then initiate the user switch by calling startUserInForeground mInjector.showUserSwitchingDialog(fromToUserPair.first, fromToUserPair.second, getSwitchingFromSystemUserMessageUnchecked(), getSwitchingToSystemUserMessageUnchecked(), getSwitchingFromUserMessageUnchecked(fromToUserPair.first.id), getSwitchingToUserMessageUnchecked(fromToUserPair.second.id), /* onShown= */ () -> sendStartUserSwitchFgMessage(fromToUserPair.second.id)); } Loading Loading @@ -3388,41 +3388,45 @@ class UserController implements Handler.Callback { return mLockPatternUtils.isLockScreenDisabled(userId); } void setSwitchingFromSystemUserMessage(String switchingFromSystemUserMessage) { void setSwitchingFromUserMessage(@UserIdInt int user, @Nullable String message) { synchronized (mLock) { mSwitchingFromSystemUserMessage = switchingFromSystemUserMessage; mSwitchingFromUserMessage.put(user, message); } } void setSwitchingToSystemUserMessage(String switchingToSystemUserMessage) { void setSwitchingToUserMessage(@UserIdInt int user, @Nullable String message) { synchronized (mLock) { mSwitchingToSystemUserMessage = switchingToSystemUserMessage; mSwitchingToUserMessage.put(user, message); } } // Called by AMS, must check permission String getSwitchingFromSystemUserMessage() { checkHasManageUsersPermission("getSwitchingFromSystemUserMessage()"); @Nullable String getSwitchingFromUserMessage(@UserIdInt int userId) { checkHasManageUsersPermission("getSwitchingFromUserMessage()"); return getSwitchingFromSystemUserMessageUnchecked(); return getSwitchingFromUserMessageUnchecked(userId); } // Called by AMS, must check permission String getSwitchingToSystemUserMessage() { checkHasManageUsersPermission("getSwitchingToSystemUserMessage()"); @Nullable String getSwitchingToUserMessage(@UserIdInt int userId) { checkHasManageUsersPermission("getSwitchingToUserMessage()"); return getSwitchingToSystemUserMessageUnchecked(); return getSwitchingToUserMessageUnchecked(userId); } private String getSwitchingFromSystemUserMessageUnchecked() { @Nullable private String getSwitchingFromUserMessageUnchecked(@UserIdInt int userId) { synchronized (mLock) { return mSwitchingFromSystemUserMessage; return mSwitchingFromUserMessage.get(userId); } } private String getSwitchingToSystemUserMessageUnchecked() { @Nullable private String getSwitchingToUserMessageUnchecked(@UserIdInt int userId) { synchronized (mLock) { return mSwitchingToSystemUserMessage; return mSwitchingToUserMessage.get(userId); } } Loading Loading @@ -3518,12 +3522,8 @@ class UserController implements Handler.Callback { + mIsBroadcastSentForSystemUserStarted); pw.println(" mIsBroadcastSentForSystemUserStarting:" + mIsBroadcastSentForSystemUserStarting); if (mSwitchingFromSystemUserMessage != null) { pw.println(" mSwitchingFromSystemUserMessage: " + mSwitchingFromSystemUserMessage); } if (mSwitchingToSystemUserMessage != null) { pw.println(" mSwitchingToSystemUserMessage: " + mSwitchingToSystemUserMessage); } pw.println(" mSwitchingFromUserMessage:" + mSwitchingFromUserMessage); pw.println(" mSwitchingToUserMessage:" + mSwitchingToUserMessage); pw.println(" mLastUserUnlockingUptime: " + mLastUserUnlockingUptime); } } Loading Loading @@ -4046,7 +4046,7 @@ class UserController implements Handler.Callback { } void showUserSwitchingDialog(UserInfo fromUser, UserInfo toUser, String switchingFromSystemUserMessage, String switchingToSystemUserMessage, @Nullable String switchingFromUserMessage, @Nullable String switchingToUserMessage, @NonNull Runnable onShown) { if (mService.mContext.getPackageManager() .hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { Loading @@ -4059,7 +4059,7 @@ class UserController implements Handler.Callback { synchronized (mUserSwitchingDialogLock) { dismissUserSwitchingDialog(null); mUserSwitchingDialog = new UserSwitchingDialog(mService.mContext, fromUser, toUser, mHandler, switchingFromSystemUserMessage, switchingToSystemUserMessage); mHandler, switchingFromUserMessage, switchingToUserMessage); mUserSwitchingDialog.show(onShown); } } Loading Loading
core/java/android/app/ActivityManager.java +6 −7 Original line number Diff line number Diff line Loading @@ -55,9 +55,7 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.Icon; import android.hardware.HardwareBuffer; import android.os.BatteryStats; import android.os.Binder; import android.os.Build; Loading Loading @@ -86,7 +84,6 @@ import android.util.Log; import android.util.Singleton; import android.util.Size; import android.view.WindowInsetsController.Appearance; import android.window.TaskSnapshot; import com.android.internal.annotations.GuardedBy; import com.android.internal.app.LocalePicker; Loading Loading @@ -5420,10 +5417,11 @@ public class ActivityManager { * * @hide */ @Nullable @RequiresPermission(Manifest.permission.MANAGE_USERS) public @Nullable String getSwitchingFromUserMessage() { public String getSwitchingFromUserMessage(@UserIdInt int userId) { try { return getService().getSwitchingFromUserMessage(); return getService().getSwitchingFromUserMessage(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } Loading @@ -5434,10 +5432,11 @@ public class ActivityManager { * * @hide */ @Nullable @RequiresPermission(Manifest.permission.MANAGE_USERS) public @Nullable String getSwitchingToUserMessage() { public String getSwitchingToUserMessage(@UserIdInt int userId) { try { return getService().getSwitchingToUserMessage(); return getService().getSwitchingToUserMessage(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } Loading
core/java/android/app/ActivityManagerInternal.java +4 −4 Original line number Diff line number Diff line Loading @@ -292,14 +292,14 @@ public abstract class ActivityManagerInternal { public abstract boolean canStartMoreUsers(); /** * Sets the user switcher message for switching from {@link android.os.UserHandle#SYSTEM}. * Sets the user switcher message for switching from a user. */ public abstract void setSwitchingFromSystemUserMessage(String switchingFromSystemUserMessage); public abstract void setSwitchingFromUserMessage(@UserIdInt int user, @Nullable String message); /** * Sets the user switcher message for switching to {@link android.os.UserHandle#SYSTEM}. * Sets the user switcher message for switching to a user. */ public abstract void setSwitchingToSystemUserMessage(String switchingToSystemUserMessage); public abstract void setSwitchingToUserMessage(@UserIdInt int user, @Nullable String message); /** * Returns maximum number of users that can run simultaneously. Loading
core/java/android/app/IActivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -403,8 +403,8 @@ interface IActivityManager { void setPackageScreenCompatMode(in String packageName, int mode); @UnsupportedAppUsage boolean switchUser(int userid); String getSwitchingFromUserMessage(); String getSwitchingToUserMessage(); String getSwitchingFromUserMessage(int userId); String getSwitchingToUserMessage(int userId); @UnsupportedAppUsage void setStopUserOnSwitch(int value); boolean removeTask(int taskId); Loading
services/core/java/com/android/server/am/ActivityManagerService.java +10 −8 Original line number Diff line number Diff line Loading @@ -16190,14 +16190,16 @@ public class ActivityManagerService extends IActivityManager.Stub return mUserController.switchUser(targetUserId); } @Nullable @Override public String getSwitchingFromUserMessage() { return mUserController.getSwitchingFromSystemUserMessage(); public String getSwitchingFromUserMessage(@UserIdInt int userId) { return mUserController.getSwitchingFromUserMessage(userId); } @Nullable @Override public String getSwitchingToUserMessage() { return mUserController.getSwitchingToSystemUserMessage(); public String getSwitchingToUserMessage(@UserIdInt int userId) { return mUserController.getSwitchingToUserMessage(userId); } @Override Loading Loading @@ -16938,13 +16940,13 @@ public class ActivityManagerService extends IActivityManager.Stub } @Override public void setSwitchingFromSystemUserMessage(String switchingFromSystemUserMessage) { mUserController.setSwitchingFromSystemUserMessage(switchingFromSystemUserMessage); public void setSwitchingFromUserMessage(@UserIdInt int userId, @Nullable String message) { mUserController.setSwitchingFromUserMessage(userId, message); } @Override public void setSwitchingToSystemUserMessage(String switchingToSystemUserMessage) { mUserController.setSwitchingToSystemUserMessage(switchingToSystemUserMessage); public void setSwitchingToUserMessage(@UserIdInt int userId, @Nullable String message) { mUserController.setSwitchingToUserMessage(userId, message); } @Override
services/core/java/com/android/server/am/UserController.java +28 −28 Original line number Diff line number Diff line Loading @@ -340,16 +340,16 @@ class UserController implements Handler.Callback { private volatile ArraySet<String> mCurWaitingUserSwitchCallbacks; /** * Messages for switching from {@link android.os.UserHandle#SYSTEM}. * Message shown when switching from a user. */ @GuardedBy("mLock") private String mSwitchingFromSystemUserMessage; private final SparseArray<String> mSwitchingFromUserMessage = new SparseArray<>(); /** * Messages for switching to {@link android.os.UserHandle#SYSTEM}. * Message shown when switching to a user. */ @GuardedBy("mLock") private String mSwitchingToSystemUserMessage; private final SparseArray<String> mSwitchingToUserMessage = new SparseArray<>(); /** * Callbacks that are still active after {@link #getUserSwitchTimeoutMs} Loading Loading @@ -2271,8 +2271,8 @@ class UserController implements Handler.Callback { private void showUserSwitchDialog(Pair<UserInfo, UserInfo> fromToUserPair) { // The dialog will show and then initiate the user switch by calling startUserInForeground mInjector.showUserSwitchingDialog(fromToUserPair.first, fromToUserPair.second, getSwitchingFromSystemUserMessageUnchecked(), getSwitchingToSystemUserMessageUnchecked(), getSwitchingFromUserMessageUnchecked(fromToUserPair.first.id), getSwitchingToUserMessageUnchecked(fromToUserPair.second.id), /* onShown= */ () -> sendStartUserSwitchFgMessage(fromToUserPair.second.id)); } Loading Loading @@ -3388,41 +3388,45 @@ class UserController implements Handler.Callback { return mLockPatternUtils.isLockScreenDisabled(userId); } void setSwitchingFromSystemUserMessage(String switchingFromSystemUserMessage) { void setSwitchingFromUserMessage(@UserIdInt int user, @Nullable String message) { synchronized (mLock) { mSwitchingFromSystemUserMessage = switchingFromSystemUserMessage; mSwitchingFromUserMessage.put(user, message); } } void setSwitchingToSystemUserMessage(String switchingToSystemUserMessage) { void setSwitchingToUserMessage(@UserIdInt int user, @Nullable String message) { synchronized (mLock) { mSwitchingToSystemUserMessage = switchingToSystemUserMessage; mSwitchingToUserMessage.put(user, message); } } // Called by AMS, must check permission String getSwitchingFromSystemUserMessage() { checkHasManageUsersPermission("getSwitchingFromSystemUserMessage()"); @Nullable String getSwitchingFromUserMessage(@UserIdInt int userId) { checkHasManageUsersPermission("getSwitchingFromUserMessage()"); return getSwitchingFromSystemUserMessageUnchecked(); return getSwitchingFromUserMessageUnchecked(userId); } // Called by AMS, must check permission String getSwitchingToSystemUserMessage() { checkHasManageUsersPermission("getSwitchingToSystemUserMessage()"); @Nullable String getSwitchingToUserMessage(@UserIdInt int userId) { checkHasManageUsersPermission("getSwitchingToUserMessage()"); return getSwitchingToSystemUserMessageUnchecked(); return getSwitchingToUserMessageUnchecked(userId); } private String getSwitchingFromSystemUserMessageUnchecked() { @Nullable private String getSwitchingFromUserMessageUnchecked(@UserIdInt int userId) { synchronized (mLock) { return mSwitchingFromSystemUserMessage; return mSwitchingFromUserMessage.get(userId); } } private String getSwitchingToSystemUserMessageUnchecked() { @Nullable private String getSwitchingToUserMessageUnchecked(@UserIdInt int userId) { synchronized (mLock) { return mSwitchingToSystemUserMessage; return mSwitchingToUserMessage.get(userId); } } Loading Loading @@ -3518,12 +3522,8 @@ class UserController implements Handler.Callback { + mIsBroadcastSentForSystemUserStarted); pw.println(" mIsBroadcastSentForSystemUserStarting:" + mIsBroadcastSentForSystemUserStarting); if (mSwitchingFromSystemUserMessage != null) { pw.println(" mSwitchingFromSystemUserMessage: " + mSwitchingFromSystemUserMessage); } if (mSwitchingToSystemUserMessage != null) { pw.println(" mSwitchingToSystemUserMessage: " + mSwitchingToSystemUserMessage); } pw.println(" mSwitchingFromUserMessage:" + mSwitchingFromUserMessage); pw.println(" mSwitchingToUserMessage:" + mSwitchingToUserMessage); pw.println(" mLastUserUnlockingUptime: " + mLastUserUnlockingUptime); } } Loading Loading @@ -4046,7 +4046,7 @@ class UserController implements Handler.Callback { } void showUserSwitchingDialog(UserInfo fromUser, UserInfo toUser, String switchingFromSystemUserMessage, String switchingToSystemUserMessage, @Nullable String switchingFromUserMessage, @Nullable String switchingToUserMessage, @NonNull Runnable onShown) { if (mService.mContext.getPackageManager() .hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { Loading @@ -4059,7 +4059,7 @@ class UserController implements Handler.Callback { synchronized (mUserSwitchingDialogLock) { dismissUserSwitchingDialog(null); mUserSwitchingDialog = new UserSwitchingDialog(mService.mContext, fromUser, toUser, mHandler, switchingFromSystemUserMessage, switchingToSystemUserMessage); mHandler, switchingFromUserMessage, switchingToUserMessage); mUserSwitchingDialog.show(onShown); } } Loading