summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthew Fritze <mfritze@google.com>2017-07-24 14:58:36 -0700
committerMatthew Fritze <mfritze@google.com>2017-07-25 10:44:15 -0700
commit458bb887e130926f36d8926ea8462ecfbfd1e0ef (patch)
treebadceab470f37d8f195b2502c1af89a086842e9a /src
parent96a14ff07e7997d560235ed271076ee4b7087c33 (diff)
downloadpackages_apps_Settings-458bb887e130926f36d8926ea8462ecfbfd1e0ef.tar.gz
packages_apps_Settings-458bb887e130926f36d8926ea8462ecfbfd1e0ef.tar.bz2
packages_apps_Settings-458bb887e130926f36d8926ea8462ecfbfd1e0ef.zip
Add default value to inline payloads
If we try to set an inline result when it has not yet been accessed in settings, nothing is read from Settings. Thus, include a default value for a fallback. Manual merge for: ag/2588219/ Change-Id: I3b8eea4f82764852cea642db4455ba57f10a7d37 Fixes: 63955012 Test: robotests
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java3
-rw-r--r--src/com/android/settings/display/AutoBrightnessPreferenceController.java17
-rw-r--r--src/com/android/settings/gestures/AssistGesturePreferenceController.java13
-rw-r--r--src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java15
-rw-r--r--src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java14
-rw-r--r--src/com/android/settings/gestures/PickupGesturePreferenceController.java10
-rw-r--r--src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java16
-rw-r--r--src/com/android/settings/location/LocationPreferenceController.java3
-rw-r--r--src/com/android/settings/search/InlineListPayload.java4
-rw-r--r--src/com/android/settings/search/InlinePayload.java23
-rw-r--r--src/com/android/settings/search/InlineSwitchPayload.java4
11 files changed, 70 insertions, 52 deletions
diff --git a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
index 161e63e518..53898e876b 100644
--- a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
@@ -87,6 +87,7 @@ public class AmbientDisplayAlwaysOnPreferenceController extends
mContext.getString(R.string.ambient_display_screen_title));
return new InlineSwitchPayload(Settings.Secure.DOZE_ALWAYS_ON,
- ResultPayload.SettingsSource.SECURE, ON, intent, isAvailable());
+ ResultPayload.SettingsSource.SECURE, ON /* onValue */, intent, isAvailable(),
+ ON /* defaultValue */);
}
}
diff --git a/src/com/android/settings/display/AutoBrightnessPreferenceController.java b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
index d1d347c06f..e74a1a0378 100644
--- a/src/com/android/settings/display/AutoBrightnessPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
@@ -37,6 +37,9 @@ public class AutoBrightnessPreferenceController extends AbstractPreferenceContro
private final String mAutoBrightnessKey;
+ private final String SYSTEM_KEY = SCREEN_BRIGHTNESS_MODE;
+ private final int DEFAULT_VALUE = SCREEN_BRIGHTNESS_MODE_MANUAL;
+
public AutoBrightnessPreferenceController(Context context, String key) {
super(context);
mAutoBrightnessKey = key;
@@ -56,15 +59,15 @@ public class AutoBrightnessPreferenceController extends AbstractPreferenceContro
@Override
public void updateState(Preference preference) {
int brightnessMode = Settings.System.getInt(mContext.getContentResolver(),
- SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_MANUAL);
- ((SwitchPreference) preference).setChecked(brightnessMode != SCREEN_BRIGHTNESS_MODE_MANUAL);
+ SYSTEM_KEY, DEFAULT_VALUE);
+ ((SwitchPreference) preference).setChecked(brightnessMode != DEFAULT_VALUE);
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean auto = (Boolean) newValue;
- Settings.System.putInt(mContext.getContentResolver(), SCREEN_BRIGHTNESS_MODE,
- auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : SCREEN_BRIGHTNESS_MODE_MANUAL);
+ Settings.System.putInt(mContext.getContentResolver(), SYSTEM_KEY,
+ auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : DEFAULT_VALUE);
return true;
}
@@ -74,8 +77,8 @@ public class AutoBrightnessPreferenceController extends AbstractPreferenceContro
DisplaySettings.class.getName(), mAutoBrightnessKey,
mContext.getString(R.string.display_settings));
- return new InlineSwitchPayload(SCREEN_BRIGHTNESS_MODE,
+ return new InlineSwitchPayload(SYSTEM_KEY,
ResultPayload.SettingsSource.SYSTEM, SCREEN_BRIGHTNESS_MODE_AUTOMATIC, intent,
- isAvailable());
+ isAvailable(), DEFAULT_VALUE);
}
-}
+} \ No newline at end of file
diff --git a/src/com/android/settings/gestures/AssistGesturePreferenceController.java b/src/com/android/settings/gestures/AssistGesturePreferenceController.java
index da25ce1bff..b91f230fac 100644
--- a/src/com/android/settings/gestures/AssistGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGesturePreferenceController.java
@@ -32,6 +32,8 @@ import com.android.settings.search.ResultPayload;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.events.OnResume;
+import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
+
public class AssistGesturePreferenceController extends GesturePreferenceController
implements OnResume {
@@ -41,6 +43,8 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll
private static final String PREF_KEY_VIDEO = "gesture_assist_video";
private final String mAssistGesturePrefKey;
+ private final String SECURE_KEY = ASSIST_GESTURE_ENABLED;
+
private final AssistGestureFeatureProvider mFeatureProvider;
private boolean mWasAvailable;
@@ -142,8 +146,7 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean enabled = (boolean) newValue;
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.ASSIST_GESTURE_ENABLED, enabled ? ON : OFF);
+ Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, enabled ? ON : OFF);
updateState(preference);
return true;
}
@@ -161,7 +164,7 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll
@Override
protected boolean isSwitchPrefEnabled() {
final int assistGestureEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.ASSIST_GESTURE_ENABLED, 1);
+ SECURE_KEY, ON);
return assistGestureEnabled != 0;
}
@@ -171,7 +174,7 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll
AssistGestureSettings.class.getName(), mAssistGesturePrefKey,
mContext.getString(R.string.display_settings));
- return new InlineSwitchPayload(Settings.Secure.ASSIST_GESTURE_ENABLED,
- ResultPayload.SettingsSource.SECURE, ON, intent, isAvailable());
+ return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+ ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
}
}
diff --git a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
index 8d4116a3f7..970b6a70e8 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
@@ -22,14 +22,14 @@ import android.content.SharedPreferences;
import android.provider.Settings;
import android.support.v7.preference.Preference;
-import com.android.settings.DisplaySettings;
import com.android.settings.R;
-import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import static android.provider.Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED;
+
public class DoubleTapPowerPreferenceController extends GesturePreferenceController {
private final int ON = 0;
@@ -38,6 +38,8 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl
private static final String PREF_KEY_VIDEO = "gesture_double_tap_power_video";
private final String mDoubleTapPowerKey;
+ private final String SECURE_KEY = CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED;
+
public DoubleTapPowerPreferenceController(Context context, Lifecycle lifecycle, String key) {
super(context, lifecycle);
mDoubleTapPowerKey = key;
@@ -71,15 +73,14 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean enabled = (boolean) newValue;
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, enabled ? ON : OFF);
+ Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, enabled ? ON : OFF);
return true;
}
@Override
protected boolean isSwitchPrefEnabled() {
final int cameraDisabled = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
+ SECURE_KEY, ON);
return cameraDisabled == 0;
}
@@ -89,7 +90,7 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl
DoubleTapPowerSettings.class.getName(), mDoubleTapPowerKey,
mContext.getString(R.string.display_settings));
- return new InlineSwitchPayload(Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED,
- ResultPayload.SettingsSource.SECURE, ON, intent, isAvailable());
+ return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+ ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
}
}
diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
index 4de6e14b29..9ec06aeca2 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
@@ -25,12 +25,13 @@ import android.support.v7.preference.Preference;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.R;
-import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import static android.provider.Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP;
+
public class DoubleTapScreenPreferenceController extends GesturePreferenceController {
private final int ON = 1;
@@ -39,6 +40,8 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro
private static final String PREF_KEY_VIDEO = "gesture_double_tap_screen_video";
private final String mDoubleTapScreenPrefKey;
+ private final String SECURE_KEY = DOZE_PULSE_ON_DOUBLE_TAP;
+
private final AmbientDisplayConfiguration mAmbientConfig;
@UserIdInt
private final int mUserId;
@@ -70,8 +73,7 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean enabled = (boolean) newValue;
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP, enabled ? ON : OFF);
+ Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, enabled ? ON : OFF);
return true;
}
@@ -91,7 +93,7 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro
DoubleTapScreenSettings.class.getName(), mDoubleTapScreenPrefKey,
mContext.getString(R.string.display_settings));
- return new InlineSwitchPayload(Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP,
- ResultPayload.SettingsSource.SECURE, ON, intent, isAvailable());
+ return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+ ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
}
-}
+} \ No newline at end of file
diff --git a/src/com/android/settings/gestures/PickupGesturePreferenceController.java b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
index 9a4c84611c..e64c0cf43f 100644
--- a/src/com/android/settings/gestures/PickupGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
@@ -30,6 +30,8 @@ import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import static android.provider.Settings.Secure.DOZE_PULSE_ON_PICK_UP;
+
public class PickupGesturePreferenceController extends GesturePreferenceController {
private final int ON = 1;
@@ -38,6 +40,8 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
private static final String PREF_KEY_VIDEO = "gesture_pick_up_video";
private final String mPickUpPrefKey;
+ private final String SECURE_KEY = DOZE_PULSE_ON_PICK_UP;
+
private final AmbientDisplayConfiguration mAmbientConfig;
@UserIdInt
private final int mUserId;
@@ -80,7 +84,7 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean enabled = (boolean) newValue;
Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.DOZE_PULSE_ON_PICK_UP, enabled ? ON : OFF);
+ SECURE_KEY, enabled ? ON : OFF);
return true;
}
@@ -95,7 +99,7 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
PickupGestureSettings.class.getName(), mPickUpPrefKey,
mContext.getString(R.string.display_settings));
- return new InlineSwitchPayload(Settings.Secure.DOZE_PULSE_ON_PICK_UP,
- ResultPayload.SettingsSource.SECURE, ON, intent, isAvailable());
+ return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+ ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
}
}
diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
index 05c6461767..bc6950ec2b 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
@@ -29,6 +29,8 @@ import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED;
+
public class SwipeToNotificationPreferenceController extends GesturePreferenceController {
private final int ON = 1;
@@ -37,6 +39,8 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
private static final String PREF_KEY_VIDEO = "gesture_swipe_down_fingerprint_video";
private final String mSwipeDownFingerPrefKey;
+ private final String SECURE_KEY = SYSTEM_NAVIGATION_KEYS_ENABLED;
+
public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle,
String key) {
super(context, lifecycle);
@@ -71,16 +75,14 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, (boolean) newValue ? ON : OFF);
+ Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY,
+ (boolean) newValue ? ON : OFF);
return true;
}
@Override
protected boolean isSwitchPrefEnabled() {
- return Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0)
- == 1;
+ return Settings.Secure.getInt(mContext.getContentResolver(), SECURE_KEY, OFF) == ON;
}
@Override
@@ -89,7 +91,7 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
SwipeToNotificationSettings.class.getName(), mSwipeDownFingerPrefKey,
mContext.getString(R.string.display_settings));
- return new InlineSwitchPayload(Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED,
- ResultPayload.SettingsSource.SECURE, ON, intent, isAvailable());
+ return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+ ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
}
}
diff --git a/src/com/android/settings/location/LocationPreferenceController.java b/src/com/android/settings/location/LocationPreferenceController.java
index 718c3f5a05..225100f7ea 100644
--- a/src/com/android/settings/location/LocationPreferenceController.java
+++ b/src/com/android/settings/location/LocationPreferenceController.java
@@ -133,7 +133,6 @@ public class LocationPreferenceController extends AbstractPreferenceController
return new InlineListPayload(Secure.LOCATION_MODE,
ResultPayload.SettingsSource.SECURE, intent, isAvailable(),
- Secure.LOCATION_MODE_HIGH_ACCURACY + 1);
+ Secure.LOCATION_MODE_HIGH_ACCURACY + 1, Secure.LOCATION_MODE_OFF);
}
-
}
diff --git a/src/com/android/settings/search/InlineListPayload.java b/src/com/android/settings/search/InlineListPayload.java
index 60113b983b..c11c4a388f 100644
--- a/src/com/android/settings/search/InlineListPayload.java
+++ b/src/com/android/settings/search/InlineListPayload.java
@@ -16,8 +16,8 @@ public class InlineListPayload extends InlinePayload {
private int mNumOptions;
public InlineListPayload(String key, @PayloadType int payloadType, Intent intent,
- boolean isDeviceSupported, int numOptions) {
- super(key, payloadType, intent, isDeviceSupported);
+ boolean isDeviceSupported, int numOptions, int defaultValue) {
+ super(key, payloadType, intent, isDeviceSupported, defaultValue);
mNumOptions = numOptions;
}
diff --git a/src/com/android/settings/search/InlinePayload.java b/src/com/android/settings/search/InlinePayload.java
index 0807f62178..03b882839d 100644
--- a/src/com/android/settings/search/InlinePayload.java
+++ b/src/com/android/settings/search/InlinePayload.java
@@ -49,24 +49,31 @@ public abstract class InlinePayload extends ResultPayload {
final boolean mIsDeviceSupported;
/**
+ * The default value for the setting.
+ */
+ final int mDefaultvalue;
+
+ /**
* @param key uniquely identifies the stored setting.
* @param source of the setting. Used to determine where to get and set the setting.
* @param intent to the setting page.
* @param isDeviceSupported is true when the setting is valid for the given device.
*/
public InlinePayload(String key, @SettingsSource int source, Intent intent,
- boolean isDeviceSupported) {
+ boolean isDeviceSupported, int defaultValue) {
super(intent);
mSettingKey = key;
mSettingSource = source;
mIsDeviceSupported = isDeviceSupported;
+ mDefaultvalue = defaultValue;
}
InlinePayload(Parcel parcel) {
- super((Intent) parcel.readParcelable(Intent.class.getClassLoader()));
+ super(parcel.readParcelable(Intent.class.getClassLoader()));
mSettingKey = parcel.readString();
mSettingSource = parcel.readInt();
mIsDeviceSupported = parcel.readInt() == TRUE;
+ mDefaultvalue = parcel.readInt();
}
@Override
@@ -75,6 +82,7 @@ public abstract class InlinePayload extends ResultPayload {
dest.writeString(mSettingKey);
dest.writeInt(mSettingSource);
dest.writeInt(mIsDeviceSupported ? TRUE : FALSE);
+ dest.writeInt(mDefaultvalue);
}
@Override
@@ -108,24 +116,19 @@ public abstract class InlinePayload extends ResultPayload {
switch(mSettingSource) {
case SettingsSource.SECURE:
settingsValue = Settings.Secure.getInt(context.getContentResolver(),
- mSettingKey, -1);
+ mSettingKey, mDefaultvalue);
break;
case SettingsSource.SYSTEM:
settingsValue = Settings.System.getInt(context.getContentResolver(),
- mSettingKey, -1);
+ mSettingKey, mDefaultvalue);
break;
case SettingsSource.GLOBAL:
settingsValue = Settings.Global.getInt(context.getContentResolver(),
- mSettingKey, -1);
+ mSettingKey, mDefaultvalue);
break;
}
- if (settingsValue == -1) {
- throw new IllegalStateException("Unable to find setting from uri: "
- + mSettingKey.toString());
- }
-
return standardizeInput(settingsValue);
}
diff --git a/src/com/android/settings/search/InlineSwitchPayload.java b/src/com/android/settings/search/InlineSwitchPayload.java
index 8916dde3a5..bac0313171 100644
--- a/src/com/android/settings/search/InlineSwitchPayload.java
+++ b/src/com/android/settings/search/InlineSwitchPayload.java
@@ -45,8 +45,8 @@ public class InlineSwitchPayload extends InlinePayload {
* @param isDeviceSupported is true when the setting is valid for the given device.
*/
public InlineSwitchPayload(String key, @SettingsSource int source,
- int onValue, Intent intent, boolean isDeviceSupported) {
- super(key, source, intent, isDeviceSupported);
+ int onValue, Intent intent, boolean isDeviceSupported, int defaultValue) {
+ super(key, source, intent, isDeviceSupported, defaultValue);
// If on is stored as TRUE then the switch is standard.
mIsStandard = onValue == TRUE;
}