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

Commit 604eb2a8 authored by Annie Meng's avatar Annie Meng
Browse files

[Multi-user] Consolidate BMS creation

Part of prep work to create a UserBMS instance per user.

Moves BMS state initialization to the BMS constructor. Most of this
state will then be moved to the UserBMS constructor since it's per-user
state.

Bug: 120212806
Test: 1) atest RunFrameworksServicesRoboTests
2) atest TrampolineTest
3) boot -> unlock user -> create service
4) adb shell bmgr flows

Change-Id: I140c4db3d5c147e3dd09e590eaf15a9f4d8b3da1
parent 3b2e750a
Loading
Loading
Loading
Loading
+5 −22
Original line number Diff line number Diff line
@@ -81,10 +81,12 @@ public class BackupManagerService {
        return sInstance;
    }

    /** Helper to create the {@link BackupManagerService} instance. */
    public static BackupManagerService create(
    private UserBackupManagerService mUserBackupManagerService;

    /** Instantiate a new instance of {@link BackupManagerService}. */
    public BackupManagerService(
            Context context,
            Trampoline parent,
            Trampoline trampoline,
            HandlerThread backupThread) {
        // Set up our transport options and initialize the default transport
        SystemConfig systemConfig = SystemConfig.getInstance();
@@ -115,25 +117,6 @@ public class BackupManagerService {
        // This dir on /cache is managed directly in init.rc
        File dataDir = new File(Environment.getDownloadCacheDirectory(), "backup_stage");

        return new BackupManagerService(
                context,
                parent,
                backupThread,
                baseStateDir,
                dataDir,
                transportManager);
    }

    private UserBackupManagerService mUserBackupManagerService;

    /** Instantiate a new instance of {@link BackupManagerService}. */
    public BackupManagerService(
            Context context,
            Trampoline trampoline,
            HandlerThread backupThread,
            File baseStateDir,
            File dataDir,
            TransportManager transportManager) {
        mUserBackupManagerService =
                new UserBackupManagerService(
                        context, trampoline, backupThread, baseStateDir, dataDir, transportManager);
+1 −1
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ public class Trampoline extends IBackupManager.Stub {
    }

    protected BackupManagerService createBackupManagerService() {
        return BackupManagerService.create(mContext, this, mHandlerThread);
        return new BackupManagerService(mContext, this, mHandlerThread);
    }

    /**
+1 −5
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ public class BackupManagerServiceTest {
    private static final String TEST_TRANSPORT = "transport";

    @Mock private UserBackupManagerService mUserBackupManagerService;
    @Mock private TransportManager mTransportManager;
    private BackupManagerService mBackupManagerService;
    private Context mContext;

@@ -72,10 +71,7 @@ public class BackupManagerServiceTest {
                new BackupManagerService(
                        application,
                        new Trampoline(application),
                        BackupManagerServiceTestUtils.startBackupThread(null),
                        new File(application.getCacheDir(), "base_state"),
                        new File(application.getCacheDir(), "data"),
                        mTransportManager);
                        BackupManagerServiceTestUtils.startBackupThread(null));
        mBackupManagerService.setUserBackupManagerService(mUserBackupManagerService);
    }