Doze: Add missing preference listeners
* Otherwise, it resulted in Doze service not being activated when enabling one of the features for the first time after a clean installation. Change-Id: I625d9109fb85c970f0e59b1cbcabba7d4375d2f3
This commit is contained in:
parent
764f507c35
commit
e817d534a0
4 changed files with 40 additions and 29 deletions
|
@ -65,22 +65,22 @@ public class DozeService extends Service {
|
||||||
|
|
||||||
private void onDisplayOn() {
|
private void onDisplayOn() {
|
||||||
if (DEBUG) Log.d(TAG, "Display on");
|
if (DEBUG) Log.d(TAG, "Display on");
|
||||||
if (Utils.pickUpEnabled(this)) {
|
if (Utils.isPickUpEnabled(this)) {
|
||||||
mPickupSensor.disable();
|
mPickupSensor.disable();
|
||||||
}
|
}
|
||||||
if (Utils.handwaveGestureEnabled(this) ||
|
if (Utils.isHandwaveGestureEnabled(this) ||
|
||||||
Utils.pocketGestureEnabled(this)) {
|
Utils.isPocketGestureEnabled(this)) {
|
||||||
mProximitySensor.disable();
|
mProximitySensor.disable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onDisplayOff() {
|
private void onDisplayOff() {
|
||||||
if (DEBUG) Log.d(TAG, "Display off");
|
if (DEBUG) Log.d(TAG, "Display off");
|
||||||
if (Utils.pickUpEnabled(this)) {
|
if (Utils.isPickUpEnabled(this)) {
|
||||||
mPickupSensor.enable();
|
mPickupSensor.enable();
|
||||||
}
|
}
|
||||||
if (Utils.handwaveGestureEnabled(this) ||
|
if (Utils.isHandwaveGestureEnabled(this) ||
|
||||||
Utils.pocketGestureEnabled(this)) {
|
Utils.isPocketGestureEnabled(this)) {
|
||||||
mProximitySensor.enable();
|
mProximitySensor.enable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,12 +67,15 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
|
||||||
|
|
||||||
mPickUpPreference = (SwitchPreference) findPreference(Utils.GESTURE_PICK_UP_KEY);
|
mPickUpPreference = (SwitchPreference) findPreference(Utils.GESTURE_PICK_UP_KEY);
|
||||||
mPickUpPreference.setEnabled(dozeEnabled);
|
mPickUpPreference.setEnabled(dozeEnabled);
|
||||||
|
mPickUpPreference.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
mHandwavePreference = (SwitchPreference) findPreference(Utils.GESTURE_HAND_WAVE_KEY);
|
mHandwavePreference = (SwitchPreference) findPreference(Utils.GESTURE_HAND_WAVE_KEY);
|
||||||
mHandwavePreference.setEnabled(dozeEnabled);
|
mHandwavePreference.setEnabled(dozeEnabled);
|
||||||
|
mHandwavePreference.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
mPocketPreference = (SwitchPreference) findPreference(Utils.GESTURE_POCKET_KEY);
|
mPocketPreference = (SwitchPreference) findPreference(Utils.GESTURE_POCKET_KEY);
|
||||||
mPocketPreference.setEnabled(dozeEnabled);
|
mPocketPreference.setEnabled(dozeEnabled);
|
||||||
|
mPocketPreference.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
// Hide proximity sensor related features if the device doesn't support them
|
// Hide proximity sensor related features if the device doesn't support them
|
||||||
if (!Utils.getProxCheckBeforePulse(getActivity())) {
|
if (!Utils.getProxCheckBeforePulse(getActivity())) {
|
||||||
|
@ -107,20 +110,21 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
Utils.enableGesture(getActivity(), preference.getKey(), (Boolean) newValue);
|
||||||
Utils.checkDozeService(getActivity());
|
Utils.checkDozeService(getActivity());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
|
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
|
||||||
Utils.enableDoze(b, getActivity());
|
Utils.enableDoze(getActivity(), isChecked);
|
||||||
Utils.checkDozeService(getActivity());
|
Utils.checkDozeService(getActivity());
|
||||||
|
|
||||||
mTextView.setText(getString(b ? R.string.switch_bar_on : R.string.switch_bar_off));
|
mTextView.setText(getString(isChecked ? R.string.switch_bar_on : R.string.switch_bar_off));
|
||||||
|
|
||||||
mPickUpPreference.setEnabled(b);
|
mPickUpPreference.setEnabled(isChecked);
|
||||||
mHandwavePreference.setEnabled(b);
|
mHandwavePreference.setEnabled(isChecked);
|
||||||
mPocketPreference.setEnabled(b);
|
mPocketPreference.setEnabled(isChecked);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -74,11 +74,11 @@ public class ProximitySensor implements SensorEventListener {
|
||||||
private boolean shouldPulse(long timestamp) {
|
private boolean shouldPulse(long timestamp) {
|
||||||
long delta = timestamp - mInPocketTime;
|
long delta = timestamp - mInPocketTime;
|
||||||
|
|
||||||
if (Utils.handwaveGestureEnabled(mContext) && Utils.pocketGestureEnabled(mContext)) {
|
if (Utils.isHandwaveGestureEnabled(mContext) && Utils.isPocketGestureEnabled(mContext)) {
|
||||||
return true;
|
return true;
|
||||||
} else if (Utils.handwaveGestureEnabled(mContext)) {
|
} else if (Utils.isHandwaveGestureEnabled(mContext)) {
|
||||||
return delta < HANDWAVE_MAX_DELTA_NS;
|
return delta < HANDWAVE_MAX_DELTA_NS;
|
||||||
} else if (Utils.pocketGestureEnabled(mContext)) {
|
} else if (Utils.isPocketGestureEnabled(mContext)) {
|
||||||
return delta >= POCKET_MIN_DELTA_NS;
|
return delta >= POCKET_MIN_DELTA_NS;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 The CyanogenMod Project
|
* Copyright (C) 2015 The CyanogenMod Project
|
||||||
* 2017 The LineageOS Project
|
* 2017-2018 The LineageOS Project
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -78,7 +78,7 @@ public final class Utils {
|
||||||
DOZE_ENABLED, 1) != 0;
|
DOZE_ENABLED, 1) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean enableDoze(boolean enable, Context context) {
|
protected static boolean enableDoze(Context context, boolean enable) {
|
||||||
return Settings.Secure.putInt(context.getContentResolver(),
|
return Settings.Secure.putInt(context.getContentResolver(),
|
||||||
DOZE_ENABLED, enable ? 1 : 0);
|
DOZE_ENABLED, enable ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
@ -89,24 +89,31 @@ public final class Utils {
|
||||||
new UserHandle(UserHandle.USER_CURRENT));
|
new UserHandle(UserHandle.USER_CURRENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean pickUpEnabled(Context context) {
|
protected static void enableGesture(Context context, String gesture, boolean enable) {
|
||||||
return PreferenceManager.getDefaultSharedPreferences(context)
|
PreferenceManager.getDefaultSharedPreferences(context).edit()
|
||||||
.getBoolean(GESTURE_PICK_UP_KEY, false);
|
.putBoolean(gesture, enable).apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean handwaveGestureEnabled(Context context) {
|
protected static boolean isGestureEnabled(Context context, String gesture) {
|
||||||
return PreferenceManager.getDefaultSharedPreferences(context)
|
return PreferenceManager.getDefaultSharedPreferences(context)
|
||||||
.getBoolean(GESTURE_HAND_WAVE_KEY, false);
|
.getBoolean(gesture, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean pocketGestureEnabled(Context context) {
|
protected static boolean isPickUpEnabled(Context context) {
|
||||||
return PreferenceManager.getDefaultSharedPreferences(context)
|
return isGestureEnabled(context, GESTURE_PICK_UP_KEY);
|
||||||
.getBoolean(GESTURE_POCKET_KEY, false);
|
}
|
||||||
|
|
||||||
|
protected static boolean isHandwaveGestureEnabled(Context context) {
|
||||||
|
return isGestureEnabled(context, GESTURE_HAND_WAVE_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static boolean isPocketGestureEnabled(Context context) {
|
||||||
|
return isGestureEnabled(context, GESTURE_POCKET_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean sensorsEnabled(Context context) {
|
protected static boolean sensorsEnabled(Context context) {
|
||||||
return pickUpEnabled(context) || handwaveGestureEnabled(context)
|
return isPickUpEnabled(context) || isHandwaveGestureEnabled(context)
|
||||||
|| pocketGestureEnabled(context);
|
|| isPocketGestureEnabled(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static Sensor getSensor(SensorManager sm, String type) {
|
protected static Sensor getSensor(SensorManager sm, String type) {
|
||||||
|
|
Loading…
Reference in a new issue