Move isAbleToServeUser() to Trampoline
From BMS.
Test: atest BackupManagerServiceTest TrampolineRoboTest TrampolineTest
Bug: 135661048
Change-Id: I222d11dffd29d4ce1f30c3d68837110a2058a8aa
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java
index fffdba7..58520a3 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerService.java
@@ -95,28 +95,6 @@
}
}
- // ---------------------------------------------
- // USER LIFECYCLE CALLBACKS
- // ---------------------------------------------
-
- boolean isAbleToServeUser(int userId) {
- return getUserServices().get(UserHandle.USER_SYSTEM) != null
- && getUserServices().get(userId) != null;
- }
-
- /**
- * Returns a list of users currently unlocked that have a {@link UserBackupManagerService}
- * registered.
- *
- * Warning: Do NOT modify returned object as it's used inside.
- *
- * TODO: Return a copy or only expose read-only information through other means.
- */
- @VisibleForTesting
- public SparseArray<UserBackupManagerService> getUserServices() {
- return mServiceUsers;
- }
-
/**
* Returns the {@link UserBackupManagerService} instance for the specified user {@code userId}.
* If the user is not registered with the service (either the user is locked or not eligible for
diff --git a/services/backup/java/com/android/server/backup/Trampoline.java b/services/backup/java/com/android/server/backup/Trampoline.java
index cd2fb03..e11bdaa 100644
--- a/services/backup/java/com/android/server/backup/Trampoline.java
+++ b/services/backup/java/com/android/server/backup/Trampoline.java
@@ -269,7 +269,8 @@
// This method should not perform any I/O (e.g. do not call isBackupActivatedForUser),
// it's used in multiple places where I/O waits would cause system lock-ups.
private boolean isUserReadyForBackup(int userId) {
- return mService.isAbleToServeUser(userId);
+ return mUserServices.get(UserHandle.USER_SYSTEM) != null
+ && mUserServices.get(userId) != null;
}
/**
diff --git a/services/tests/servicestests/src/com/android/server/backup/TrampolineTest.java b/services/tests/servicestests/src/com/android/server/backup/TrampolineTest.java
index 1f93513..8c97e7c 100644
--- a/services/tests/servicestests/src/com/android/server/backup/TrampolineTest.java
+++ b/services/tests/servicestests/src/com/android/server/backup/TrampolineTest.java
@@ -139,7 +139,6 @@
mUserServices = new SparseArray<>();
mUserServices.append(UserHandle.USER_SYSTEM, mUserBackupManagerService);
mUserServices.append(NON_USER_SYSTEM, mUserBackupManagerService);
- when(mBackupManagerServiceMock.getUserServices()).thenReturn(mUserServices);
when(mUserManagerMock.getUserInfo(UserHandle.USER_SYSTEM)).thenReturn(mUserInfoMock);
when(mUserManagerMock.getUserInfo(NON_USER_SYSTEM)).thenReturn(mUserInfoMock);
@@ -794,7 +793,7 @@
@Test
public void selectBackupTransportAsyncForUser_beforeUserUnlocked_notifiesBackupNotAllowed()
throws Exception {
- when(mBackupManagerServiceMock.getUserServices()).thenReturn(new SparseArray<>());
+ mUserServices.clear();
CompletableFuture<Integer> future = new CompletableFuture<>();
ISelectBackupTransportCallback listener =
new ISelectBackupTransportCallback.Stub() {