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

Commit da84fbcd authored by Kweku Adams's avatar Kweku Adams Committed by Automerger Merge Worker
Browse files

Merge "Avoid crash when resetting defaults." into tm-dev am: 637f7d57

parents dd2fe414 637f7d57
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -76,6 +76,8 @@ class ChargingModifier extends Modifier {
    }

    private final class ChargingTracker extends BroadcastReceiver {
        private boolean mIsSetup = false;

        /**
         * Track whether we're "charging", where charging means that we're ready to commit to
         * doing work.
@@ -83,6 +85,10 @@ class ChargingModifier extends Modifier {
        private volatile boolean mCharging;

        public void startTracking(@NonNull Context context) {
            if (mIsSetup) {
                return;
            }

            final IntentFilter filter = new IntentFilter();
            filter.addAction(BatteryManager.ACTION_CHARGING);
            filter.addAction(BatteryManager.ACTION_DISCHARGING);
@@ -91,10 +97,17 @@ class ChargingModifier extends Modifier {
            // Initialise tracker state.
            final BatteryManager batteryManager = context.getSystemService(BatteryManager.class);
            mCharging = batteryManager.isCharging();

            mIsSetup = true;
        }

        public void stopTracking(@NonNull Context context) {
            if (!mIsSetup) {
                return;
            }

            context.unregisterReceiver(this);
            mIsSetup = false;
        }

        @Override
+12 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ class DeviceIdleModifier extends Modifier {
    }

    private final class DeviceIdleTracker extends BroadcastReceiver {
        private boolean mIsSetup = false;

        private volatile boolean mDeviceIdle;
        private volatile boolean mDeviceLightIdle;
@@ -80,6 +81,10 @@ class DeviceIdleModifier extends Modifier {
        }

        void startTracking(@NonNull Context context) {
            if (mIsSetup) {
                return;
            }

            IntentFilter filter = new IntentFilter();
            filter.addAction(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED);
            filter.addAction(PowerManager.ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED);
@@ -88,10 +93,17 @@ class DeviceIdleModifier extends Modifier {
            // Initialise tracker state.
            mDeviceIdle = mPowerManager.isDeviceIdleMode();
            mDeviceLightIdle = mPowerManager.isLightDeviceIdleMode();

            mIsSetup = true;
        }

        void stopTracking(@NonNull Context context) {
            if (!mIsSetup) {
                return;
            }

            context.unregisterReceiver(this);
            mIsSetup = false;
        }

        @Override
+13 −0
Original line number Diff line number Diff line
@@ -72,6 +72,8 @@ class PowerSaveModeModifier extends Modifier {

    // TODO: migrate to relying on PowerSaveState and ServiceType.TARE
    private final class PowerSaveModeTracker extends BroadcastReceiver {
        private boolean mIsSetup = false;

        private final PowerManager mPowerManager;
        private volatile boolean mPowerSaveModeEnabled;

@@ -80,16 +82,27 @@ class PowerSaveModeModifier extends Modifier {
        }

        public void startTracking(@NonNull Context context) {
            if (mIsSetup) {
                return;
            }

            final IntentFilter filter = new IntentFilter();
            filter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED);
            context.registerReceiver(this, filter);

            // Initialise tracker state.
            mPowerSaveModeEnabled = mPowerManager.isPowerSaveMode();

            mIsSetup = true;
        }

        public void stopTracking(@NonNull Context context) {
            if (!mIsSetup) {
                return;
            }

            context.unregisterReceiver(this);
            mIsSetup = false;
        }

        @Override