Clean-up after com.android.settings.flags.revamp_toggles rollout
Flag: EXEMPT refactoring / flag clean-up Test: refactoring CL. Existing unit tests still pass. Bug: 296835792 Change-Id: Ib57ee270c8b5d540cb19997fe1863dd6d782cbe4
This commit is contained in:
@@ -8,12 +8,3 @@ flag {
|
||||
description: "Enable the time feedback feature, a button to launch feedback in Date & Time Settings"
|
||||
bug: "283239837"
|
||||
}
|
||||
|
||||
flag {
|
||||
name: "revamp_toggles"
|
||||
# "location" is used by the Android System Time team for feature flags.
|
||||
namespace: "location"
|
||||
description: "Makes the use location toggle dependent on automatic time zone detection"
|
||||
bug: "296835792"
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2008 The Android Open Source Project
|
||||
<!-- Copyright (C) 2024 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -94,10 +94,6 @@
|
||||
android:key="time_format_preference_category"
|
||||
android:title="@string/time_format_category_title"
|
||||
settings:keywords="@string/keywords_time_format">
|
||||
<SwitchPreferenceCompat
|
||||
android:key="auto_24hour"
|
||||
android:title="@string/date_time_24hour_auto"
|
||||
settings:controller="com.android.settings.datetime.AutoTimeFormatPreferenceController" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="24 hour"
|
||||
|
@@ -1,104 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2024 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<PreferenceScreen
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||
android:title="@string/date_and_time"
|
||||
settings:keywords="@string/keywords_date_and_time">
|
||||
|
||||
<com.android.settingslib.RestrictedSwitchPreference
|
||||
android:key="auto_time"
|
||||
android:title="@string/date_time_auto"
|
||||
android:summary="@string/summary_placeholder"
|
||||
settings:userRestriction="no_config_date_time"
|
||||
settings:controller="com.android.settings.datetime.AutoTimePreferenceController" />
|
||||
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:key="date"
|
||||
android:title="@string/date_time_set_date_title"
|
||||
android:summary="@string/summary_placeholder"
|
||||
settings:userRestriction="no_config_date_time"
|
||||
settings:controller="com.android.settings.datetime.DatePreferenceController" />
|
||||
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:key="time"
|
||||
android:title="@string/date_time_set_time_title"
|
||||
android:summary="@string/summary_placeholder"
|
||||
settings:userRestriction="no_config_date_time"
|
||||
settings:controller="com.android.settings.datetime.TimePreferenceController" />
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="timezone_preference_category"
|
||||
android:title="@string/date_time_set_timezone_title">
|
||||
|
||||
<com.android.settingslib.RestrictedSwitchPreference
|
||||
android:key="auto_zone"
|
||||
android:title="@string/zone_auto_title"
|
||||
android:summary="@string/summary_placeholder"
|
||||
settings:userRestriction="no_config_date_time"
|
||||
settings:controller="com.android.settings.datetime.AutoTimeZonePreferenceController" />
|
||||
|
||||
<com.android.settingslib.widget.BannerMessagePreference
|
||||
android:key="location_time_zone_detection_status"
|
||||
android:title="@string/location_time_zone_detection_status_title"
|
||||
settings:controller="com.android.settings.datetime.LocationProviderStatusPreferenceController"/>
|
||||
|
||||
<!-- This preference gets removed if location-based time zone detection is not supported -->
|
||||
<SwitchPreferenceCompat
|
||||
android:key="location_time_zone_detection"
|
||||
android:title="@string/location_time_zone_detection_toggle_title"
|
||||
android:summary="@string/summary_placeholder"
|
||||
settings:controller="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceController"/>
|
||||
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:key="timezone"
|
||||
android:title="@string/date_time_set_timezone_title"
|
||||
android:summary="@string/summary_placeholder"
|
||||
android:fragment="com.android.settings.datetime.timezone.TimeZoneSettings"
|
||||
settings:userRestriction="no_config_date_time"
|
||||
settings:keywords="@string/keywords_time_zone"
|
||||
settings:controller="com.android.settings.datetime.TimeZonePreferenceController" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<!-- An optional preference category for feedback. Only displayed up if enabled via flags and config. -->
|
||||
<PreferenceCategory
|
||||
android:key="time_feedback_preference_category"
|
||||
android:title="@string/time_feedback_category_title"
|
||||
settings:keywords="@string/keywords_time_feedback_category"
|
||||
settings:controller="com.android.settings.datetime.TimeFeedbackPreferenceCategoryController">
|
||||
|
||||
<Preference
|
||||
android:key="time_feedback"
|
||||
android:title="@string/time_feedback_title"
|
||||
settings:keywords="@string/keywords_time_feedback"
|
||||
settings:controller="com.android.settings.datetime.TimeFeedbackPreferenceController" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="time_format_preference_category"
|
||||
android:title="@string/time_format_category_title"
|
||||
settings:keywords="@string/keywords_time_format">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="24 hour"
|
||||
android:title="@string/date_time_24hour"
|
||||
settings:controller="com.android.settings.datetime.TimeFormatPreferenceController" />
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
@@ -1,73 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.datetime;
|
||||
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Settings.System;
|
||||
import android.text.format.DateFormat;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class AutoTimeFormatPreferenceController extends TogglePreferenceController {
|
||||
|
||||
public AutoTimeFormatPreferenceController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return isAutoTimeFormatSelection(mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setChecked(boolean isChecked) {
|
||||
Boolean is24Hour;
|
||||
if (isChecked) {
|
||||
is24Hour = null;
|
||||
} else {
|
||||
is24Hour = is24HourLocale(mContext.getResources().getConfiguration().locale);
|
||||
}
|
||||
TimeFormatPreferenceController.update24HourFormat(mContext, is24Hour);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSliceHighlightMenuRes() {
|
||||
return R.string.menu_key_system;
|
||||
}
|
||||
|
||||
boolean is24HourLocale(Locale locale) {
|
||||
return DateFormat.is24HourLocale(locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the system is currently configured to pick the time format automatically based on
|
||||
* the locale.
|
||||
*/
|
||||
static boolean isAutoTimeFormatSelection(Context context) {
|
||||
return Settings.System.getString(context.getContentResolver(), System.TIME_12_24) == null;
|
||||
}
|
||||
}
|
@@ -32,7 +32,6 @@ import androidx.preference.Preference;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
public class AutoTimeZonePreferenceController extends TogglePreferenceController {
|
||||
|
||||
@@ -107,19 +106,17 @@ public class AutoTimeZonePreferenceController extends TogglePreferenceController
|
||||
TimeZoneConfiguration.Builder configuration = new TimeZoneConfiguration.Builder()
|
||||
.setAutoDetectionEnabled(isChecked);
|
||||
|
||||
if (Flags.revampToggles()) {
|
||||
// "Use location for time zone" is only used if "Automatic time zone" is enabled. If
|
||||
// the user toggles off automatic time zone, set the toggle off and disable the toggle.
|
||||
int geoDetectionCapability = mTimeManager
|
||||
.getTimeZoneCapabilitiesAndConfig()
|
||||
.getCapabilities()
|
||||
.getConfigureGeoDetectionEnabledCapability();
|
||||
// "Use location for time zone" is only used if "Automatic time zone" is enabled. If
|
||||
// the user toggles off automatic time zone, set the toggle off and disable the toggle.
|
||||
int geoDetectionCapability = mTimeManager
|
||||
.getTimeZoneCapabilitiesAndConfig()
|
||||
.getCapabilities()
|
||||
.getConfigureGeoDetectionEnabledCapability();
|
||||
|
||||
if (!isChecked
|
||||
&& (geoDetectionCapability == CAPABILITY_NOT_APPLICABLE
|
||||
|| geoDetectionCapability == CAPABILITY_POSSESSED)) {
|
||||
configuration.setGeoDetectionEnabled(false);
|
||||
}
|
||||
if (!isChecked
|
||||
&& (geoDetectionCapability == CAPABILITY_NOT_APPLICABLE
|
||||
|| geoDetectionCapability == CAPABILITY_POSSESSED)) {
|
||||
configuration.setGeoDetectionEnabled(false);
|
||||
}
|
||||
|
||||
boolean result = mTimeManager.updateTimeZoneConfiguration(configuration.build());
|
||||
|
@@ -23,7 +23,6 @@ import android.content.Context;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.flags.Flags;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
@@ -50,9 +49,6 @@ public class DateTimeSettings extends DashboardFragment implements
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
if (Flags.revampToggles()) {
|
||||
return R.xml.date_time_prefs_revamped;
|
||||
}
|
||||
return R.xml.date_time_prefs;
|
||||
}
|
||||
|
||||
@@ -123,6 +119,5 @@ public class DateTimeSettings extends DashboardFragment implements
|
||||
}
|
||||
|
||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider(
|
||||
Flags.revampToggles() ? R.xml.date_time_prefs_revamped : R.xml.date_time_prefs);
|
||||
new BaseSearchIndexProvider(R.xml.date_time_prefs);
|
||||
}
|
||||
|
@@ -32,7 +32,6 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
import com.android.settings.flags.Flags;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||
@@ -68,7 +67,7 @@ public class LocationTimeZoneDetectionPreferenceController
|
||||
// forceRefresh set to true as the location toggle may have been turned off by switching off
|
||||
// automatic time zone
|
||||
TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
|
||||
getTimeZoneCapabilitiesAndConfig(/*forceRefresh=*/ Flags.revampToggles());
|
||||
getTimeZoneCapabilitiesAndConfig(/*forceRefresh=*/ true);
|
||||
TimeZoneConfiguration configuration = capabilitiesAndConfig.getConfiguration();
|
||||
return configuration.isGeoDetectionEnabled();
|
||||
}
|
||||
@@ -137,11 +136,7 @@ public class LocationTimeZoneDetectionPreferenceController
|
||||
if (capability == CAPABILITY_NOT_SUPPORTED || capability == CAPABILITY_NOT_ALLOWED) {
|
||||
return UNSUPPORTED_ON_DEVICE;
|
||||
} else if (capability == CAPABILITY_NOT_APPLICABLE || capability == CAPABILITY_POSSESSED) {
|
||||
if (Flags.revampToggles()) {
|
||||
return isAutoTimeZoneEnabled() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
|
||||
} else {
|
||||
return AVAILABLE;
|
||||
}
|
||||
return isAutoTimeZoneEnabled() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
|
||||
} else {
|
||||
throw new IllegalStateException("Unknown capability=" + capability);
|
||||
}
|
||||
@@ -151,10 +146,8 @@ public class LocationTimeZoneDetectionPreferenceController
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
|
||||
if (Flags.revampToggles()) {
|
||||
// enable / disable the toggle based on automatic time zone being enabled or not
|
||||
preference.setEnabled(isAutoTimeZoneEnabled());
|
||||
}
|
||||
// enable / disable the toggle based on automatic time zone being enabled or not
|
||||
preference.setEnabled(isAutoTimeZoneEnabled());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -25,7 +25,6 @@ import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@@ -73,11 +72,6 @@ public class TimeFormatPreferenceController extends TogglePreferenceController {
|
||||
if (mIsFromSUW) {
|
||||
return DISABLED_DEPENDENT_SETTING;
|
||||
}
|
||||
if (!Flags.revampToggles()) {
|
||||
if (AutoTimeFormatPreferenceController.isAutoTimeFormatSelection(mContext)) {
|
||||
return DISABLED_DEPENDENT_SETTING;
|
||||
}
|
||||
}
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@@ -120,12 +114,12 @@ public class TimeFormatPreferenceController extends TogglePreferenceController {
|
||||
return DateFormat.is24HourFormat(mContext);
|
||||
}
|
||||
|
||||
static void update24HourFormat(Context context, Boolean is24Hour) {
|
||||
private static void update24HourFormat(Context context, Boolean is24Hour) {
|
||||
set24Hour(context, is24Hour);
|
||||
timeUpdated(context, is24Hour);
|
||||
}
|
||||
|
||||
static void timeUpdated(Context context, Boolean is24Hour) {
|
||||
private static void timeUpdated(Context context, Boolean is24Hour) {
|
||||
Intent timeChanged = new Intent(Intent.ACTION_TIME_CHANGED);
|
||||
timeChanged.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
|
||||
int timeFormatPreference;
|
||||
@@ -139,9 +133,8 @@ public class TimeFormatPreferenceController extends TogglePreferenceController {
|
||||
context.sendBroadcast(timeChanged);
|
||||
}
|
||||
|
||||
static void set24Hour(Context context, Boolean is24Hour) {
|
||||
String value = is24Hour == null ? null :
|
||||
is24Hour ? HOURS_24 : HOURS_12;
|
||||
private static void set24Hour(Context context, boolean is24Hour) {
|
||||
String value = is24Hour ? HOURS_24 : HOURS_12;
|
||||
Settings.System.putString(context.getContentResolver(),
|
||||
Settings.System.TIME_12_24, value);
|
||||
}
|
||||
|
@@ -1,152 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.datetime;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.provider.Settings;
|
||||
import android.text.format.DateFormat;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class AutoTimeFormatPreferenceControllerTest {
|
||||
|
||||
@Mock
|
||||
private UpdateTimeAndDateCallback mCallback;
|
||||
|
||||
private ShadowApplication mApplication;
|
||||
private Context mContext;
|
||||
private SwitchPreference mPreference;
|
||||
private TestAutoTimeFormatPreferenceController mController;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mApplication = ShadowApplication.getInstance();
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mController = new TestAutoTimeFormatPreferenceController(mContext, "test_key");
|
||||
mPreference = new SwitchPreference(mContext);
|
||||
mPreference.setKey("test_key");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_24HourSet_shouldCheckPreference() {
|
||||
Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
|
||||
TimeFormatPreferenceController.HOURS_24);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
|
||||
assertThat(mPreference.isChecked()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_12HourSet_shouldCheckPreference() {
|
||||
Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
|
||||
TimeFormatPreferenceController.HOURS_12);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
|
||||
assertThat(mPreference.isChecked()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_autoSet_shouldNotCheckPreference() {
|
||||
Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24, null);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
|
||||
assertThat(mPreference.isChecked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updatePreference_autoSet_shouldSendIntent_12HourLocale() {
|
||||
mController.setChecked(false);
|
||||
|
||||
List<Intent> intentsFired = mApplication.getBroadcastIntents();
|
||||
assertThat(intentsFired.size()).isEqualTo(1);
|
||||
Intent intentFired = intentsFired.get(0);
|
||||
assertThat(intentFired.getAction()).isEqualTo(Intent.ACTION_TIME_CHANGED);
|
||||
assertThat(intentFired.getIntExtra(Intent.EXTRA_TIME_PREF_24_HOUR_FORMAT, -1))
|
||||
.isEqualTo(Intent.EXTRA_TIME_PREF_VALUE_USE_12_HOUR);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updatePreference_autoSet_shouldSendIntent_24HourLocale() {
|
||||
mController.setIs24HourLocale(true);
|
||||
|
||||
mController.setChecked(false);
|
||||
|
||||
List<Intent> intentsFired = mApplication.getBroadcastIntents();
|
||||
assertThat(intentsFired.size()).isEqualTo(1);
|
||||
Intent intentFired = intentsFired.get(0);
|
||||
assertThat(intentFired.getAction()).isEqualTo(Intent.ACTION_TIME_CHANGED);
|
||||
assertThat(intentFired.getIntExtra(Intent.EXTRA_TIME_PREF_24_HOUR_FORMAT, -1))
|
||||
.isEqualTo(Intent.EXTRA_TIME_PREF_VALUE_USE_24_HOUR);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updatePreference_24HourSet_shouldSendIntent() {
|
||||
mController.setIs24HourLocale(false);
|
||||
|
||||
mController.setChecked(true);
|
||||
|
||||
List<Intent> intentsFired = mApplication.getBroadcastIntents();
|
||||
assertThat(intentsFired.size()).isEqualTo(1);
|
||||
Intent intentFired = intentsFired.get(0);
|
||||
assertThat(intentFired.getAction()).isEqualTo(Intent.ACTION_TIME_CHANGED);
|
||||
assertThat(intentFired.getIntExtra(Intent.EXTRA_TIME_PREF_24_HOUR_FORMAT, -1))
|
||||
.isEqualTo(Intent.EXTRA_TIME_PREF_VALUE_USE_LOCALE_DEFAULT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend class under test to change {@link #is24HourLocale} to not call
|
||||
* {@link DateFormat#is24HourLocale(Locale)} because that's not available in roboelectric.
|
||||
*/
|
||||
private static class TestAutoTimeFormatPreferenceController
|
||||
extends AutoTimeFormatPreferenceController {
|
||||
|
||||
private boolean is24HourLocale = false;
|
||||
|
||||
TestAutoTimeFormatPreferenceController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
}
|
||||
|
||||
void setIs24HourLocale(boolean value) {
|
||||
is24HourLocale = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean is24HourLocale(Locale locale) {
|
||||
return is24HourLocale;
|
||||
}
|
||||
}
|
||||
}
|
@@ -40,17 +40,12 @@ import android.app.time.TimeZoneConfiguration;
|
||||
import android.app.time.TimeZoneDetectorStatus;
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
import android.platform.test.annotations.DisableFlags;
|
||||
import android.platform.test.annotations.EnableFlags;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -62,9 +57,6 @@ import org.robolectric.RuntimeEnvironment;
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class AutoTimeZonePreferenceControllerTest {
|
||||
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
|
||||
@Mock
|
||||
private UpdateTimeAndDateCallback mCallback;
|
||||
private Context mContext;
|
||||
@@ -247,7 +239,6 @@ public class AutoTimeZonePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_REVAMP_TOGGLES})
|
||||
public void toggleOff_revampFlagOn_shouldToggleOffUseLocation() {
|
||||
TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
|
||||
/* autoSupported= */ true,
|
||||
@@ -266,25 +257,6 @@ public class AutoTimeZonePreferenceControllerTest {
|
||||
verify(mTimeManager).updateTimeZoneConfiguration(configuration);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags({Flags.FLAG_REVAMP_TOGGLES})
|
||||
public void toggleOff_revampFlagOff_shouldToggleOffUseLocation() {
|
||||
TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
|
||||
/* autoSupported= */ true,
|
||||
/* autoEnabled= */ true,
|
||||
/* telephonySupported= */ true,
|
||||
/* locationSupported= */ true);
|
||||
when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
|
||||
|
||||
mController.setChecked(false);
|
||||
|
||||
TimeZoneConfiguration configuration = new TimeZoneConfiguration.Builder()
|
||||
.setAutoDetectionEnabled(false)
|
||||
.build();
|
||||
|
||||
verify(mTimeManager).updateTimeZoneConfiguration(configuration);
|
||||
}
|
||||
|
||||
private static TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(
|
||||
boolean autoSupported, boolean autoEnabled, boolean telephonySupported) {
|
||||
return createCapabilitiesAndConfig(autoSupported, autoEnabled, telephonySupported, false);
|
||||
|
@@ -45,17 +45,13 @@ import android.app.time.TimeZoneConfiguration;
|
||||
import android.app.time.TimeZoneDetectorStatus;
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
import android.platform.test.annotations.EnableFlags;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Answers;
|
||||
@@ -71,9 +67,6 @@ import org.robolectric.annotation.Config;
|
||||
})
|
||||
public class LocationTimeZoneDetectionPreferenceControllerTest {
|
||||
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
|
||||
@Mock
|
||||
private TimeManager mTimeManager;
|
||||
private Context mContext;
|
||||
@@ -131,8 +124,7 @@ public class LocationTimeZoneDetectionPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags({Flags.FLAG_REVAMP_TOGGLES})
|
||||
public void flagRevampTogglesOn_toggleOff_automaticTimeZone_disablesLocationToggle() {
|
||||
public void toggleOff_automaticTimeZone_disablesLocationToggle() {
|
||||
TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
|
||||
createTimeZoneCapabilitiesAndConfig(/* useLocationEnabled= */ true,
|
||||
CAPABILITY_POSSESSED, /* setAutoDetectionEnabled= */ false);
|
||||
|
@@ -23,16 +23,11 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.platform.test.annotations.DisableFlags;
|
||||
import android.platform.test.flag.junit.SetFlagsRule;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -46,9 +41,6 @@ import java.util.List;
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class TimeFormatPreferenceControllerTest {
|
||||
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
|
||||
@Mock
|
||||
private UpdateTimeAndDateCallback mCallback;
|
||||
|
||||
@@ -104,16 +96,6 @@ public class TimeFormatPreferenceControllerTest {
|
||||
assertThat(mPreference.isChecked()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags({Flags.FLAG_REVAMP_TOGGLES})
|
||||
public void updateState_autoSet_shouldNotEnablePreference() {
|
||||
Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24, null);
|
||||
|
||||
mController.updateState(mPreference);
|
||||
|
||||
assertThat(mPreference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updatePreference_12HourSet_shouldSendIntent() {
|
||||
mController.setChecked(false);
|
||||
|
Reference in New Issue
Block a user