Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1cc1768e authored by Bernardo Rufino's avatar Bernardo Rufino
Browse files

Move isAbleToServeUser() to Trampoline

From BMS.

Test: atest BackupManagerServiceTest TrampolineRoboTest TrampolineTest
Bug: 135661048
Change-Id: I222d11dffd29d4ce1f30c3d68837110a2058a8aa
parent 9b55bfbd
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -95,28 +95,6 @@ public class BackupManagerService {
        }
    }

    // ---------------------------------------------
    // 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
+2 −1
Original line number Diff line number Diff line
@@ -269,7 +269,8 @@ public class Trampoline extends IBackupManager.Stub {
    // 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;
    }

    /**
+1 −2
Original line number Diff line number Diff line
@@ -139,7 +139,6 @@ public class TrampolineTest {
        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 @@ public class TrampolineTest {
    @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() {