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 Original line Diff line number Diff line
@@ -76,6 +76,8 @@ class ChargingModifier extends Modifier {
    }
    }


    private final class ChargingTracker extends BroadcastReceiver {
    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
         * Track whether we're "charging", where charging means that we're ready to commit to
         * doing work.
         * doing work.
@@ -83,6 +85,10 @@ class ChargingModifier extends Modifier {
        private volatile boolean mCharging;
        private volatile boolean mCharging;


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

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

            mIsSetup = true;
        }
        }


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

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


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


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


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


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

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

            mIsSetup = true;
        }
        }


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

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


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


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

        private final PowerManager mPowerManager;
        private final PowerManager mPowerManager;
        private volatile boolean mPowerSaveModeEnabled;
        private volatile boolean mPowerSaveModeEnabled;


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


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

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


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

            mIsSetup = true;
        }
        }


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

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


        @Override
        @Override