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

Commit 57adc290 authored by Geoffrey Pitsch's avatar Geoffrey Pitsch
Browse files

Disable lift-to-wake when always-on is checked

The setting has little to no meaning when AOD is on.

Test: make
ROBOTEST_FILTER=AmbientDisplayAlwaysOnPreferenceControllerTest
RunSettingsRoboTests -j
Bug:62391405
Change-Id:If5492227755ca81ec0bcf921a81e2bfd33a85b9c
parent 75bcd075
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -34,11 +34,17 @@ public class AmbientDisplayAlwaysOnPreferenceController extends PreferenceContro
    private static final int MY_USER = UserHandle.myUserId();
    private static final int MY_USER = UserHandle.myUserId();


    private final AmbientDisplayConfiguration mConfig;
    private final AmbientDisplayConfiguration mConfig;
    private final OnPreferenceChangedCallback mCallback;

    public interface OnPreferenceChangedCallback {
        void onPreferenceChanged();
    }


    public AmbientDisplayAlwaysOnPreferenceController(Context context,
    public AmbientDisplayAlwaysOnPreferenceController(Context context,
            AmbientDisplayConfiguration config) {
            AmbientDisplayConfiguration config, OnPreferenceChangedCallback callback) {
        super(context);
        super(context);
        mConfig = config;
        mConfig = config;
        mCallback = callback;
    }
    }


    @Override
    @Override
@@ -55,6 +61,9 @@ public class AmbientDisplayAlwaysOnPreferenceController extends PreferenceContro
    public boolean onPreferenceChange(Preference preference, Object newValue) {
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        int enabled = (boolean) newValue ? 1 : 0;
        int enabled = (boolean) newValue ? 1 : 0;
        Settings.Secure.putInt(mContext.getContentResolver(), DOZE_ALWAYS_ON, enabled);
        Settings.Secure.putInt(mContext.getContentResolver(), DOZE_ALWAYS_ON, enabled);
        if (mCallback != null) {
            mCallback.onPreferenceChanged();
        }
        return true;
        return true;
    }
    }


+7 −4
Original line number Original line Diff line number Diff line
@@ -51,11 +51,13 @@ public class AmbientDisplaySettings extends DashboardFragment {


    private static List<PreferenceController> buildPreferenceControllers(Context context,
    private static List<PreferenceController> buildPreferenceControllers(Context context,
            Lifecycle lifecycle, AmbientDisplayConfiguration config,
            Lifecycle lifecycle, AmbientDisplayConfiguration config,
            MetricsFeatureProvider metricsFeatureProvider) {
            MetricsFeatureProvider metricsFeatureProvider,
            AmbientDisplayAlwaysOnPreferenceController.OnPreferenceChangedCallback aodCallback) {
        final List<PreferenceController> controllers = new ArrayList<>();
        final List<PreferenceController> controllers = new ArrayList<>();
        controllers.add(new AmbientDisplayNotificationsPreferenceController(context, config,
        controllers.add(new AmbientDisplayNotificationsPreferenceController(context, config,
                metricsFeatureProvider));
                metricsFeatureProvider));
        controllers.add(new AmbientDisplayAlwaysOnPreferenceController(context, config));
        controllers.add(new AmbientDisplayAlwaysOnPreferenceController(context, config,
                aodCallback));
        controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle, config,
        controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle, config,
                MY_USER_ID, KEY_AMBIENT_DISPLAY_DOUBLE_TAP));
                MY_USER_ID, KEY_AMBIENT_DISPLAY_DOUBLE_TAP));
        controllers.add(new PickupGesturePreferenceController(context, lifecycle, config,
        controllers.add(new PickupGesturePreferenceController(context, lifecycle, config,
@@ -77,7 +79,8 @@ public class AmbientDisplaySettings extends DashboardFragment {
    @Override
    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        return buildPreferenceControllers(context, getLifecycle(),
        return buildPreferenceControllers(context, getLifecycle(),
                new AmbientDisplayConfiguration(context), mMetricsFeatureProvider);
                new AmbientDisplayConfiguration(context), mMetricsFeatureProvider,
                () -> { updatePreferenceStates(); });
    }
    }


    @Override
    @Override
@@ -101,7 +104,7 @@ public class AmbientDisplaySettings extends DashboardFragment {
                @Override
                @Override
                public List<PreferenceController> getPreferenceControllers(Context context) {
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    return buildPreferenceControllers(context, null,
                    return buildPreferenceControllers(context, null,
                            new AmbientDisplayConfiguration(context), null);
                            new AmbientDisplayConfiguration(context), null, null);
                }
                }
            };
            };
}
}
+6 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,8 @@ public abstract class GesturePreferenceController extends PreferenceController
                        ? R.string.gesture_setting_on
                        ? R.string.gesture_setting_on
                        : R.string.gesture_setting_off);
                        : R.string.gesture_setting_off);
            }
            }
            // Different meanings of "Enabled" for the Preference and Controller.
            preference.setEnabled(canHandleClicks());
        }
        }
    }
    }


@@ -81,4 +83,8 @@ public abstract class GesturePreferenceController extends PreferenceController
    protected abstract String getVideoPrefKey();
    protected abstract String getVideoPrefKey();


    protected abstract boolean isSwitchPrefEnabled();
    protected abstract boolean isSwitchPrefEnabled();

    protected boolean canHandleClicks() {
        return true;
    }
}
}
+5 −0
Original line number Original line Diff line number Diff line
@@ -76,4 +76,9 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
                Settings.Secure.DOZE_PULSE_ON_PICK_UP, enabled ? 1 : 0);
                Settings.Secure.DOZE_PULSE_ON_PICK_UP, enabled ? 1 : 0);
        return true;
        return true;
    }
    }

    @Override
    public boolean canHandleClicks() {
        return mAmbientConfig.pulseOnPickupCanBeModified(mUserId);
    }
}
}
+4 −0
Original line number Original line Diff line number Diff line
@@ -34,6 +34,10 @@ public class AmbientDisplayConfiguration {
        return true;
        return true;
    }
    }


    public boolean pulseOnPickupCanBeModified(int user) {
        return true;
    }

    public boolean pulseOnDoubleTapAvailable() {
    public boolean pulseOnDoubleTapAvailable() {
        return true;
        return true;
    }
    }
Loading