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

Commit c63c1dae authored by JW Wang's avatar JW Wang
Browse files

Register an OnPropertiesChangedListener in onBootCompleted (2/n)

Bug: 147712943
Test: atest StagedRollbackTest RollbackTest
Change-Id: I329b1f1a503fd9f824cbe322f07ab653a99e5676
parent 3a85019c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.content.rollback.RollbackManager;
import android.os.Binder;
import android.os.Environment;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.HandlerThread;
import android.os.Process;
import android.os.SystemClock;
@@ -78,6 +79,7 @@ import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;

@@ -134,6 +136,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {

    private final Context mContext;
    private final HandlerThread mHandlerThread;
    private final Executor mExecutor;
    private final Installer mInstaller;
    private final RollbackPackageHealthObserver mPackageHealthObserver;
    private final AppDataRollbackHelper mAppDataRollbackHelper;
@@ -173,6 +176,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
        mHandlerThread = new HandlerThread("RollbackManagerServiceHandler");
        mHandlerThread.start();
        Watchdog.getInstance().addThread(getHandler(), HANDLER_THREAD_TIMEOUT_DURATION_MILLIS);
        mExecutor = new HandlerExecutor(getHandler());

        for (UserInfo userInfo : UserManager.get(mContext).getUsers(true)) {
            registerUserCallbacks(userInfo.getUserHandle());
@@ -511,6 +515,9 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {

    @AnyThread
    void onBootCompleted() {
        DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
                mExecutor, properties -> updateRollbackLifetimeDurationInMillis());

        getHandler().post(() -> {
            updateRollbackLifetimeDurationInMillis();
            runExpiration();