summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Leme <felipeal@google.com>2020-07-22 19:09:30 -0700
committerFelipe Leme <felipeal@google.com>2020-08-03 07:24:26 +0000
commit837f8c1e8a80b8afedc524aa953d600a432b6a90 (patch)
treeed4778c684ee864e7e58289a27d5fc8df8c5efeb
parentd811429b4b5fe31f94984ecfea3aad3255a40382 (diff)
Removed @Deprecated SystemService callback methods that take a userId.
This is just a plain refactoring: the removed methods in the changed classes were called by default by the new methods in the superclass (SystemService). Test: m Test: atest NotificationManagerServiceTest BackupManagerServiceRoboTest Fixes: 161943081 Exempt-From-Owner-Approval: refactoring without side-effects Change-Id: Ifd8df592eb4494cc0922b7e0b2ff20187b8a8b3e
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java11
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetService.java12
-rw-r--r--services/autofill/java/com/android/server/autofill/AutofillManagerService.java3
-rw-r--r--services/backup/java/com/android/server/backup/BackupManagerService.java10
-rw-r--r--services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java5
-rw-r--r--services/core/java/com/android/server/BluetoothService.java12
-rw-r--r--services/core/java/com/android/server/PinnerService.java16
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java18
-rw-r--r--services/core/java/com/android/server/SystemService.java107
-rw-r--r--services/core/java/com/android/server/UiModeManagerService.java19
-rw-r--r--services/core/java/com/android/server/accounts/AccountManagerService.java11
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java5
-rw-r--r--services/core/java/com/android/server/appbinding/AppBindingService.java13
-rw-r--r--services/core/java/com/android/server/camera/CameraServiceProxy.java11
-rw-r--r--services/core/java/com/android/server/clipboard/ClipboardService.java6
-rw-r--r--services/core/java/com/android/server/content/ContentService.java19
-rw-r--r--services/core/java/com/android/server/display/DisplayManagerService.java4
-rw-r--r--services/core/java/com/android/server/display/color/ColorDisplayService.java19
-rw-r--r--services/core/java/com/android/server/infra/AbstractMasterSystemService.java9
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java10
-rw-r--r--services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java16
-rw-r--r--services/core/java/com/android/server/locksettings/LockSettingsService.java13
-rw-r--r--services/core/java/com/android/server/media/MediaSessionService.java15
-rw-r--r--services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java7
-rwxr-xr-xservices/core/java/com/android/server/notification/NotificationManagerService.java9
-rw-r--r--services/core/java/com/android/server/om/OverlayManagerService.java8
-rw-r--r--services/core/java/com/android/server/pm/ShortcutService.java9
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java13
-rw-r--r--services/core/java/com/android/server/policy/PermissionPolicyService.java13
-rw-r--r--services/core/java/com/android/server/role/RoleManagerService.java8
-rw-r--r--services/core/java/com/android/server/rollback/RollbackManagerService.java6
-rw-r--r--services/core/java/com/android/server/search/SearchManagerService.java22
-rw-r--r--services/core/java/com/android/server/slice/SliceManagerService.java11
-rw-r--r--services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java13
-rw-r--r--services/core/java/com/android/server/textservices/TextServicesManagerService.java13
-rw-r--r--services/core/java/com/android/server/trust/TrustManagerService.java23
-rwxr-xr-xservices/core/java/com/android/server/tv/TvInputManagerService.java8
-rw-r--r--services/core/java/com/android/server/vr/VrManagerService.java10
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java5
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java10
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java13
-rw-r--r--services/midi/java/com/android/server/midi/MidiService.java7
-rw-r--r--services/print/java/com/android/server/print/PrintManagerService.java9
-rw-r--r--services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java7
-rwxr-xr-xservices/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java6
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsService.java17
-rw-r--r--services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java8
-rw-r--r--services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java4
48 files changed, 286 insertions, 337 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
index 06c469a5cc82..6a58e3a53094 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -89,6 +89,7 @@ import com.android.server.AppStateTracker;
import com.android.server.AppStateTrackerImpl;
import com.android.server.DeviceIdleInternal;
import com.android.server.LocalServices;
+import com.android.server.SystemService.TargetUser;
import com.android.server.job.JobSchedulerServiceDumpProto.ActiveJob;
import com.android.server.job.JobSchedulerServiceDumpProto.PendingJob;
import com.android.server.job.controllers.BackgroundJobsController;
@@ -975,24 +976,24 @@ public class JobSchedulerService extends com.android.server.SystemService
}
@Override
- public void onStartUser(int userHandle) {
+ public void onUserStarting(@NonNull TargetUser user) {
synchronized (mLock) {
- mStartedUsers = ArrayUtils.appendInt(mStartedUsers, userHandle);
+ mStartedUsers = ArrayUtils.appendInt(mStartedUsers, user.getUserIdentifier());
}
// Let's kick any outstanding jobs for this user.
mHandler.obtainMessage(MSG_CHECK_JOB).sendToTarget();
}
@Override
- public void onUnlockUser(int userHandle) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
// Let's kick any outstanding jobs for this user.
mHandler.obtainMessage(MSG_CHECK_JOB).sendToTarget();
}
@Override
- public void onStopUser(int userHandle) {
+ public void onUserStopping(@NonNull TargetUser user) {
synchronized (mLock) {
- mStartedUsers = ArrayUtils.removeInt(mStartedUsers, userHandle);
+ mStartedUsers = ArrayUtils.removeInt(mStartedUsers, user.getUserIdentifier());
}
}
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java
index b229e9f30180..3562205834b4 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetService.java
@@ -16,11 +16,13 @@
package com.android.server.appwidget;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.content.Context;
import com.android.server.AppWidgetBackupBridge;
-import com.android.server.FgThread;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
/**
* SystemService that publishes an IAppWidgetService.
@@ -49,12 +51,12 @@ public class AppWidgetService extends SystemService {
}
@Override
- public void onStopUser(int userHandle) {
- mImpl.onUserStopped(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mImpl.onUserStopped(user.getUserIdentifier());
}
@Override
- public void onSwitchUser(int userHandle) {
- mImpl.reloadWidgetsMaskedStateForGroup(userHandle);
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ mImpl.reloadWidgetsMaskedStateForGroup(to.getUserIdentifier());
}
}
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java
index 089861bee479..663fd6259fd4 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java
@@ -84,6 +84,7 @@ import com.android.internal.util.Preconditions;
import com.android.internal.util.SyncResultReceiver;
import com.android.server.FgThread;
import com.android.server.LocalServices;
+import com.android.server.SystemService.TargetUser;
import com.android.server.autofill.ui.AutoFillUI;
import com.android.server.infra.AbstractMasterSystemService;
import com.android.server.infra.FrameworkResourcesServiceNameResolver;
@@ -363,7 +364,7 @@ public final class AutofillManagerService
}
@Override // from SystemService
- public void onSwitchUser(int userHandle) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
if (sDebug) Slog.d(TAG, "Hiding UI when user switched");
mUi.hideAll(null);
}
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java
index c839ce94bd64..12e6e10d9047 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerService.java
@@ -19,6 +19,7 @@ package com.android.server.backup;
import static java.util.Collections.emptySet;
import android.Manifest;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.ActivityManager;
@@ -60,6 +61,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.DumpUtils;
import com.android.server.SystemConfig;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.backup.utils.RandomAccessFileUtils;
import java.io.File;
@@ -1605,13 +1607,13 @@ public class BackupManagerService extends IBackupManager.Stub {
}
@Override
- public void onUnlockUser(int userId) {
- sInstance.onUnlockUser(userId);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ sInstance.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userId) {
- sInstance.onStopUser(userId);
+ public void onUserStopping(@NonNull TargetUser user) {
+ sInstance.onStopUser(user.getUserIdentifier());
}
@VisibleForTesting
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index 6d8f9a35bfaa..eb38f5199ce5 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -28,6 +28,7 @@ import static com.android.internal.util.function.pooled.PooledLambda.obtainRunna
import static java.util.concurrent.TimeUnit.MINUTES;
import android.annotation.CheckResult;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.AppOpsManager;
import android.app.PendingIntent;
@@ -84,6 +85,7 @@ import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.wm.ActivityTaskManagerInternal;
import org.xmlpull.v1.XmlPullParser;
@@ -189,7 +191,8 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
}
@Override
- public void onUnlockUser(int userHandle) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ int userHandle = user.getUserIdentifier();
Set<Association> associations = readAllAssociations(userHandle);
if (associations == null || associations.isEmpty()) {
return;
diff --git a/services/core/java/com/android/server/BluetoothService.java b/services/core/java/com/android/server/BluetoothService.java
index 0bcd9373c660..1a1eecd0f439 100644
--- a/services/core/java/com/android/server/BluetoothService.java
+++ b/services/core/java/com/android/server/BluetoothService.java
@@ -16,10 +16,14 @@
package com.android.server;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.os.UserManager;
+import com.android.server.SystemService.TargetUser;
+
class BluetoothService extends SystemService {
private BluetoothManagerService mBluetoothManagerService;
private boolean mInitialized = false;
@@ -52,16 +56,16 @@ class BluetoothService extends SystemService {
}
@Override
- public void onSwitchUser(int userHandle) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
if (!mInitialized) {
initialize();
} else {
- mBluetoothManagerService.handleOnSwitchUser(userHandle);
+ mBluetoothManagerService.handleOnSwitchUser(to.getUserIdentifier());
}
}
@Override
- public void onUnlockUser(int userHandle) {
- mBluetoothManagerService.handleOnUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mBluetoothManagerService.handleOnUnlockUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/PinnerService.java b/services/core/java/com/android/server/PinnerService.java
index 3148a6205871..a3bcbbe25e88 100644
--- a/services/core/java/com/android/server/PinnerService.java
+++ b/services/core/java/com/android/server/PinnerService.java
@@ -20,6 +20,7 @@ import static android.app.ActivityManager.UID_OBSERVER_ACTIVE;
import static android.app.ActivityManager.UID_OBSERVER_GONE;
import android.annotation.IntDef;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
@@ -60,6 +61,7 @@ import com.android.internal.app.ResolverActivity;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.function.pooled.PooledLambda;
+import com.android.server.SystemService.TargetUser;
import com.android.server.wm.ActivityTaskManagerInternal;
import dalvik.system.DexFile;
@@ -236,16 +238,18 @@ public final class PinnerService extends SystemService {
* individual apps. Make sure that user's preference is pinned into memory.
*/
@Override
- public void onSwitchUser(int userHandle) {
- if (!mUserManager.isManagedProfile(userHandle)) {
- sendPinAppsMessage(userHandle);
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ int userId = to.getUserIdentifier();
+ if (!mUserManager.isManagedProfile(userId)) {
+ sendPinAppsMessage(userId);
}
}
@Override
- public void onUnlockUser(int userHandle) {
- if (!mUserManager.isManagedProfile(userHandle)) {
- sendPinAppsMessage(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ int userId = user.getUserIdentifier();
+ if (!mUserManager.isManagedProfile(userId)) {
+ sendPinAppsMessage(userId);
}
}
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index 1520dd351c97..eca6036ebf8e 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -55,6 +55,7 @@ import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
import android.Manifest;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
@@ -152,6 +153,7 @@ import com.android.internal.util.HexDump;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;
import com.android.internal.widget.LockPatternUtils;
+import com.android.server.SystemService.TargetUser;
import com.android.server.pm.Installer;
import com.android.server.storage.AppFuseBridge;
import com.android.server.storage.StorageSessionController;
@@ -259,23 +261,23 @@ class StorageManagerService extends IStorageManager.Stub
}
@Override
- public void onSwitchUser(int userHandle) {
- mStorageManagerService.mCurrentUserId = userHandle;
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ mStorageManagerService.mCurrentUserId = to.getUserIdentifier();
}
@Override
- public void onUnlockUser(int userHandle) {
- mStorageManagerService.onUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mStorageManagerService.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onCleanupUser(int userHandle) {
- mStorageManagerService.onCleanupUser(userHandle);
+ public void onUserStopped(@NonNull TargetUser user) {
+ mStorageManagerService.onCleanupUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- mStorageManagerService.onStopUser(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mStorageManagerService.onStopUser(user.getUserIdentifier());
}
@Override
diff --git a/services/core/java/com/android/server/SystemService.java b/services/core/java/com/android/server/SystemService.java
index 45d53a14d1e9..1496e926b95b 100644
--- a/services/core/java/com/android/server/SystemService.java
+++ b/services/core/java/com/android/server/SystemService.java
@@ -23,7 +23,6 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.SystemApi.Client;
-import android.annotation.UserIdInt;
import android.app.ActivityThread;
import android.content.Context;
import android.content.pm.UserInfo;
@@ -263,26 +262,6 @@ public abstract class SystemService {
}
/**
- * @deprecated subclasses should extend {@link #onUserStarting(TargetUser)} instead
- * (which by default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onStartUser(@UserIdInt int userId) {}
-
- /**
- * @deprecated subclasses should extend {@link #onUserStarting(TargetUser)} instead
- * (which by default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onStartUser(@NonNull UserInfo userInfo) {
- onStartUser(userInfo.id);
- }
-
- /**
* Called when a new user is starting, for system services to initialize any per-user
* state they maintain for running users.
*
@@ -292,27 +271,6 @@ public abstract class SystemService {
* @param user target user
*/
public void onUserStarting(@NonNull TargetUser user) {
- onStartUser(user.getUserInfo());
- }
-
- /**
- * @deprecated subclasses should extend {@link #onUserUnlocking(TargetUser)} instead (which by
- * default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onUnlockUser(@UserIdInt int userId) {}
-
- /**
- * @deprecated subclasses should extend {@link #onUserUnlocking(TargetUser)} instead (which by
- * default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onUnlockUser(@NonNull UserInfo userInfo) {
- onUnlockUser(userInfo.id);
}
/**
@@ -333,7 +291,6 @@ public abstract class SystemService {
* @param user target user
*/
public void onUserUnlocking(@NonNull TargetUser user) {
- onUnlockUser(user.getUserInfo());
}
/**
@@ -348,26 +305,6 @@ public abstract class SystemService {
}
/**
- * @deprecated subclasses should extend {@link #onUserSwitching(TargetUser, TargetUser)} instead
- * (which by default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onSwitchUser(@UserIdInt int toUserId) {}
-
- /**
- * @deprecated subclasses should extend {@link #onUserSwitching(TargetUser, TargetUser)} instead
- * (which by default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onSwitchUser(@Nullable UserInfo from, @NonNull UserInfo to) {
- onSwitchUser(to.id);
- }
-
- /**
* Called when switching to a different foreground user, for system services that have
* special behavior for whichever user is currently in the foreground. This is called
* before any application processes are aware of the new user.
@@ -382,28 +319,6 @@ public abstract class SystemService {
* @param to the user switching to
*/
public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
- onSwitchUser((from == null ? null : from.getUserInfo()), to.getUserInfo());
- }
-
- /**
- * @deprecated subclasses should extend {@link #onUserStopping(TargetUser)} instead
- * (which by default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onStopUser(@UserIdInt int userId) {}
-
- /**
- * @deprecated subclasses should extend {@link #onUserStopping(TargetUser)} instead
- * (which by default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onStopUser(@NonNull UserInfo user) {
- onStopUser(user.id);
-
}
/**
@@ -420,27 +335,6 @@ public abstract class SystemService {
* @param user target user
*/
public void onUserStopping(@NonNull TargetUser user) {
- onStopUser(user.getUserInfo());
- }
-
- /**
- * @deprecated subclasses should extend {@link #onUserStopped(TargetUser)} instead (which by
- * default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onCleanupUser(@UserIdInt int userId) {}
-
- /**
- * @deprecated subclasses should extend {@link #onUserStopped(TargetUser)} instead (which by
- * default calls this method).
- *
- * @hide
- */
- @Deprecated
- public void onCleanupUser(@NonNull UserInfo user) {
- onCleanupUser(user.id);
}
/**
@@ -454,7 +348,6 @@ public abstract class SystemService {
* @param user target user
*/
public void onUserStopped(@NonNull TargetUser user) {
- onCleanupUser(user.getUserInfo());
}
/**
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index 915189c085c2..df9dee89f5a2 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -16,7 +16,15 @@
package com.android.server;
+import static android.app.UiModeManager.DEFAULT_PRIORITY;
+import static android.app.UiModeManager.MODE_NIGHT_AUTO;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM;
+import static android.app.UiModeManager.MODE_NIGHT_YES;
+import static android.os.UserHandle.USER_SYSTEM;
+import static android.util.TimeUtils.isTimeBetween;
+
import android.annotation.IntRange;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.Activity;
import android.app.ActivityManager;
@@ -64,6 +72,7 @@ import com.android.internal.app.DisableCarModeActivity;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.util.DumpUtils;
+import com.android.server.SystemService.TargetUser;
import com.android.server.twilight.TwilightListener;
import com.android.server.twilight.TwilightManager;
import com.android.server.twilight.TwilightState;
@@ -81,13 +90,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import static android.app.UiModeManager.DEFAULT_PRIORITY;
-import static android.app.UiModeManager.MODE_NIGHT_AUTO;
-import static android.app.UiModeManager.MODE_NIGHT_CUSTOM;
-import static android.app.UiModeManager.MODE_NIGHT_YES;
-import static android.os.UserHandle.USER_SYSTEM;
-import static android.util.TimeUtils.isTimeBetween;
-
final class UiModeManagerService extends SystemService {
private static final String TAG = UiModeManager.class.getSimpleName();
private static final boolean LOG = false;
@@ -322,8 +324,7 @@ final class UiModeManagerService extends SystemService {
}
@Override
- public void onSwitchUser(int userHandle) {
- super.onSwitchUser(userHandle);
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
getContext().getContentResolver().unregisterContentObserver(mSetupWizardObserver);
verifySetupWizardCompleted();
}
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 7dc0b3a8ecd6..35e88eb804cb 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -106,6 +106,7 @@ import com.android.internal.util.Preconditions;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.google.android.collect.Lists;
import com.google.android.collect.Sets;
@@ -161,14 +162,14 @@ public class AccountManagerService
}
@Override
- public void onUnlockUser(int userHandle) {
- mService.onUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- Slog.i(TAG, "onStopUser " + userHandle);
- mService.purgeUserData(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ Slog.i(TAG, "onStopUser " + user);
+ mService.purgeUserData(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index cfd2bf913b9c..7842c22ef5ad 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -354,6 +354,7 @@ import com.android.server.RescueParty;
import com.android.server.ServiceThread;
import com.android.server.SystemConfig;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.SystemServiceManager;
import com.android.server.ThreadPriorityBooster;
import com.android.server.UserspaceRebootLogger;
@@ -2391,8 +2392,8 @@ public class ActivityManagerService extends IActivityManager.Stub
}
@Override
- public void onCleanupUser(int userId) {
- mService.mBatteryStatsService.onCleanupUser(userId);
+ public void onUserStopped(@NonNull TargetUser user) {
+ mService.mBatteryStatsService.onCleanupUser(user.getUserIdentifier());
}
public ActivityManagerService getService() {
diff --git a/services/core/java/com/android/server/appbinding/AppBindingService.java b/services/core/java/com/android/server/appbinding/AppBindingService.java
index 7e63e728701e..5db6dc7ccc15 100644
--- a/services/core/java/com/android/server/appbinding/AppBindingService.java
+++ b/services/core/java/com/android/server/appbinding/AppBindingService.java
@@ -45,6 +45,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.DumpUtils;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.am.PersistentConnection;
import com.android.server.appbinding.finders.AppServiceFinder;
import com.android.server.appbinding.finders.CarrierMessagingClientServiceFinder;
@@ -125,18 +126,18 @@ public class AppBindingService extends Binder {
}
@Override
- public void onStartUser(int userHandle) {
- mService.onStartUser(userHandle);
+ public void onUserStarting(@NonNull TargetUser user) {
+ mService.onStartUser(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(int userId) {
- mService.onUnlockUser(userId);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- mService.onStopUser(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mService.onStopUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/camera/CameraServiceProxy.java b/services/core/java/com/android/server/camera/CameraServiceProxy.java
index 61c99b88d113..88867fcfc46f 100644
--- a/services/core/java/com/android/server/camera/CameraServiceProxy.java
+++ b/services/core/java/com/android/server/camera/CameraServiceProxy.java
@@ -15,6 +15,8 @@
*/
package com.android.server.camera;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -43,6 +45,7 @@ import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.wm.WindowManagerInternal;
import java.util.ArrayList;
@@ -252,20 +255,20 @@ public class CameraServiceProxy extends SystemService
}
@Override
- public void onStartUser(int userHandle) {
+ public void onUserStarting(@NonNull TargetUser user) {
synchronized(mLock) {
if (mEnabledCameraUsers == null) {
// Initialize cameraserver, or update cameraserver if we are recovering
// from a crash.
- switchUserLocked(userHandle);
+ switchUserLocked(user.getUserIdentifier());
}
}
}
@Override
- public void onSwitchUser(int userHandle) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
synchronized(mLock) {
- switchUserLocked(userHandle);
+ switchUserLocked(to.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java
index ed3a223b5dd7..a0bc7d8954fb 100644
--- a/services/core/java/com/android/server/clipboard/ClipboardService.java
+++ b/services/core/java/com/android/server/clipboard/ClipboardService.java
@@ -19,6 +19,7 @@ package com.android.server.clipboard;
import static android.app.ActivityManagerInternal.ALLOW_FULL_ONLY;
import android.Manifest;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.ActivityManagerInternal;
@@ -59,6 +60,7 @@ import android.view.autofill.AutofillManagerInternal;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.contentcapture.ContentCaptureManagerInternal;
import com.android.server.uri.UriGrantsManagerInternal;
import com.android.server.wm.WindowManagerInternal;
@@ -218,9 +220,9 @@ public class ClipboardService extends SystemService {
}
@Override
- public void onCleanupUser(int userId) {
+ public void onUserStopped(@NonNull TargetUser user) {
synchronized (mClipboards) {
- mClipboards.remove(userId);
+ mClipboards.remove(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java
index 9a910bf5e859..1294e9030f62 100644
--- a/services/core/java/com/android/server/content/ContentService.java
+++ b/services/core/java/com/android/server/content/ContentService.java
@@ -20,6 +20,7 @@ import static android.content.PermissionChecker.PERMISSION_GRANTED;
import android.Manifest;
import android.accounts.Account;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.app.ActivityManager;
@@ -75,6 +76,7 @@ import com.android.internal.util.DumpUtils;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.pm.permission.PermissionManagerServiceInternal;
import java.io.FileDescriptor;
@@ -124,26 +126,25 @@ public final class ContentService extends IContentService.Stub {
mService.onBootPhase(phase);
}
-
@Override
- public void onStartUser(int userHandle) {
- mService.onStartUser(userHandle);
+ public void onUserStarting(@NonNull TargetUser user) {
+ mService.onStartUser(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(int userHandle) {
- mService.onUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- mService.onStopUser(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mService.onStopUser(user.getUserIdentifier());
}
@Override
- public void onCleanupUser(int userHandle) {
+ public void onUserStopped(@NonNull TargetUser user) {
synchronized (mService.mCache) {
- mService.mCache.remove(userHandle);
+ mService.mCache.remove(user.getUserIdentifier());
}
}
}
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index a00c22a409e9..0979ad67a8cd 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -104,6 +104,7 @@ import com.android.server.AnimationThread;
import com.android.server.DisplayThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.UiThread;
import com.android.server.wm.SurfaceAnimationThread;
import com.android.server.wm.WindowManagerInternal;
@@ -417,7 +418,8 @@ public final class DisplayManagerService extends SystemService {
}
@Override
- public void onSwitchUser(@UserIdInt int newUserId) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ final int newUserId = to.getUserIdentifier();
final int userSerial = getUserManager().getUserSerialNumber(newUserId);
synchronized (mSyncRoot) {
if (mCurrentUserId != newUserId) {
diff --git a/services/core/java/com/android/server/display/color/ColorDisplayService.java b/services/core/java/com/android/server/display/color/ColorDisplayService.java
index 95a98f1e9494..19f5b6e6c23a 100644
--- a/services/core/java/com/android/server/display/color/ColorDisplayService.java
+++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java
@@ -76,6 +76,7 @@ import com.android.internal.util.DumpUtils;
import com.android.server.DisplayThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.twilight.TwilightListener;
import com.android.server.twilight.TwilightManager;
import com.android.server.twilight.TwilightState;
@@ -205,30 +206,24 @@ public final class ColorDisplayService extends SystemService {
}
@Override
- public void onStartUser(int userHandle) {
- super.onStartUser(userHandle);
-
+ public void onUserStarting(@NonNull TargetUser user) {
if (mCurrentUser == UserHandle.USER_NULL) {
final Message message = mHandler.obtainMessage(MSG_USER_CHANGED);
- message.arg1 = userHandle;
+ message.arg1 = user.getUserIdentifier();
mHandler.sendMessage(message);
}
}
@Override
- public void onSwitchUser(int userHandle) {
- super.onSwitchUser(userHandle);
-
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
final Message message = mHandler.obtainMessage(MSG_USER_CHANGED);
- message.arg1 = userHandle;
+ message.arg1 = to.getUserIdentifier();
mHandler.sendMessage(message);
}
@Override
- public void onStopUser(int userHandle) {
- super.onStopUser(userHandle);
-
- if (mCurrentUser == userHandle) {
+ public void onUserStopping(@NonNull TargetUser user) {
+ if (mCurrentUser == user.getUserIdentifier()) {
final Message message = mHandler.obtainMessage(MSG_USER_CHANGED);
message.arg1 = UserHandle.USER_NULL;
mHandler.sendMessage(message);
diff --git a/services/core/java/com/android/server/infra/AbstractMasterSystemService.java b/services/core/java/com/android/server/infra/AbstractMasterSystemService.java
index 2672f848f192..7bbcdaa2d473 100644
--- a/services/core/java/com/android/server/infra/AbstractMasterSystemService.java
+++ b/services/core/java/com/android/server/infra/AbstractMasterSystemService.java
@@ -43,6 +43,7 @@ import com.android.internal.infra.AbstractRemoteService;
import com.android.internal.os.BackgroundThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
@@ -299,16 +300,16 @@ public abstract class AbstractMasterSystemService<M extends AbstractMasterSystem
}
@Override // from SystemService
- public void onUnlockUser(int userId) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
synchronized (mLock) {
- updateCachedServiceLocked(userId);
+ updateCachedServiceLocked(user.getUserIdentifier());
}
}
@Override // from SystemService
- public void onCleanupUser(int userId) {
+ public void onUserStopped(@NonNull TargetUser user) {
synchronized (mLock) {
- removeCachedServiceLocked(userId);
+ removeCachedServiceLocked(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 254285dfbd41..3cd70fecbf3d 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -159,6 +159,7 @@ import com.android.internal.view.InputBindResult;
import com.android.server.EventLogTags;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.inputmethod.InputMethodManagerInternal.InputMethodListListener;
import com.android.server.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
import com.android.server.inputmethod.InputMethodUtils.InputMethodSettings;
@@ -1596,10 +1597,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
@Override
- public void onSwitchUser(@UserIdInt int userHandle) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
// Called on ActivityManager thread.
synchronized (mService.mMethodMap) {
- mService.scheduleSwitchUserTaskLocked(userHandle, null /* clientToBeReset */);
+ mService.scheduleSwitchUserTaskLocked(to.getUserIdentifier(),
+ /* clientToBeReset= */ null);
}
}
@@ -1615,10 +1617,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
@Override
- public void onUnlockUser(final @UserIdInt int userHandle) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
// Called on ActivityManager thread.
mService.mHandler.sendMessage(mService.mHandler.obtainMessage(MSG_SYSTEM_UNLOCK_USER,
- userHandle /* arg1 */, 0 /* arg2 */));
+ /* arg1= */ user.getUserIdentifier(), /* arg2= */ 0));
}
}
diff --git a/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
index 2516e289f099..937514ca9139 100644
--- a/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
@@ -94,6 +94,7 @@ import com.android.internal.view.InlineSuggestionsRequestInfo;
import com.android.internal.view.InputBindResult;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.wm.WindowManagerInternal;
import java.io.FileDescriptor;
@@ -249,23 +250,26 @@ public final class MultiClientInputMethodManagerService {
@MainThread
@Override
- public void onStartUser(@UserIdInt int userId) {
+ public void onUserStarting(@NonNull TargetUser user) {
mOnWorkerThreadCallback.getHandler().sendMessage(PooledLambda.obtainMessage(
- OnWorkerThreadCallback::onStartUser, mOnWorkerThreadCallback, userId));
+ OnWorkerThreadCallback::onStartUser, mOnWorkerThreadCallback,
+ user.getUserIdentifier()));
}
@MainThread
@Override
- public void onUnlockUser(@UserIdInt int userId) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
mOnWorkerThreadCallback.getHandler().sendMessage(PooledLambda.obtainMessage(
- OnWorkerThreadCallback::onUnlockUser, mOnWorkerThreadCallback, userId));
+ OnWorkerThreadCallback::onUnlockUser, mOnWorkerThreadCallback,
+ user.getUserIdentifier()));
}
@MainThread
@Override
- public void onStopUser(@UserIdInt int userId) {
+ public void onUserStopping(@NonNull TargetUser user) {
mOnWorkerThreadCallback.getHandler().sendMessage(PooledLambda.obtainMessage(
- OnWorkerThreadCallback::onStopUser, mOnWorkerThreadCallback, userId));
+ OnWorkerThreadCallback::onStopUser, mOnWorkerThreadCallback,
+ user.getUserIdentifier()));
}
}
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
index e56884832f0f..f1b89c7a433c 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
@@ -123,6 +123,7 @@ import com.android.internal.widget.VerifyCredentialResponse;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.locksettings.LockSettingsStorage.CredentialHash;
import com.android.server.locksettings.LockSettingsStorage.PersistentData;
import com.android.server.locksettings.SyntheticPasswordManager.AuthenticationResult;
@@ -275,18 +276,18 @@ public class LockSettingsService extends ILockSettings.Stub {
}
@Override
- public void onStartUser(int userHandle) {
- mLockSettingsService.onStartUser(userHandle);
+ public void onUserStarting(@NonNull TargetUser user) {
+ mLockSettingsService.onStartUser(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(int userHandle) {
- mLockSettingsService.onUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mLockSettingsService.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onCleanupUser(int userHandle) {
- mLockSettingsService.onCleanupUser(userHandle);
+ public void onUserStopped(@NonNull TargetUser user) {
+ mLockSettingsService.onCleanupUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index 0eba69ef6348..67e4ca14d383 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -25,6 +25,8 @@ import static com.android.server.media.MediaKeyDispatcher.isLongPressOverridden;
import static com.android.server.media.MediaKeyDispatcher.isSingleTapOverridden;
import static com.android.server.media.MediaKeyDispatcher.isTripleTapOverridden;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.INotificationManager;
import android.app.KeyguardManager;
@@ -86,6 +88,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.DumpUtils;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.Watchdog;
import com.android.server.Watchdog.Monitor;
@@ -335,19 +338,21 @@ public class MediaSessionService extends SystemService implements Monitor {
}
@Override
- public void onStartUser(int userId) {
- if (DEBUG) Log.d(TAG, "onStartUser: " + userId);
+ public void onUserStarting(@NonNull TargetUser user) {
+ if (DEBUG) Log.d(TAG, "onStartUser: " + user);
updateUser();
}
@Override
- public void onSwitchUser(int userId) {
- if (DEBUG) Log.d(TAG, "onSwitchUser: " + userId);
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ if (DEBUG) Log.d(TAG, "onSwitchUser: " + to);
updateUser();
}
@Override
- public void onCleanupUser(int userId) {
+ public void onUserStopped(@NonNull TargetUser targetUser) {
+ int userId = targetUser.getUserIdentifier();
+
if (DEBUG) Log.d(TAG, "onCleanupUser: " + userId);
synchronized (mLock) {
FullUserRecord user = getFullUserRecordLocked(userId);
diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
index 1a749b34d85e..94776f8c7cb4 100644
--- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
+++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
@@ -17,6 +17,8 @@
package com.android.server.media.projection;
import android.Manifest;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.ActivityManagerInternal;
import android.app.AppOpsManager;
import android.app.IProcessObserver;
@@ -48,6 +50,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.Watchdog;
import java.io.FileDescriptor;
@@ -122,8 +125,8 @@ public final class MediaProjectionManagerService extends SystemService
}
@Override
- public void onSwitchUser(int userId) {
- mMediaRouter.rebindAsUser(userId);
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ mMediaRouter.rebindAsUser(to.getUserIdentifier());
synchronized (mLock) {
if (mProjectionGrant != null) {
mProjectionGrant.stop();
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 88964e055a18..87ab91615d52 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -261,6 +261,7 @@ import com.android.server.EventLogTags;
import com.android.server.IoThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.UiThread;
import com.android.server.lights.LightsManager;
import com.android.server.lights.LogicalLight;
@@ -2349,11 +2350,11 @@ public class NotificationManagerService extends SystemService {
}
@Override
- public void onUnlockUser(@NonNull UserInfo userInfo) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
mHandler.post(() -> {
Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "notifHistoryUnlockUser");
try {
- mHistoryManager.onUserUnlocked(userInfo.id);
+ mHistoryManager.onUserUnlocked(user.getUserIdentifier());
} finally {
Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
}
@@ -2361,11 +2362,11 @@ public class NotificationManagerService extends SystemService {
}
@Override
- public void onStopUser(@NonNull UserInfo userInfo) {
+ public void onUserStopping(@NonNull TargetUser user) {
mHandler.post(() -> {
Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "notifHistoryStopUser");
try {
- mHistoryManager.onUserStopped(userInfo.id);
+ mHistoryManager.onUserStopped(user.getUserIdentifier());
} finally {
Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
}
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index 396815399874..ed055f324f47 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -31,6 +31,7 @@ import static android.os.Trace.traceEnd;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UserIdInt;
import android.app.ActivityManager;
import android.app.IActivityManager;
import android.content.BroadcastReceiver;
@@ -68,6 +69,7 @@ import com.android.server.IoThread;
import com.android.server.LocalServices;
import com.android.server.SystemConfig;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.pm.UserManagerService;
import libcore.util.EmptyArray;
@@ -303,7 +305,11 @@ public final class OverlayManagerService extends SystemService {
}
@Override
- public void onSwitchUser(final int newUserId) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ onSwitchUser(to.getUserIdentifier());
+ }
+
+ private void onSwitchUser(@UserIdInt int newUserId) {
try {
traceBegin(TRACE_TAG_RRO, "OMS#onSwitchUser " + newUserId);
// ensure overlays in the settings are up-to-date, and propagate
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index f16b5b48d913..89ed3c755783 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -108,6 +108,7 @@ import com.android.internal.util.Preconditions;
import com.android.internal.util.StatLogger;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.pm.ShortcutUser.PackageWithUser;
import com.android.server.uri.UriGrantsManagerInternal;
@@ -614,13 +615,13 @@ public class ShortcutService extends IShortcutService.Stub {
}
@Override
- public void onStopUser(int userHandle) {
- mService.handleStopUser(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mService.handleStopUser(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(int userId) {
- mService.handleUnlockUser(userId);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.handleUnlockUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index a44d1797b82b..74800d1574be 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -110,6 +110,7 @@ import com.android.internal.widget.LockPatternUtils;
import com.android.server.LocalServices;
import com.android.server.LockGuard;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.am.UserState;
import com.android.server.storage.DeviceStorageMonitorInternal;
import com.android.server.utils.TimingsTraceAndSlog;
@@ -553,9 +554,9 @@ public class UserManagerService extends IUserManager.Stub {
}
@Override
- public void onStartUser(@UserIdInt int userId) {
+ public void onUserStarting(@NonNull TargetUser targetUser) {
synchronized (mUms.mUsersLock) {
- final UserData user = mUms.getUserDataLU(userId);
+ final UserData user = mUms.getUserDataLU(targetUser.getUserIdentifier());
if (user != null) {
user.startRealtime = SystemClock.elapsedRealtime();
}
@@ -563,9 +564,9 @@ public class UserManagerService extends IUserManager.Stub {
}
@Override
- public void onUnlockUser(@UserIdInt int userId) {
+ public void onUserUnlocking(@NonNull TargetUser targetUser) {
synchronized (mUms.mUsersLock) {
- final UserData user = mUms.getUserDataLU(userId);
+ final UserData user = mUms.getUserDataLU(targetUser.getUserIdentifier());
if (user != null) {
user.unlockRealtime = SystemClock.elapsedRealtime();
}
@@ -573,9 +574,9 @@ public class UserManagerService extends IUserManager.Stub {
}
@Override
- public void onStopUser(@UserIdInt int userId) {
+ public void onUserStopping(@NonNull TargetUser targetUser) {
synchronized (mUms.mUsersLock) {
- final UserData user = mUms.getUserDataLU(userId);
+ final UserData user = mUms.getUserDataLU(targetUser.getUserIdentifier());
if (user != null) {
user.startRealtime = 0;
user.unlockRealtime = 0;
diff --git a/services/core/java/com/android/server/policy/PermissionPolicyService.java b/services/core/java/com/android/server/policy/PermissionPolicyService.java
index 37f088b170eb..4d48a2e63b30 100644
--- a/services/core/java/com/android/server/policy/PermissionPolicyService.java
+++ b/services/core/java/com/android/server/policy/PermissionPolicyService.java
@@ -67,6 +67,7 @@ import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.pm.parsing.pkg.AndroidPackage;
import com.android.server.pm.permission.PermissionManagerServiceInternal;
import com.android.server.policy.PermissionPolicyInternal.OnInitializedCallback;
@@ -347,7 +348,11 @@ public final class PermissionPolicyService extends SystemService {
}
@Override
- public void onStartUser(@UserIdInt int userId) {
+ public void onUserStarting(@NonNull TargetUser user) {
+ onStartUser(user.getUserIdentifier());
+ }
+
+ private void onStartUser(@UserIdInt int userId) {
if (DEBUG) Slog.i(LOG_TAG, "onStartUser(" + userId + ")");
if (isStarted(userId)) {
@@ -373,11 +378,11 @@ public final class PermissionPolicyService extends SystemService {
}
@Override
- public void onStopUser(@UserIdInt int userId) {
- if (DEBUG) Slog.i(LOG_TAG, "onStopUser(" + userId + ")");
+ public void onUserStopping(@NonNull TargetUser user) {
+ if (DEBUG) Slog.i(LOG_TAG, "onStopUser(" + user + ")");
synchronized (mLock) {
- mIsStarted.delete(userId);
+ mIsStarted.delete(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/role/RoleManagerService.java b/services/core/java/com/android/server/role/RoleManagerService.java
index 392792dbae69..a291cef5b39e 100644
--- a/services/core/java/com/android/server/role/RoleManagerService.java
+++ b/services/core/java/com/android/server/role/RoleManagerService.java
@@ -34,14 +34,11 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.PermissionChecker;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageManagerInternal;
import android.content.pm.Signature;
-import android.database.CursorWindow;
import android.os.Binder;
-import android.os.Bundle;
import android.os.Handler;
import android.os.RemoteCallback;
import android.os.RemoteCallbackList;
@@ -74,6 +71,7 @@ import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.pm.permission.PermissionManagerServiceInternal;
import java.io.ByteArrayOutputStream;
@@ -217,8 +215,8 @@ public class RoleManagerService extends SystemService implements RoleUserState.C
}
@Override
- public void onStartUser(@UserIdInt int userId) {
- maybeGrantDefaultRolesSync(userId);
+ public void onUserStarting(@NonNull TargetUser user) {
+ maybeGrantDefaultRolesSync(user.getUserIdentifier());
}
@MainThread
diff --git a/services/core/java/com/android/server/rollback/RollbackManagerService.java b/services/core/java/com/android/server/rollback/RollbackManagerService.java
index ce1156bbe059..04a5ca515c5c 100644
--- a/services/core/java/com/android/server/rollback/RollbackManagerService.java
+++ b/services/core/java/com/android/server/rollback/RollbackManagerService.java
@@ -16,10 +16,12 @@
package com.android.server.rollback;
+import android.annotation.NonNull;
import android.content.Context;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
/**
* Service that manages APK level rollbacks. Publishes
@@ -43,8 +45,8 @@ public final class RollbackManagerService extends SystemService {
}
@Override
- public void onUserUnlocking(TargetUser user) {
- mService.onUnlockUser(user.getUserHandle().getIdentifier());
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.onUnlockUser(user.getUserIdentifier());
}
@Override
diff --git a/services/core/java/com/android/server/search/SearchManagerService.java b/services/core/java/com/android/server/search/SearchManagerService.java
index fea68d3090f0..7091c47b8e83 100644
--- a/services/core/java/com/android/server/search/SearchManagerService.java
+++ b/services/core/java/com/android/server/search/SearchManagerService.java
@@ -16,9 +16,7 @@
package com.android.server.search;
-import android.app.ActivityManager;
-import android.app.ActivityTaskManager;
-import android.app.IActivityTaskManager;
+import android.annotation.NonNull;
import android.app.ISearchManager;
import android.app.SearchManager;
import android.app.SearchableInfo;
@@ -26,18 +24,14 @@ import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.content.res.Configuration;
import android.database.ContentObserver;
import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
-import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
-import android.service.voice.VoiceInteractionService;
import android.util.Log;
import android.util.SparseArray;
@@ -48,6 +42,7 @@ import com.android.internal.util.DumpUtils;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.statusbar.StatusBarManagerInternal;
import java.io.FileDescriptor;
@@ -76,18 +71,13 @@ public class SearchManagerService extends ISearchManager.Stub {
}
@Override
- public void onUnlockUser(final int userId) {
- mService.mHandler.post(new Runnable() {
- @Override
- public void run() {
- mService.onUnlockUser(userId);
- }
- });
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.mHandler.post(() -> mService.onUnlockUser(user.getUserIdentifier()));
}
@Override
- public void onCleanupUser(int userHandle) {
- mService.onCleanupUser(userHandle);
+ public void onUserStopped(@NonNull TargetUser user) {
+ mService.onCleanupUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/slice/SliceManagerService.java b/services/core/java/com/android/server/slice/SliceManagerService.java
index 7c8c49461e64..4349ca451c36 100644
--- a/services/core/java/com/android/server/slice/SliceManagerService.java
+++ b/services/core/java/com/android/server/slice/SliceManagerService.java
@@ -26,6 +26,7 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.os.Process.SYSTEM_UID;
import android.Manifest.permission;
+import android.annotation.NonNull;
import android.app.AppOpsManager;
import android.app.slice.ISliceManager;
import android.app.slice.SliceSpec;
@@ -59,10 +60,10 @@ import android.util.Xml.Encoding;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.AssistUtils;
-import com.android.internal.util.Preconditions;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -615,13 +616,13 @@ public class SliceManagerService extends ISliceManager.Stub {
}
@Override
- public void onUnlockUser(int userHandle) {
- mService.onUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.onUnlockUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- mService.onStopUser(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mService.onStopUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
index 1707d9542813..363e86dea8b1 100644
--- a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
+++ b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
@@ -66,6 +66,7 @@ import com.android.internal.util.FunctionalUtils.ThrowingRunnable;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -118,14 +119,14 @@ public final class TextClassificationManagerService extends ITextClassifierServi
}
@Override
- public void onStartUser(int userId) {
- processAnyPendingWork(userId);
+ public void onUserStarting(@NonNull TargetUser user) {
+ processAnyPendingWork(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(int userId) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
// Rebind if we failed earlier due to locked encrypted user
- processAnyPendingWork(userId);
+ processAnyPendingWork(user.getUserIdentifier());
}
private void processAnyPendingWork(int userId) {
@@ -135,7 +136,9 @@ public final class TextClassificationManagerService extends ITextClassifierServi
}
@Override
- public void onStopUser(int userId) {
+ public void onUserStopping(@NonNull TargetUser user) {
+ int userId = user.getUserIdentifier();
+
synchronized (mManagerService.mLock) {
UserState userState = mManagerService.peekUserStateLocked(userId);
if (userState != null) {
diff --git a/services/core/java/com/android/server/textservices/TextServicesManagerService.java b/services/core/java/com/android/server/textservices/TextServicesManagerService.java
index e0bac93cce16..f39067b110a8 100644
--- a/services/core/java/com/android/server/textservices/TextServicesManagerService.java
+++ b/services/core/java/com/android/server/textservices/TextServicesManagerService.java
@@ -58,6 +58,7 @@ import com.android.internal.textservice.ITextServicesSessionListener;
import com.android.internal.util.DumpUtils;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import org.xmlpull.v1.XmlPullParserException;
@@ -287,21 +288,21 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
}
@Override
- public void onStopUser(@UserIdInt int userHandle) {
+ public void onUserStopping(@NonNull TargetUser user) {
if (DBG) {
- Slog.d(TAG, "onStopUser userId: " + userHandle);
+ Slog.d(TAG, "onStopUser user: " + user);
}
- mService.onStopUser(userHandle);
+ mService.onStopUser(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(@UserIdInt int userHandle) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
if(DBG) {
- Slog.d(TAG, "onUnlockUser userId: " + userHandle);
+ Slog.d(TAG, "onUnlockUser userId: " + user);
}
// Called on the system server's main looper thread.
// TODO: Dispatch this to a worker thread as needed.
- mService.onUnlockUser(userHandle);
+ mService.onUnlockUser(user.getUserIdentifier());
}
}
diff --git a/services/core/java/com/android/server/trust/TrustManagerService.java b/services/core/java/com/android/server/trust/TrustManagerService.java
index fd3c1f97df8b..6adff0d32d88 100644
--- a/services/core/java/com/android/server/trust/TrustManagerService.java
+++ b/services/core/java/com/android/server/trust/TrustManagerService.java
@@ -17,6 +17,8 @@
package com.android.server.trust;
import android.Manifest;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.ActivityManager;
import android.app.AlarmManager;
@@ -71,6 +73,7 @@ import com.android.internal.content.PackageMonitor;
import com.android.internal.util.DumpUtils;
import com.android.internal.widget.LockPatternUtils;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -1042,28 +1045,28 @@ public class TrustManagerService extends SystemService {
// User lifecycle
@Override
- public void onStartUser(int userId) {
- mHandler.obtainMessage(MSG_START_USER, userId, 0, null).sendToTarget();
+ public void onUserStarting(@NonNull TargetUser user) {
+ mHandler.obtainMessage(MSG_START_USER, user.getUserIdentifier(), 0, null).sendToTarget();
}
@Override
- public void onCleanupUser(int userId) {
- mHandler.obtainMessage(MSG_CLEANUP_USER, userId, 0, null).sendToTarget();
+ public void onUserStopped(@NonNull TargetUser user) {
+ mHandler.obtainMessage(MSG_CLEANUP_USER, user.getUserIdentifier(), 0, null).sendToTarget();
}
@Override
- public void onSwitchUser(int userId) {
- mHandler.obtainMessage(MSG_SWITCH_USER, userId, 0, null).sendToTarget();
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
+ mHandler.obtainMessage(MSG_SWITCH_USER, to.getUserIdentifier(), 0, null).sendToTarget();
}
@Override
- public void onUnlockUser(int userId) {
- mHandler.obtainMessage(MSG_UNLOCK_USER, userId, 0, null).sendToTarget();
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mHandler.obtainMessage(MSG_UNLOCK_USER, user.getUserIdentifier(), 0, null).sendToTarget();
}
@Override
- public void onStopUser(@UserIdInt int userId) {
- mHandler.obtainMessage(MSG_STOP_USER, userId, 0, null).sendToTarget();
+ public void onUserStopping(@NonNull TargetUser user) {
+ mHandler.obtainMessage(MSG_STOP_USER, user.getUserIdentifier(), 0, null).sendToTarget();
}
// Plumbing
diff --git a/services/core/java/com/android/server/tv/TvInputManagerService.java b/services/core/java/com/android/server/tv/TvInputManagerService.java
index 323ac7b8806e..b3ec849e6c90 100755
--- a/services/core/java/com/android/server/tv/TvInputManagerService.java
+++ b/services/core/java/com/android/server/tv/TvInputManagerService.java
@@ -20,6 +20,7 @@ import static android.media.AudioManager.DEVICE_NONE;
import static android.media.tv.TvInputManager.INPUT_STATE_CONNECTED;
import static android.media.tv.TvInputManager.INPUT_STATE_CONNECTED_STANDBY;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.content.BroadcastReceiver;
@@ -83,6 +84,7 @@ import com.android.internal.util.DumpUtils;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.IoThread;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import java.io.File;
import java.io.FileDescriptor;
@@ -165,10 +167,10 @@ public final class TvInputManagerService extends SystemService {
}
@Override
- public void onUnlockUser(int userHandle) {
- if (DEBUG) Slog.d(TAG, "onUnlockUser(userHandle=" + userHandle + ")");
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ if (DEBUG) Slog.d(TAG, "onUnlockUser(user=" + user + ")");
synchronized (mLock) {
- if (mCurrentUserId != userHandle) {
+ if (mCurrentUserId != user.getUserIdentifier()) {
return;
}
buildTvInputListLocked(mCurrentUserId, null);
diff --git a/services/core/java/com/android/server/vr/VrManagerService.java b/services/core/java/com/android/server/vr/VrManagerService.java
index 45689ce73c9f..ae873e2fe467 100644
--- a/services/core/java/com/android/server/vr/VrManagerService.java
+++ b/services/core/java/com/android/server/vr/VrManagerService.java
@@ -19,6 +19,7 @@ import static android.view.Display.INVALID_DISPLAY;
import android.Manifest;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.app.AppOpsManager;
@@ -65,6 +66,7 @@ import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.SystemConfig;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.utils.ManagedApplicationService;
import com.android.server.utils.ManagedApplicationService.BinderChecker;
import com.android.server.utils.ManagedApplicationService.LogEvent;
@@ -817,14 +819,14 @@ public class VrManagerService extends SystemService
}
@Override
- public void onStartUser(int userHandle) {
+ public void onUserStarting(@NonNull TargetUser user) {
synchronized (mLock) {
mComponentObserver.onUsersChanged();
}
}
@Override
- public void onSwitchUser(int userHandle) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
FgThread.getHandler().post(() -> {
synchronized (mLock) {
mComponentObserver.onUsersChanged();
@@ -834,7 +836,7 @@ public class VrManagerService extends SystemService
}
@Override
- public void onStopUser(int userHandle) {
+ public void onUserStopping(@NonNull TargetUser user) {
synchronized (mLock) {
mComponentObserver.onUsersChanged();
}
@@ -842,7 +844,7 @@ public class VrManagerService extends SystemService
}
@Override
- public void onCleanupUser(int userHandle) {
+ public void onUserStopped(@NonNull TargetUser user) {
synchronized (mLock) {
mComponentObserver.onUsersChanged();
}
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index 90f87b16e70d..2f695c6fd3f1 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -105,6 +105,7 @@ import com.android.server.EventLogTags;
import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.utils.TimingsTraceAndSlog;
import com.android.server.wm.WindowManagerInternal;
@@ -166,9 +167,9 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
}
@Override
- public void onUnlockUser(int userHandle) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
if (mService != null) {
- mService.onUnlockUser(userHandle);
+ mService.onUnlockUser(user.getUserIdentifier());
}
}
}
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 029b5547ae29..9e838da26588 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -255,6 +255,7 @@ import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.AttributeCache;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.SystemServiceManager;
import com.android.server.UiThread;
import com.android.server.Watchdog;
@@ -1020,16 +1021,17 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
@Override
- public void onUnlockUser(int userId) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
synchronized (mService.getGlobalLock()) {
- mService.mStackSupervisor.onUserUnlocked(userId);
+ mService.mStackSupervisor.onUserUnlocked(user.getUserIdentifier());
}
}
@Override
- public void onCleanupUser(int userId) {
+ public void onUserStopped(@NonNull TargetUser user) {
synchronized (mService.getGlobalLock()) {
- mService.mStackSupervisor.mLaunchParamsPersister.onCleanupUser(userId);
+ mService.mStackSupervisor.mLaunchParamsPersister
+ .onCleanupUser(user.getUserIdentifier());
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 7ec819f13e96..9a2bef85860f 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -290,6 +290,7 @@ import com.android.server.LockGuard;
import com.android.server.PersistentDataBlockManagerInternal;
import com.android.server.SystemServerInitThreadPool;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.devicepolicy.DevicePolicyManagerService.ActiveAdmin.TrustAgentInfo;
import com.android.server.inputmethod.InputMethodManagerInternal;
import com.android.server.net.NetworkPolicyManagerInternal;
@@ -775,18 +776,18 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
}
@Override
- public void onStartUser(int userHandle) {
- mService.handleStartUser(userHandle);
+ public void onUserStarting(@NonNull TargetUser user) {
+ mService.handleStartUser(user.getUserIdentifier());
}
@Override
- public void onUnlockUser(int userHandle) {
- mService.handleUnlockUser(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mService.handleUnlockUser(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- mService.handleStopUser(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mService.handleStopUser(user.getUserIdentifier());
}
}
diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java
index 51478b365715..2cfdf3fd4f6f 100644
--- a/services/midi/java/com/android/server/midi/MidiService.java
+++ b/services/midi/java/com/android/server/midi/MidiService.java
@@ -16,6 +16,7 @@
package com.android.server.midi;
+import android.annotation.NonNull;
import android.bluetooth.BluetoothDevice;
import android.content.ComponentName;
import android.content.Context;
@@ -47,8 +48,8 @@ import android.util.Log;
import com.android.internal.content.PackageMonitor;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.IndentingPrintWriter;
-import com.android.internal.util.XmlUtils;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import org.xmlpull.v1.XmlPullParser;
@@ -75,8 +76,8 @@ public class MidiService extends IMidiManager.Stub {
}
@Override
- public void onUnlockUser(int userHandle) {
- if (userHandle == UserHandle.USER_SYSTEM) {
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ if (user.getUserIdentifier() == UserHandle.USER_SYSTEM) {
mMidiService.onUnlockUser();
}
}
diff --git a/services/print/java/com/android/server/print/PrintManagerService.java b/services/print/java/com/android/server/print/PrintManagerService.java
index d064f7ee62c3..1cdcbd87c1f5 100644
--- a/services/print/java/com/android/server/print/PrintManagerService.java
+++ b/services/print/java/com/android/server/print/PrintManagerService.java
@@ -72,6 +72,7 @@ import com.android.internal.util.Preconditions;
import com.android.internal.util.dump.DualDumpOutputStream;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -101,13 +102,13 @@ public final class PrintManagerService extends SystemService {
}
@Override
- public void onUnlockUser(int userHandle) {
- mPrintManagerImpl.handleUserUnlocked(userHandle);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mPrintManagerImpl.handleUserUnlocked(user.getUserIdentifier());
}
@Override
- public void onStopUser(int userHandle) {
- mPrintManagerImpl.handleUserStopped(userHandle);
+ public void onUserStopping(@NonNull TargetUser user) {
+ mPrintManagerImpl.handleUserStopped(user.getUserIdentifier());
}
class PrintManagerImpl extends IPrintManager.Stub {
diff --git a/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java b/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java
index 4a73efe25fdb..cd9b6aca72e0 100644
--- a/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java
@@ -38,7 +38,6 @@ import static org.testng.Assert.expectThrows;
import android.annotation.UserIdInt;
import android.app.Application;
-import android.app.backup.BackupManager;
import android.app.backup.BackupManager.OperationType;
import android.app.backup.IBackupManagerMonitor;
import android.app.backup.IBackupObserver;
@@ -46,6 +45,7 @@ import android.app.backup.IFullBackupRestoreObserver;
import android.app.backup.ISelectBackupTransportCallback;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.UserInfo;
import android.os.IBinder;
import android.os.ParcelFileDescriptor;
import android.os.Process;
@@ -54,6 +54,7 @@ import android.os.UserManager;
import android.platform.test.annotations.Presubmit;
import android.util.SparseArray;
+import com.android.server.SystemService.TargetUser;
import com.android.server.backup.testing.TransportData;
import com.android.server.testing.shadows.ShadowApplicationPackageManager;
import com.android.server.testing.shadows.ShadowBinder;
@@ -1601,7 +1602,7 @@ public class BackupManagerServiceRoboTest {
BackupManagerService.Lifecycle lifecycle =
new BackupManagerService.Lifecycle(mContext, backupManagerService);
- lifecycle.onUnlockUser(UserHandle.USER_SYSTEM);
+ lifecycle.onUserUnlocking(new TargetUser(new UserInfo(UserHandle.USER_SYSTEM, null, 0)));
verify(backupManagerService).onUnlockUser(UserHandle.USER_SYSTEM);
}
@@ -1613,7 +1614,7 @@ public class BackupManagerServiceRoboTest {
BackupManagerService.Lifecycle lifecycle =
new BackupManagerService.Lifecycle(mContext, backupManagerService);
- lifecycle.onStopUser(UserHandle.USER_SYSTEM);
+ lifecycle.onUserStopping(new TargetUser(new UserInfo(UserHandle.USER_SYSTEM, null, 0)));
verify(backupManagerService).onStopUser(UserHandle.USER_SYSTEM);
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index 16aa87b3e59c..43efaecf0822 100755
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -166,6 +166,7 @@ import com.android.internal.util.FastXmlSerializer;
import com.android.server.DeviceIdleInternal;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.UiServiceTestCase;
import com.android.server.lights.LightsManager;
import com.android.server.lights.LogicalLight;
@@ -178,7 +179,6 @@ import com.android.server.wm.WindowManagerInternal;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -6434,7 +6434,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
public void testOnUnlockUser() {
UserInfo ui = new UserInfo();
ui.id = 10;
- mService.onUnlockUser(ui);
+ mService.onUserUnlocking(new TargetUser(ui));
waitForIdle();
verify(mHistoryManager, timeout(MAX_POST_DELAY).times(1)).onUserUnlocked(ui.id);
@@ -6444,7 +6444,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
public void testOnStopUser() {
UserInfo ui = new UserInfo();
ui.id = 10;
- mService.onStopUser(ui);
+ mService.onUserStopping(new TargetUser(ui));
waitForIdle();
verify(mHistoryManager, timeout(MAX_POST_DELAY).times(1)).onUserStopped(ui.id);
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index 9b18ec644ceb..2fd6c4249f99 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -92,6 +92,7 @@ import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.SystemService.TargetUser;
import com.android.server.usage.AppStandbyInternal.AppIdleStateChangeListener;
import java.io.BufferedReader;
@@ -291,27 +292,26 @@ public class UsageStatsService extends SystemService implements
}
@Override
- public void onStartUser(UserInfo userInfo) {
+ public void onUserStarting(@NonNull TargetUser user) {
// Create an entry in the user state map to indicate that the user has been started but
// not necessarily unlocked. This will ensure that reported events are flushed to disk
// event if the user is never unlocked (following the logic in #flushToDiskLocked)
- mUserState.put(userInfo.id, null);
- super.onStartUser(userInfo);
+ mUserState.put(user.getUserIdentifier(), null);
}
@Override
- public void onUnlockUser(@NonNull UserInfo userInfo) {
- mHandler.obtainMessage(MSG_UNLOCKED_USER, userInfo.id, 0).sendToTarget();
- super.onUnlockUser(userInfo);
+ public void onUserUnlocking(@NonNull TargetUser user) {
+ mHandler.obtainMessage(MSG_UNLOCKED_USER, user.getUserIdentifier(), 0).sendToTarget();
}
@Override
- public void onStopUser(@NonNull UserInfo userInfo) {
+ public void onUserStopping(@NonNull TargetUser user) {
+ final UserInfo userInfo = user.getUserInfo();
+
synchronized (mLock) {
// User was started but never unlocked so no need to report a user stopped event
if (!mUserUnlockedStates.get(userInfo.id)) {
persistPendingEventsLocked(userInfo.id);
- super.onStopUser(userInfo);
return;
}
@@ -326,7 +326,6 @@ public class UsageStatsService extends SystemService implements
mUserUnlockedStates.put(userInfo.id, false);
mUserState.put(userInfo.id, null); // release the service (mainly for GC)
}
- super.onStopUser(userInfo);
}
private void onUserUnlocked(int userId) {
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java
index 6c13cd799bc2..dee69235a5c1 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java
@@ -221,14 +221,6 @@ public class SoundTriggerService extends SystemService {
}
}
- @Override
- public void onStartUser(int userHandle) {
- }
-
- @Override
- public void onSwitchUser(int userHandle) {
- }
-
private synchronized void initSoundTriggerHelper() {
if (mSoundTriggerHelper == null) {
mSoundTriggerHelper = new SoundTriggerHelper(mContext);
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index 9621f68f9d6c..0f898f8e679e 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -189,10 +189,10 @@ public class VoiceInteractionManagerService extends SystemService {
}
@Override
- public void onSwitchUser(@NonNull UserInfo from, @NonNull UserInfo to) {
+ public void onUserSwitching(@Nullable TargetUser from, @NonNull TargetUser to) {
if (DEBUG_USER) Slog.d(TAG, "onSwitchUser(" + from + " > " + to + ")");
- mServiceStub.switchUser(to.id);
+ mServiceStub.switchUser(to.getUserIdentifier());
}
class LocalService extends VoiceInteractionManagerInternal {