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

Commit 452082a5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move isAbleToServeUser() to Trampoline"

parents 2fa208d9 1cc1768e
Loading
Loading
Loading
Loading
+0 −22
Original line number Original line 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}.
     * 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
     * If the user is not registered with the service (either the user is locked or not eligible for
+2 −1
Original line number Original line 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),
    // 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.
    // it's used in multiple places where I/O waits would cause system lock-ups.
    private boolean isUserReadyForBackup(int userId) {
    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 Original line Diff line number Diff line
@@ -139,7 +139,6 @@ public class TrampolineTest {
        mUserServices = new SparseArray<>();
        mUserServices = new SparseArray<>();
        mUserServices.append(UserHandle.USER_SYSTEM, mUserBackupManagerService);
        mUserServices.append(UserHandle.USER_SYSTEM, mUserBackupManagerService);
        mUserServices.append(NON_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(UserHandle.USER_SYSTEM)).thenReturn(mUserInfoMock);
        when(mUserManagerMock.getUserInfo(NON_USER_SYSTEM)).thenReturn(mUserInfoMock);
        when(mUserManagerMock.getUserInfo(NON_USER_SYSTEM)).thenReturn(mUserInfoMock);
@@ -794,7 +793,7 @@ public class TrampolineTest {
    @Test
    @Test
    public void selectBackupTransportAsyncForUser_beforeUserUnlocked_notifiesBackupNotAllowed()
    public void selectBackupTransportAsyncForUser_beforeUserUnlocked_notifiesBackupNotAllowed()
            throws Exception {
            throws Exception {
        when(mBackupManagerServiceMock.getUserServices()).thenReturn(new SparseArray<>());
        mUserServices.clear();
        CompletableFuture<Integer> future = new CompletableFuture<>();
        CompletableFuture<Integer> future = new CompletableFuture<>();
        ISelectBackupTransportCallback listener =
        ISelectBackupTransportCallback listener =
                new ISelectBackupTransportCallback.Stub() {
                new ISelectBackupTransportCallback.Stub() {