New manual time zone picker.
This implements a new manual time zone picker that allows selection of a time zone for a selected country. It also allows selecting a fixed offset time zone (most importantly Etc/UTC, which is a frequently requested feature). The new time zone picker is currently behind a feature flag (settings_zone_picker_v2), which is disabled by default. Test: manual Test: SettingsFunctionalTests Test: SettingsRobotTests Bug: 62255208 Change-Id: I89c5a04bcb562b6facf5f31a8aa4ad1cdd51ab10
This commit is contained in:
@@ -20,7 +20,10 @@ import android.content.Context;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import android.util.FeatureFlagUtils;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.datetime.timezone.ZonePicker;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.datetime.ZoneGetter;
|
||||
@@ -33,11 +36,13 @@ public class TimeZonePreferenceController extends AbstractPreferenceController
|
||||
private static final String KEY_TIMEZONE = "timezone";
|
||||
|
||||
private final AutoTimeZonePreferenceController mAutoTimeZonePreferenceController;
|
||||
private final boolean mZonePickerV2;
|
||||
|
||||
public TimeZonePreferenceController(Context context,
|
||||
AutoTimeZonePreferenceController autoTimeZonePreferenceController) {
|
||||
super(context);
|
||||
mAutoTimeZonePreferenceController = autoTimeZonePreferenceController;
|
||||
mZonePickerV2 = FeatureFlagUtils.isEnabled(mContext, FeatureFlags.ZONE_PICKER_V2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -45,6 +50,9 @@ public class TimeZonePreferenceController extends AbstractPreferenceController
|
||||
if (!(preference instanceof RestrictedPreference)) {
|
||||
return;
|
||||
}
|
||||
if (mZonePickerV2) {
|
||||
preference.setFragment(ZonePicker.class.getName());
|
||||
}
|
||||
preference.setSummary(getTimeZoneOffsetAndName());
|
||||
if( !((RestrictedPreference) preference).isDisabledByAdmin()) {
|
||||
preference.setEnabled(!mAutoTimeZonePreferenceController.isEnabled());
|
||||
|
Reference in New Issue
Block a user