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 */);
}
}
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;
@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;
}
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
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 {
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;
@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;
}
@Override
protected boolean isSwitchPrefEnabled() {
final int assistGestureEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.ASSIST_GESTURE_ENABLED, 1);
+ SECURE_KEY, ON);
return assistGestureEnabled != 0;
}
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 */);
}
}
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;
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;
@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;
}
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 */);
}
}
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;
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;
@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;
}
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
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;
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;
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;
}
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 */);
}
}
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;
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);
@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
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 */);
}
}
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);
}
-
}
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;
}
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
dest.writeString(mSettingKey);
dest.writeInt(mSettingSource);
dest.writeInt(mIsDeviceSupported ? TRUE : FALSE);
+ dest.writeInt(mDefaultvalue);
}
@Override
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);
}
* @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;
}
final Intent intent = new Intent();
intent.putExtra(intentKey, intentVal);
final InlineSwitchPayload payload = new InlineSwitchPayload(uri, source, 1 /* onValue */,
- intent, true /* isDeviceSupported */);
+ intent, true /* isDeviceSupported */, 0 /* defautValue */);
cursor.addRow(new Object[]{
KEY.hashCode(), // Doc ID
public void testRowWithInlinePayload_genericPayloadNotAdded() {
final String URI = "test uri";
final InlineSwitchPayload payload = new InlineSwitchPayload(URI, 0 /* mSettingSource */,
- 1 /* onValue */, null /* intent */, true /* isDeviceSupported */);
+ 1 /* onValue */, null /* intent */, true /* isDeviceSupported */, 1 /* default */);
mBuilder.setPayload(payload);
final DatabaseRow row = generateRow();
final InlineSwitchPayload unmarshalledPayload = ResultPayloadUtils
intent.setComponent(component);
final InlineSwitchPayload payload = new InlineSwitchPayload(URI, 0 /* mSettingSource */,
- 1 /* onValue */, intent, true /* isDeviceSupported */);
+ 1 /* onValue */, intent, true /* isDeviceSupported */, 1 /* default */);
mBuilder.setPayload(payload);
final DatabaseRow row = generateRow();
final InlineSwitchPayload unmarshalledPayload = ResultPayloadUtils
intent.putExtra(intentKey, intentVal);
InlineListPayload payload = new InlineListPayload(uri, source,
- intent, true /* isAvailable */, 1);
+ intent, true /* isAvailable */, 1 /* numOptions */, 1 /* default */);
final Intent retainedIntent = payload.getIntent();
assertThat(payload.mSettingKey).isEqualTo(uri);
public void testInputStandardization_inputDoesntChange() {
InlineListPayload payload = new InlineListPayload(DUMMY_SETTING,
ResultPayload.SettingsSource.SYSTEM, null /* intent */, true /* isDeviceSupport */,
- 3 /* numOptions */);
+ 3 /* numOptions */, 0 /* default */);
int input = 2;
assertThat(payload.standardizeInput(input)).isEqualTo(input);
public void testSetSystem_negativeValue_throwsError() {
InlineListPayload payload = new InlineListPayload(DUMMY_SETTING,
ResultPayload.SettingsSource.SYSTEM, null /* intent */, true /* isDeviceSupport */,
- 3 /* numOptions */);
+ 3 /* numOptions */, 0 /* default */);
payload.setValue(mContext, -1);
}
int maxOptions = 4;
InlineListPayload payload = new InlineListPayload(DUMMY_SETTING,
ResultPayload.SettingsSource.SYSTEM, null /* intent */, true /* isDeviceSupport */,
- maxOptions /* numOptions */);
+ maxOptions /* numOptions */, 0 /* default */);
payload.setValue(mContext, maxOptions + 1);
}
public ConcreteInlinePayload(String key, @SettingsSource int source, Intent intent,
boolean isDeviceSupported) {
- super(key, source, intent, isDeviceSupported);
+ super(key, source, intent, isDeviceSupported, 0 /* defaultValue */);
}
@Override
final Intent intent = new Intent();
intent.putExtra(intentKey, intentVal);
- InlineSwitchPayload payload = new InlineSwitchPayload(uri, source, 1, intent, true);
+ InlineSwitchPayload payload = new InlineSwitchPayload(uri, source, 1, intent, true,
+ 1 /* default */);
final Intent retainedIntent = payload.getIntent();
assertThat(payload.mSettingKey).isEqualTo(uri);
assertThat(payload.getType()).isEqualTo(type);
parcel.writeInt(source);
parcel.writeInt(InlineSwitchPayload.TRUE);
parcel.writeInt(InlineSwitchPayload.TRUE);
+ parcel.writeInt(InlineSwitchPayload.TRUE);
parcel.setDataPosition(0);
InlineSwitchPayload payload = InlineSwitchPayload.CREATOR.createFromParcel(parcel);
public void testGetSystem_flippedSetting_returnsFlippedValue() {
// Stores 1s as 0s, and vis versa
InlineSwitchPayload payload = new InlineSwitchPayload(DUMMY_SETTING, SettingsSource.SYSTEM,
- FLIPPED_ON, null /* intent */, true);
+ FLIPPED_ON, null /* intent */, true, 1 /* default */);
int currentValue = 1;
Settings.System.putInt(mContext.getContentResolver(), DUMMY_SETTING, currentValue);
public void testSetSystem_flippedSetting_updatesToFlippedValue() {
// Stores 1s as 0s, and vis versa
InlineSwitchPayload payload = new InlineSwitchPayload(DUMMY_SETTING, SettingsSource.SYSTEM,
- FLIPPED_ON, null /* intent */, true);
+ FLIPPED_ON, null /* intent */, true, 1 /* default */);
int newValue = 1;
ContentResolver resolver = mContext.getContentResolver();
Settings.System.putInt(resolver, SCREEN_BRIGHTNESS_MODE, newValue);
@Test(expected = IllegalArgumentException.class)
public void testSetSystem_negativeValue_ThrowsError() {
InlineSwitchPayload payload = new InlineSwitchPayload(DUMMY_SETTING, SettingsSource.SYSTEM,
- STANDARD_ON, null /* intent */, true);
+ STANDARD_ON, null /* intent */, true, 1 /* default */);
payload.setValue(mContext, -1);
}
@Test(expected = IllegalArgumentException.class)
public void testSetSystem_highValue_ThrowsError() {
InlineSwitchPayload payload = new InlineSwitchPayload(DUMMY_SETTING, SettingsSource.SYSTEM,
- STANDARD_ON, null /* intent */, true);
+ STANDARD_ON, null /* intent */, true, 1 /* default */);
payload.setValue(mContext, 2);
}
.setSummary(SUMMARY)
.setRank(1)
.setPayload(new InlineSwitchPayload("" /* uri */, 0 /* mSettingSource */,
- 1 /* onValue */, null /* intent */, true /* isDeviceSupported */))
+ 1 /* onValue */, null /* intent */, true /* isDeviceSupported */,
+ 1 /* default */))
.addBreadcrumbs(new ArrayList<>())
.setIcon(mIcon)
.setPayload(mPayload)