Merge "Disable lift-to-wake when always-on is checked" into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
00ac782f3e
@@ -34,11 +34,17 @@ public class AmbientDisplayAlwaysOnPreferenceController extends PreferenceContro
|
||||
private static final int MY_USER = UserHandle.myUserId();
|
||||
|
||||
private final AmbientDisplayConfiguration mConfig;
|
||||
private final OnPreferenceChangedCallback mCallback;
|
||||
|
||||
public interface OnPreferenceChangedCallback {
|
||||
void onPreferenceChanged();
|
||||
}
|
||||
|
||||
public AmbientDisplayAlwaysOnPreferenceController(Context context,
|
||||
AmbientDisplayConfiguration config) {
|
||||
AmbientDisplayConfiguration config, OnPreferenceChangedCallback callback) {
|
||||
super(context);
|
||||
mConfig = config;
|
||||
mCallback = callback;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,6 +61,9 @@ public class AmbientDisplayAlwaysOnPreferenceController extends PreferenceContro
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
int enabled = (boolean) newValue ? 1 : 0;
|
||||
Settings.Secure.putInt(mContext.getContentResolver(), DOZE_ALWAYS_ON, enabled);
|
||||
if (mCallback != null) {
|
||||
mCallback.onPreferenceChanged();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -51,11 +51,13 @@ public class AmbientDisplaySettings extends DashboardFragment {
|
||||
|
||||
private static List<PreferenceController> buildPreferenceControllers(Context context,
|
||||
Lifecycle lifecycle, AmbientDisplayConfiguration config,
|
||||
MetricsFeatureProvider metricsFeatureProvider) {
|
||||
MetricsFeatureProvider metricsFeatureProvider,
|
||||
AmbientDisplayAlwaysOnPreferenceController.OnPreferenceChangedCallback aodCallback) {
|
||||
final List<PreferenceController> controllers = new ArrayList<>();
|
||||
controllers.add(new AmbientDisplayNotificationsPreferenceController(context, config,
|
||||
metricsFeatureProvider));
|
||||
controllers.add(new AmbientDisplayAlwaysOnPreferenceController(context, config));
|
||||
controllers.add(new AmbientDisplayAlwaysOnPreferenceController(context, config,
|
||||
aodCallback));
|
||||
controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle, config,
|
||||
MY_USER_ID, KEY_AMBIENT_DISPLAY_DOUBLE_TAP));
|
||||
controllers.add(new PickupGesturePreferenceController(context, lifecycle, config,
|
||||
@@ -77,7 +79,8 @@ public class AmbientDisplaySettings extends DashboardFragment {
|
||||
@Override
|
||||
protected List<PreferenceController> getPreferenceControllers(Context context) {
|
||||
return buildPreferenceControllers(context, getLifecycle(),
|
||||
new AmbientDisplayConfiguration(context), mMetricsFeatureProvider);
|
||||
new AmbientDisplayConfiguration(context), mMetricsFeatureProvider,
|
||||
() -> { updatePreferenceStates(); });
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -101,7 +104,7 @@ public class AmbientDisplaySettings extends DashboardFragment {
|
||||
@Override
|
||||
public List<PreferenceController> getPreferenceControllers(Context context) {
|
||||
return buildPreferenceControllers(context, null,
|
||||
new AmbientDisplayConfiguration(context), null);
|
||||
new AmbientDisplayConfiguration(context), null, null);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@@ -61,6 +61,8 @@ public abstract class GesturePreferenceController extends PreferenceController
|
||||
? R.string.gesture_setting_on
|
||||
: 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 boolean isSwitchPrefEnabled();
|
||||
|
||||
protected boolean canHandleClicks() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -76,4 +76,9 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
|
||||
Settings.Secure.DOZE_PULSE_ON_PICK_UP, enabled ? 1 : 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canHandleClicks() {
|
||||
return mAmbientConfig.pulseOnPickupCanBeModified(mUserId);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user