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

Commit ed9bc8e0 authored by Makoto Onuki's avatar Makoto Onuki Committed by android-build-merger
Browse files

Merge "Fix dead lock between AM and BatterySaverStateMachine" into pi-dev am: 9cbf27af

am: 893b56a4

Change-Id: I2a676dfdbd9eaa6b4172ef77ad70ebac8e13e6fe
parents 735e1a1a 893b56a4
Loading
Loading
Loading
Loading
+24 −15
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.util.proto.ProtoOutputStream;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.BackgroundThread;
import com.android.server.power.BatterySaverPolicy;
import com.android.server.power.BatterySaverStateMachineProto;

@@ -124,6 +125,8 @@ public class BatterySaverStateMachine {
        if (DEBUG) {
            Slog.d(TAG, "onBootCompleted");
        }
        // This is called with the power manager lock held. Don't do any
        runOnBgThread(() -> {
            synchronized (mLock) {

                final ContentResolver cr = mContext.getContentResolver();
@@ -143,6 +146,12 @@ public class BatterySaverStateMachine {

                doAutoBatterySaverLocked();
            }
        });
    }

    @VisibleForTesting
    void runOnBgThread(Runnable r) {
        BackgroundThread.getHandler().post(r);
    }

    void refreshSettingsLocked() {
+5 −0
Original line number Diff line number Diff line
@@ -139,6 +139,11 @@ public class BatterySaverStateMachineTest {
        protected int getGlobalSetting(String key, int defValue) {
            return mDevice.getGlobalSetting(key, defValue);
        }

        @Override
        void runOnBgThread(Runnable r) {
            r.run();
        }
    }

    @Before