Merge "Initialize and migrate 26 keys that are backed by PrepreferencesProperties."
This commit is contained in:
@@ -16205,6 +16205,252 @@ public final class Settings {
|
||||
* @hide
|
||||
*/
|
||||
public static final String RESTRICTED_NETWORKING_MODE = "restricted_networking_mode";
|
||||
|
||||
/**
|
||||
* Settings migrated from Wear OS settings provider.
|
||||
* @hide
|
||||
*/
|
||||
public static class Wearable {
|
||||
/**
|
||||
* Whether the user has any pay tokens on their watch.
|
||||
* @hide
|
||||
*/
|
||||
public static final String HAS_PAY_TOKENS = "has_pay_tokens";
|
||||
|
||||
/**
|
||||
* Gcm checkin timeout in minutes.
|
||||
* @hide
|
||||
*/
|
||||
public static final String GMS_CHECKIN_TIMEOUT_MIN = "gms_checkin_timeout_min";
|
||||
|
||||
/**
|
||||
* If hotword detection should be enabled.
|
||||
* @hide
|
||||
*/
|
||||
public static final String HOTWORD_DETECTION_ENABLED = "hotword_detection_enabled";
|
||||
|
||||
/**
|
||||
* Whether Smart Replies are enabled within Wear.
|
||||
* @hide
|
||||
*/
|
||||
public static final String SMART_REPLIES_ENABLED = "smart_replies_enabled";
|
||||
|
||||
/**
|
||||
* The default vibration pattern.
|
||||
* @hide
|
||||
*/
|
||||
public static final String DEFAULT_VIBRATION = "default_vibration";
|
||||
|
||||
/**
|
||||
* If FLP should obtain location data from the paired device.
|
||||
* @hide
|
||||
*/
|
||||
public static final String OBTAIN_PAIRED_DEVICE_LOCATION =
|
||||
"obtain_paired_device_location";
|
||||
|
||||
/**
|
||||
* Whether the device is in retail mode.
|
||||
* @hide
|
||||
*/
|
||||
public static final String RETAIL_MODE = "retail_mode";
|
||||
|
||||
// Possible retail mode states
|
||||
/** @hide */
|
||||
public static final int RETAIL_MODE_CONSUMER = 0;
|
||||
/** @hide */
|
||||
public static final int RETAIL_MODE_RETAIL = 1;
|
||||
|
||||
/**
|
||||
* The play store availability.
|
||||
* @hide
|
||||
*/
|
||||
public static final String PLAY_STORE_AVAILABILITY = "play_store_availability";
|
||||
|
||||
// Possible play store availability states
|
||||
/** @hide */
|
||||
public static final int PLAY_STORE_AVAILABILITY_UNKNOWN = 0;
|
||||
/** @hide */
|
||||
public static final int PLAY_STORE_AVAILABLE = 1;
|
||||
/** @hide */
|
||||
public static final int PLAY_STORE_UNAVAILABLE = 2;
|
||||
|
||||
/**
|
||||
* Whether the bug report is enabled.
|
||||
* @hide
|
||||
*/
|
||||
public static final String BUG_REPORT = "bug_report";
|
||||
|
||||
// Possible bug report states
|
||||
/** @hide */
|
||||
public static final int BUG_REPORT_DISABLED = 0;
|
||||
/** @hide */
|
||||
public static final int BUG_REPORT_ENABLED = 1;
|
||||
|
||||
/**
|
||||
* The enabled/disabled state of the SmartIlluminate.
|
||||
* @hide
|
||||
*/
|
||||
public static final String SMART_ILLUMINATE_ENABLED = "smart_illuminate_enabled";
|
||||
|
||||
/**
|
||||
* Whether automatic time is enabled on the watch.
|
||||
* @hide
|
||||
*/
|
||||
public static final String CLOCKWORK_AUTO_TIME = "clockwork_auto_time";
|
||||
|
||||
// Possible clockwork auto time states
|
||||
/** @hide */
|
||||
public static final int SYNC_TIME_FROM_PHONE = 0;
|
||||
/** @hide */
|
||||
public static final int SYNC_TIME_FROM_NETWORK = 1;
|
||||
/** @hide */
|
||||
public static final int AUTO_TIME_OFF = 2;
|
||||
/** @hide */
|
||||
public static final int INVALID_AUTO_TIME_STATE = 3;
|
||||
|
||||
|
||||
/**
|
||||
* Whether automatic time zone is enabled on the watch.
|
||||
* @hide
|
||||
*/
|
||||
public static final String CLOCKWORK_AUTO_TIME_ZONE = "clockwork_auto_time_zone";
|
||||
|
||||
// Possible clockwork auto time zone states
|
||||
/** @hide */
|
||||
public static final int SYNC_TIME_ZONE_FROM_PHONE = 0;
|
||||
/** @hide */
|
||||
public static final int SYNC_TIME_ZONE_FROM_NETWORK = 1;
|
||||
/** @hide */
|
||||
public static final int AUTO_TIME_ZONE_OFF = 2;
|
||||
/** @hide */
|
||||
public static final int INVALID_AUTO_TIME_ZONE_STATE = 3;
|
||||
|
||||
/**
|
||||
* Whether 24 hour time format is enabled on the watch.
|
||||
* @hide
|
||||
*/
|
||||
public static final String CLOCKWORK_24HR_TIME = "clockwork_24hr_time";
|
||||
|
||||
/**
|
||||
* Whether the auto wifi toggle setting is enabled.
|
||||
* @hide
|
||||
*/
|
||||
public static final String AUTO_WIFI = "auto_wifi";
|
||||
|
||||
/**
|
||||
* The number of minutes after the WiFi enters power save mode.
|
||||
* @hide
|
||||
*/
|
||||
public static final String WIFI_POWER_SAVE = "wifi_power_save";
|
||||
|
||||
/**
|
||||
* The time at which we should no longer skip the wifi requirement check (we skip the
|
||||
* wifi requirement until this time). The time is in millis since epoch.
|
||||
* @hide
|
||||
*/
|
||||
public static final String ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS =
|
||||
"alt_bypass_wifi_requirement_time_millis";
|
||||
|
||||
/**
|
||||
* Wireless debug settings for wear.
|
||||
* @hide
|
||||
*/
|
||||
public static final String WIRELESS_DEBUG_MODE = "wireless_debug_mode";
|
||||
|
||||
// Possible wireless debug settings.
|
||||
/** @hide */
|
||||
public static final int WIRELESS_DEBUG_OFF = 0;
|
||||
/** @hide */
|
||||
public static final int WIRELESS_DEBUG_BLUETOOTH = 1 << 0;
|
||||
/** @hide */
|
||||
public static final int WIRELESS_DEBUG_WIFI = 1 << 1;
|
||||
|
||||
/**
|
||||
* Wifi debug port for wear.
|
||||
* @hide
|
||||
*/
|
||||
public static final String WIFI_DEBUG_PORT = "wireless_debug_wifi_port";
|
||||
|
||||
/**
|
||||
* Whether or not Up/Down Gestures are enabled.
|
||||
* @hide
|
||||
*/
|
||||
public static final String UPDOWN_GESTURES_ENABLED = "updown_gestures_enabled";
|
||||
|
||||
/**
|
||||
* Whether the setup was skipped.
|
||||
* @hide
|
||||
*/
|
||||
public static final String SETUP_SKIPPED = "setup_skipped";
|
||||
|
||||
// Possible setup_skipped states
|
||||
/** @hide */
|
||||
public static final int SETUP_SKIPPED_UNKNOWN = 0;
|
||||
/** @hide */
|
||||
public static final int SETUP_SKIPPED_YES = 1;
|
||||
/** @hide */
|
||||
public static final int SETUP_SKIPPED_NO = 2;
|
||||
|
||||
/**
|
||||
* The last requested call forwarding action.
|
||||
* @hide
|
||||
*/
|
||||
public static final String LAST_CALL_FORWARD_ACTION = "last_call_forward_action";
|
||||
|
||||
// Possible call forwarding actions
|
||||
/** @hide */
|
||||
public static final int CALL_FORWARD_ACTION_ON = 1;
|
||||
/** @hide */
|
||||
public static final int CALL_FORWARD_ACTION_OFF = 2;
|
||||
/** @hide */
|
||||
public static final int CALL_FORWARD_NO_LAST_ACTION = -1;
|
||||
|
||||
// Stem button settings.
|
||||
/** @hide */
|
||||
public static final String STEM_1_TYPE = "STEM_1_TYPE";
|
||||
/** @hide */
|
||||
public static final String STEM_1_DATA = "STEM_1_DATA";
|
||||
/** @hide */
|
||||
public static final String STEM_1_DEFAULT_DATA = "STEM_1_DEFAULT_DATA";
|
||||
/** @hide */
|
||||
public static final String STEM_2_TYPE = "STEM_2_TYPE";
|
||||
/** @hide */
|
||||
public static final String STEM_2_DATA = "STEM_2_DATA";
|
||||
/** @hide */
|
||||
public static final String STEM_2_DEFAULT_DATA = "STEM_2_DEFAULT_DATA";
|
||||
/** @hide */
|
||||
public static final String STEM_3_TYPE = "STEM_3_TYPE";
|
||||
/** @hide */
|
||||
public static final String STEM_3_DATA = "STEM_3_DATA";
|
||||
/** @hide */
|
||||
public static final String STEM_3_DEFAULT_DATA = "STEM_3_DEFAULT_DATA";
|
||||
|
||||
// Stem types
|
||||
/** @hide */
|
||||
public static final int STEM_TYPE_UNKNOWN = -1;
|
||||
/** @hide */
|
||||
public static final int STEM_TYPE_APP_LAUNCH = 0;
|
||||
/** @hide */
|
||||
public static final int STEM_TYPE_CONTACT_LAUNCH = 1;
|
||||
|
||||
/**
|
||||
* If the device should be muted when off body.
|
||||
* @hide
|
||||
*/
|
||||
public static final String MUTE_WHEN_OFF_BODY_ENABLED = "obtain_mute_when_off_body";
|
||||
|
||||
/**
|
||||
* Wear OS version string.
|
||||
* @hide
|
||||
*/
|
||||
public static final String WEAR_OS_VERSION_STRING = "wear_os_version_string";
|
||||
|
||||
/**
|
||||
* If an alternate launcher is enabled.
|
||||
* @hide
|
||||
*/
|
||||
public static final String ALTERNATE_LAUNCHER_ENABLED = "alternate_launcher_enabled";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
5
packages/SettingsProvider/res/values-mcc466/defaults.xml
Normal file
5
packages/SettingsProvider/res/values-mcc466/defaults.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Whether to enable mute when off body by default. -->
|
||||
<bool name="def_wearable_muteWhenOffBodyEnabled">false</bool>
|
||||
</resources>
|
||||
@@ -263,4 +263,21 @@
|
||||
<!-- Default for Settings.Secure.ONE_HANDED_MODE_ACTIVATED -->
|
||||
<bool name="def_one_handed_mode_activated">false</bool>
|
||||
|
||||
<!-- ========================================== -->
|
||||
<!-- Default values for wear specific settings. -->
|
||||
|
||||
<bool name="def_wearable_hotwordDetectionEnabled">false</bool>
|
||||
|
||||
<bool name="def_wearable_smartIlluminateEnabled">true</bool>
|
||||
|
||||
<integer name="def_wearable_offChargerWifiUsageLimitMinutes">120</integer>
|
||||
|
||||
<!-- Default enabled state of accelerometer-based up/down gestures. -->
|
||||
<bool name="def_wearable_upDownGesturesEnabled">false</bool>
|
||||
|
||||
<!-- Whether to enable mute when off body by default. -->
|
||||
<bool name="def_wearable_muteWhenOffBodyEnabled">true</bool>
|
||||
|
||||
<!-- Whether to use an alternate launcher if available. -->
|
||||
<bool name="def_wearable_alternateLauncherEnabled">true</bool>
|
||||
</resources>
|
||||
|
||||
@@ -143,6 +143,111 @@ public class GlobalSettingsValidators {
|
||||
/* last= */Global.ONE_HANDED_KEYGUARD_SIDE_RIGHT));
|
||||
VALIDATORS.put(Global.DISABLE_WINDOW_BLURS, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.DEVICE_CONFIG_SYNC_DISABLED, BOOLEAN_VALIDATOR);
|
||||
|
||||
VALIDATORS.put(Global.Wearable.HAS_PAY_TOKENS, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.GMS_CHECKIN_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.HOTWORD_DETECTION_ENABLED, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.SMART_REPLIES_ENABLED, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.RETAIL_MODE,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.RETAIL_MODE_CONSUMER),
|
||||
String.valueOf(Global.Wearable.RETAIL_MODE_RETAIL)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.PLAY_STORE_AVAILABILITY,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.PLAY_STORE_AVAILABLE),
|
||||
String.valueOf(Global.Wearable.PLAY_STORE_UNAVAILABLE),
|
||||
String.valueOf(Global.Wearable.PLAY_STORE_AVAILABILITY_UNKNOWN)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.BUG_REPORT,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.BUG_REPORT_ENABLED),
|
||||
String.valueOf(Global.Wearable.BUG_REPORT_DISABLED)
|
||||
}));
|
||||
VALIDATORS.put(Global.Wearable.SMART_ILLUMINATE_ENABLED, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.CLOCKWORK_AUTO_TIME,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.SYNC_TIME_FROM_PHONE),
|
||||
String.valueOf(Global.Wearable.SYNC_TIME_FROM_NETWORK),
|
||||
String.valueOf(Global.Wearable.AUTO_TIME_OFF),
|
||||
String.valueOf(Global.Wearable.INVALID_AUTO_TIME_STATE)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.SYNC_TIME_ZONE_FROM_PHONE),
|
||||
String.valueOf(Global.Wearable.SYNC_TIME_ZONE_FROM_NETWORK),
|
||||
String.valueOf(Global.Wearable.AUTO_TIME_ZONE_OFF),
|
||||
String.valueOf(Global.Wearable.INVALID_AUTO_TIME_ZONE_STATE)
|
||||
}));
|
||||
VALIDATORS.put(Global.Wearable.CLOCKWORK_24HR_TIME, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.AUTO_WIFI, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.WIFI_POWER_SAVE, ANY_INTEGER_VALIDATOR);
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS,
|
||||
ANY_INTEGER_VALIDATOR);
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.WIRELESS_DEBUG_MODE,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.WIRELESS_DEBUG_OFF),
|
||||
String.valueOf(Global.Wearable.WIRELESS_DEBUG_WIFI),
|
||||
String.valueOf(Global.Wearable.WIRELESS_DEBUG_BLUETOOTH)
|
||||
}));
|
||||
VALIDATORS.put(Global.Wearable.WIFI_DEBUG_PORT, ANY_INTEGER_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.UPDOWN_GESTURES_ENABLED, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.SETUP_SKIPPED,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.SETUP_SKIPPED_YES),
|
||||
String.valueOf(Global.Wearable.SETUP_SKIPPED_NO),
|
||||
String.valueOf(Global.Wearable.SETUP_SKIPPED_UNKNOWN)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.LAST_CALL_FORWARD_ACTION,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.CALL_FORWARD_ACTION_ON),
|
||||
String.valueOf(Global.Wearable.CALL_FORWARD_ACTION_OFF),
|
||||
String.valueOf(Global.Wearable.CALL_FORWARD_NO_LAST_ACTION)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.STEM_1_TYPE,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN),
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH),
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.STEM_2_TYPE,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN),
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH),
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH)
|
||||
}));
|
||||
VALIDATORS.put(
|
||||
Global.Wearable.STEM_3_TYPE,
|
||||
new DiscreteValueValidator(
|
||||
new String[] {
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_UNKNOWN),
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_APP_LAUNCH),
|
||||
String.valueOf(Global.Wearable.STEM_TYPE_CONTACT_LAUNCH)
|
||||
}));
|
||||
VALIDATORS.put(Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED, BOOLEAN_VALIDATOR);
|
||||
VALIDATORS.put(Global.Wearable.ALTERNATE_LAUNCHER_ENABLED, BOOLEAN_VALIDATOR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3576,7 +3576,7 @@ public class SettingsProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
private final class UpgradeController {
|
||||
private static final int SETTINGS_VERSION = 203;
|
||||
private static final int SETTINGS_VERSION = 204;
|
||||
|
||||
private final int mUserId;
|
||||
|
||||
@@ -5180,6 +5180,92 @@ public class SettingsProvider extends ContentProvider {
|
||||
currentVersion = 203;
|
||||
}
|
||||
|
||||
if (currentVersion == 203) {
|
||||
// Version 203: initialize entries migrated from wear settings provide.
|
||||
initGlobalSettingsDefaultValForWearLocked(Global.Wearable.HAS_PAY_TOKENS,
|
||||
false);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.GMS_CHECKIN_TIMEOUT_MIN, 6);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.HOTWORD_DETECTION_ENABLED,
|
||||
getContext()
|
||||
.getResources()
|
||||
.getBoolean(R.bool.def_wearable_hotwordDetectionEnabled));
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.SMART_REPLIES_ENABLED, false);
|
||||
Setting locationMode = getSecureSettingsLocked(userId)
|
||||
.getSettingLocked(Secure.LOCATION_MODE);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION,
|
||||
!locationMode.isNull()
|
||||
&& !Integer.toString(Secure.LOCATION_MODE_OFF)
|
||||
.equals(locationMode.getValue()));
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.RETAIL_MODE, Global.Wearable.RETAIL_MODE_CONSUMER);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.PLAY_STORE_AVAILABILITY,
|
||||
Global.Wearable.PLAY_STORE_AVAILABILITY_UNKNOWN);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.BUG_REPORT,
|
||||
"user".equals(Build.TYPE) // is user build?
|
||||
? Global.Wearable.BUG_REPORT_DISABLED
|
||||
: Global.Wearable.BUG_REPORT_ENABLED);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.SMART_ILLUMINATE_ENABLED,
|
||||
getContext()
|
||||
.getResources()
|
||||
.getBoolean(R.bool.def_wearable_smartIlluminateEnabled));
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.CLOCKWORK_AUTO_TIME,
|
||||
Global.Wearable.SYNC_TIME_FROM_PHONE);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE,
|
||||
Global.Wearable.SYNC_TIME_ZONE_FROM_PHONE);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.CLOCKWORK_24HR_TIME, false);
|
||||
initGlobalSettingsDefaultValForWearLocked(Global.Wearable.AUTO_WIFI, true);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.WIFI_POWER_SAVE,
|
||||
getContext()
|
||||
.getResources()
|
||||
.getInteger(
|
||||
R.integer
|
||||
.def_wearable_offChargerWifiUsageLimitMinutes));
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS, 0L);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.WIRELESS_DEBUG_MODE,
|
||||
Global.Wearable.WIRELESS_DEBUG_OFF);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.WIFI_DEBUG_PORT, 5555);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.UPDOWN_GESTURES_ENABLED,
|
||||
getContext()
|
||||
.getResources()
|
||||
.getBoolean(R.bool.def_wearable_upDownGesturesEnabled));
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.SETUP_SKIPPED,
|
||||
Global.Wearable.SETUP_SKIPPED_UNKNOWN);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.LAST_CALL_FORWARD_ACTION,
|
||||
Global.Wearable.CALL_FORWARD_NO_LAST_ACTION);
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED,
|
||||
getContext()
|
||||
.getResources()
|
||||
.getBoolean(R.bool.def_wearable_muteWhenOffBodyEnabled));
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.WEAR_OS_VERSION_STRING, "");
|
||||
initGlobalSettingsDefaultValForWearLocked(
|
||||
Global.Wearable.ALTERNATE_LAUNCHER_ENABLED,
|
||||
getContext()
|
||||
.getResources()
|
||||
.getBoolean(R.bool.def_wearable_alternateLauncherEnabled));
|
||||
|
||||
// TODO(b/164398026): add necessary initialization logic for all entries.
|
||||
currentVersion = 204;
|
||||
}
|
||||
|
||||
// vXXX: Add new settings above this point.
|
||||
|
||||
if (currentVersion != newVersion) {
|
||||
@@ -5196,6 +5282,31 @@ public class SettingsProvider extends ContentProvider {
|
||||
// Return the current version.
|
||||
return currentVersion;
|
||||
}
|
||||
|
||||
private void initGlobalSettingsDefaultValForWearLocked(String key, boolean val) {
|
||||
initGlobalSettingsDefaultValForWearLocked(key, val ? "1" : "0");
|
||||
}
|
||||
|
||||
private void initGlobalSettingsDefaultValForWearLocked(String key, int val) {
|
||||
initGlobalSettingsDefaultValForWearLocked(key, String.valueOf(val));
|
||||
}
|
||||
|
||||
private void initGlobalSettingsDefaultValForWearLocked(String key, long val) {
|
||||
initGlobalSettingsDefaultValForWearLocked(key, String.valueOf(val));
|
||||
}
|
||||
|
||||
private void initGlobalSettingsDefaultValForWearLocked(String key, String val) {
|
||||
final SettingsState globalSettings = getGlobalSettingsLocked();
|
||||
Setting currentSetting = globalSettings.getSettingLocked(key);
|
||||
if (currentSetting.isNull()) {
|
||||
globalSettings.insertSettingOverrideableByRestoreLocked(
|
||||
key,
|
||||
val,
|
||||
null /* tag */,
|
||||
true /* makeDefault */,
|
||||
SettingsState.SYSTEM_PACKAGE_NAME);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -593,7 +593,40 @@ public class SettingsBackupTest {
|
||||
Settings.Global.CACHED_APPS_FREEZER_ENABLED,
|
||||
Settings.Global.APP_INTEGRITY_VERIFICATION_TIMEOUT,
|
||||
Settings.Global.KEY_CHORD_POWER_VOLUME_UP,
|
||||
Settings.Global.ADVANCED_BATTERY_USAGE_AMOUNT);
|
||||
Settings.Global.ADVANCED_BATTERY_USAGE_AMOUNT,
|
||||
Settings.Global.Wearable.HAS_PAY_TOKENS,
|
||||
Settings.Global.Wearable.GMS_CHECKIN_TIMEOUT_MIN,
|
||||
Settings.Global.Wearable.HOTWORD_DETECTION_ENABLED,
|
||||
Settings.Global.Wearable.SMART_REPLIES_ENABLED,
|
||||
Settings.Global.Wearable.DEFAULT_VIBRATION,
|
||||
Settings.Global.Wearable.OBTAIN_PAIRED_DEVICE_LOCATION,
|
||||
Settings.Global.Wearable.RETAIL_MODE,
|
||||
Settings.Global.Wearable.PLAY_STORE_AVAILABILITY,
|
||||
Settings.Global.Wearable.BUG_REPORT,
|
||||
Settings.Global.Wearable.SMART_ILLUMINATE_ENABLED,
|
||||
Settings.Global.Wearable.CLOCKWORK_AUTO_TIME,
|
||||
Settings.Global.Wearable.CLOCKWORK_AUTO_TIME_ZONE,
|
||||
Settings.Global.Wearable.CLOCKWORK_24HR_TIME,
|
||||
Settings.Global.Wearable.AUTO_WIFI,
|
||||
Settings.Global.Wearable.WIFI_POWER_SAVE,
|
||||
Settings.Global.Wearable.ALT_BYPASS_WIFI_REQUIREMENT_TIME_MILLIS,
|
||||
Settings.Global.Wearable.WIRELESS_DEBUG_MODE,
|
||||
Settings.Global.Wearable.WIFI_DEBUG_PORT,
|
||||
Settings.Global.Wearable.UPDOWN_GESTURES_ENABLED,
|
||||
Settings.Global.Wearable.SETUP_SKIPPED,
|
||||
Settings.Global.Wearable.LAST_CALL_FORWARD_ACTION,
|
||||
Settings.Global.Wearable.STEM_1_TYPE,
|
||||
Settings.Global.Wearable.STEM_1_DATA,
|
||||
Settings.Global.Wearable.STEM_1_DEFAULT_DATA,
|
||||
Settings.Global.Wearable.STEM_2_TYPE,
|
||||
Settings.Global.Wearable.STEM_2_DATA,
|
||||
Settings.Global.Wearable.STEM_2_DEFAULT_DATA,
|
||||
Settings.Global.Wearable.STEM_3_TYPE,
|
||||
Settings.Global.Wearable.STEM_3_DATA,
|
||||
Settings.Global.Wearable.STEM_3_DEFAULT_DATA,
|
||||
Settings.Global.Wearable.MUTE_WHEN_OFF_BODY_ENABLED,
|
||||
Settings.Global.Wearable.WEAR_OS_VERSION_STRING,
|
||||
Settings.Global.Wearable.ALTERNATE_LAUNCHER_ENABLED);
|
||||
|
||||
private static final Set<String> BACKUP_DENY_LIST_SECURE_SETTINGS =
|
||||
newHashSet(
|
||||
@@ -763,8 +796,10 @@ public class SettingsBackupTest {
|
||||
|
||||
@Test
|
||||
public void globalSettingsBackedUpOrDenied() {
|
||||
Set<String> candidateSettings = getCandidateSettings(Settings.Global.class);
|
||||
candidateSettings.addAll(getCandidateSettings(Settings.Global.Wearable.class));
|
||||
checkSettingsBackedUpOrDenied(
|
||||
getCandidateSettings(Settings.Global.class),
|
||||
candidateSettings,
|
||||
newHashSet(GlobalSettings.SETTINGS_TO_BACKUP),
|
||||
BACKUP_DENY_LIST_GLOBAL_SETTINGS);
|
||||
}
|
||||
@@ -792,8 +827,7 @@ public class SettingsBackupTest {
|
||||
.that(intersect(settingsToBackup, denylist)).isEmpty();
|
||||
}
|
||||
|
||||
private static Set<String> getCandidateSettings(
|
||||
Class<? extends Settings.NameValueTable> clazz) {
|
||||
private static Set<String> getCandidateSettings(Class<?> clazz) {
|
||||
HashSet<String> result = new HashSet<String>();
|
||||
for (Field field : clazz.getDeclaredFields()) {
|
||||
if (looksLikeValidSetting(field)) {
|
||||
|
||||
Reference in New Issue
Block a user