Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3677c7f authored by Edgar Wang's avatar Edgar Wang Committed by Android (Google) Code Review
Browse files

Merge "Clean-up after com.android.settings.flags.revamp_toggles rollout" into main

parents 7b7f72d9 842a3372
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
<?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"
+0 −104
Original line number Diff line number Diff line
<?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>
+0 −73
Original line number Diff line number Diff line
/*
 * 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;
    }
}
+11 −14
Original line number Diff line number Diff line
@@ -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,7 +106,6 @@ 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
@@ -120,7 +118,6 @@ public class AutoTimeZonePreferenceController extends TogglePreferenceController
                || geoDetectionCapability == CAPABILITY_POSSESSED)) {
            configuration.setGeoDetectionEnabled(false);
        }
        }

        boolean result = mTimeManager.updateTimeZoneConfiguration(configuration.build());

Loading