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

Commit f8bb8ace authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Define menu keys for highlighting the menu entry on 2-pane UI" into sc-v2-dev

parents 1f10c506 7426ab7b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -72,6 +72,8 @@
        <attr name="unavailableSliceSubtitle" format="string" />
        <!-- Whether or not the preference is for work profile, by default it's false. -->
        <attr name="forWork" format="boolean" />
        <!-- Identifier for highlighting the menu preference on 2-pane -->
        <attr name="highlightableMenuKey" format="string" />
    </declare-styleable>

    <declare-styleable name="PreferenceScreen">
+38 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 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.
-->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <string name="menu_key_network" translatable="false">top_level_network</string>
    <string name="menu_key_connected_devices" translatable="false">top_level_connected_devices</string>
    <string name="menu_key_apps" translatable="false">top_level_apps</string>
    <string name="menu_key_notifications" translatable="false">top_level_notifications</string>
    <string name="menu_key_battery" translatable="false">top_level_battery</string>
    <string name="menu_key_storage" translatable="false">top_level_storage</string>
    <string name="menu_key_sound" translatable="false">top_level_sound</string>
    <string name="menu_key_display" translatable="false">top_level_display</string>
    <string name="menu_key_wallpaper" translatable="false">top_level_wallpaper</string>
    <string name="menu_key_accessibility" translatable="false">top_level_accessibility</string>
    <string name="menu_key_security" translatable="false">top_level_security</string>
    <string name="menu_key_privacy" translatable="false">top_level_privacy</string>
    <string name="menu_key_location" translatable="false">top_level_location</string>
    <string name="menu_key_emergency" translatable="false">top_level_emergency</string>
    <string name="menu_key_accounts" translatable="false">top_level_accounts</string>
    <string name="menu_key_system" translatable="false">top_level_system</string>
    <string name="menu_key_about_device" translatable="false">top_level_about_device</string>
    <string name="menu_key_support" translatable="false">top_level_support</string>

</resources>
+25 −7
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
        android:order="-150"
        android:title="@string/network_dashboard_title"
        android:summary="@string/summary_placeholder"
        settings:highlightableMenuKey="@string/menu_key_network"
        settings:controller="com.android.settings.network.TopLevelNetworkEntryPreferenceController"/>

    <Preference
@@ -36,6 +37,7 @@
        android:order="-140"
        android:title="@string/connected_devices_dashboard_title"
        android:summary="@string/connected_devices_dashboard_default_summary"
        settings:highlightableMenuKey="@string/menu_key_connected_devices"
        settings:controller="com.android.settings.connecteddevice.TopLevelConnectedDevicesPreferenceController"/>

    <Preference
@@ -44,15 +46,17 @@
        android:key="top_level_apps"
        android:order="-130"
        android:title="@string/apps_dashboard_title"
        android:summary="@string/app_and_notification_dashboard_summary"/>
        android:summary="@string/app_and_notification_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_apps"/>

    <Preference
        android:fragment="com.android.settings.notification.ConfigureNotificationSettings"
        android:icon="@drawable/ic_notifications"
        android:key="top_level_notification"
        android:key="top_level_notifications"
        android:order="-120"
        android:title="@string/configure_notification_settings"
        android:summary="@string/notification_dashboard_summary"/>
        android:summary="@string/notification_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_notifications"/>

    <Preference
        android:fragment="com.android.settings.fuelgauge.PowerUsageSummary"
@@ -61,6 +65,7 @@
        android:order="-110"
        android:title="@string/power_usage_summary_title"
        android:summary="@string/summary_placeholder"
        settings:highlightableMenuKey="@string/menu_key_battery"
        settings:controller="com.android.settings.fuelgauge.TopLevelBatteryPreferenceController"/>

    <Preference
@@ -70,6 +75,7 @@
        android:order="-100"
        android:title="@string/storage_settings"
        android:summary="@string/summary_placeholder"
        settings:highlightableMenuKey="@string/menu_key_storage"
        settings:controller="com.android.settings.deviceinfo.TopLevelStoragePreferenceController"/>

    <Preference
@@ -78,7 +84,8 @@
        android:key="top_level_sound"
        android:order="-90"
        android:title="@string/sound_settings"
        android:summary="@string/sound_dashboard_summary"/>
        android:summary="@string/sound_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_sound"/>

    <Preference
        android:fragment="com.android.settings.DisplaySettings"
@@ -87,6 +94,7 @@
        android:order="-80"
        android:title="@string/display_settings"
        android:summary="@string/display_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_display"
        settings:controller="com.android.settings.display.TopLevelDisplayPreferenceController"/>

    <com.android.settingslib.RestrictedTopLevelPreference
@@ -95,6 +103,7 @@
        android:order="-70"
        android:title="@string/wallpaper_settings_title"
        android:summary="@string/wallpaper_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_wallpaper"
        settings:controller="com.android.settings.display.TopLevelWallpaperPreferenceController"/>

    <Preference
@@ -104,6 +113,7 @@
        android:order="-60"
        android:title="@string/accessibility_settings"
        android:summary="@string/accessibility_settings_summary"
        settings:highlightableMenuKey="@string/menu_key_accessibility"
        settings:controller="com.android.settings.accessibility.TopLevelAccessibilityPreferenceController"/>

    <Preference
@@ -113,6 +123,7 @@
        android:order="-50"
        android:title="@string/security_settings_title"
        android:summary="@string/security_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_security"
        settings:controller="com.android.settings.security.TopLevelSecurityEntryPreferenceController"/>

    <Preference
@@ -121,7 +132,8 @@
        android:key="top_level_privacy"
        android:order="-40"
        android:title="@string/privacy_dashboard_title"
        android:summary="@string/privacy_dashboard_summary"/>
        android:summary="@string/privacy_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_privacy"/>

    <Preference
        android:fragment="com.android.settings.location.LocationSettings"
@@ -130,6 +142,7 @@
        android:order="-30"
        android:title="@string/location_settings_title"
        android:summary="@string/location_settings_loading_app_permission_stats"
        settings:highlightableMenuKey="@string/menu_key_location"
        settings:controller="com.android.settings.location.TopLevelLocationPreferenceController"/>

    <Preference
@@ -138,7 +151,8 @@
        android:summary="@string/emergency_dashboard_summary"
        android:icon="@drawable/ic_settings_emergency"
        android:order="-20"
        android:fragment="com.android.settings.emergency.EmergencyDashboardFragment"/>
        android:fragment="com.android.settings.emergency.EmergencyDashboardFragment"
        settings:highlightableMenuKey="@string/menu_key_emergency"/>

    <Preference
        android:fragment="com.android.settings.accounts.AccountDashboardFragment"
@@ -147,6 +161,7 @@
        android:order="-10"
        android:title="@string/account_dashboard_title"
        android:summary="@string/summary_placeholder"
        settings:highlightableMenuKey="@string/menu_key_accounts"
        settings:controller="com.android.settings.accounts.TopLevelAccountEntryPreferenceController"/>

    <Preference
@@ -155,7 +170,8 @@
        android:key="top_level_system"
        android:order="10"
        android:title="@string/header_category_system"
        android:summary="@string/system_dashboard_summary"/>
        android:summary="@string/system_dashboard_summary"
        settings:highlightableMenuKey="@string/menu_key_system"/>

    <Preference
        android:fragment="com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment"
@@ -164,6 +180,7 @@
        android:order="20"
        android:title="@string/about_settings"
        android:summary="@string/summary_placeholder"
        settings:highlightableMenuKey="@string/menu_key_about_device"
        settings:controller="com.android.settings.deviceinfo.aboutphone.TopLevelAboutDevicePreferenceController"/>

    <Preference
@@ -172,6 +189,7 @@
        android:order="100"
        android:title="@string/page_tab_title_support"
        android:summary="@string/support_summary"
        settings:highlightableMenuKey="@string/menu_key_support"
        settings:controller="com.android.settings.support.SupportPreferenceController"/>

</PreferenceScreen>
+12 −1
Original line number Diff line number Diff line
@@ -73,7 +73,8 @@ public class PreferenceXmlParserUtils {
            MetadataFlag.FLAG_NEED_PREF_ICON,
            MetadataFlag.FLAG_NEED_SEARCHABLE,
            MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE,
            MetadataFlag.FLAG_FOR_WORK})
            MetadataFlag.FLAG_FOR_WORK,
            MetadataFlag.FLAG_NEED_HIGHLIGHTABLE_MENU_KEY})
    @Retention(RetentionPolicy.SOURCE)
    public @interface MetadataFlag {

@@ -89,6 +90,7 @@ public class PreferenceXmlParserUtils {
        int FLAG_NEED_PREF_APPEND = 1 << 10;
        int FLAG_UNAVAILABLE_SLICE_SUBTITLE = 1 << 11;
        int FLAG_FOR_WORK = 1 << 12;
        int FLAG_NEED_HIGHLIGHTABLE_MENU_KEY = 1 << 13;
    }

    public static final String METADATA_PREF_TYPE = "type";
@@ -102,6 +104,7 @@ public class PreferenceXmlParserUtils {
    public static final String METADATA_APPEND = "staticPreferenceLocation";
    public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE = "unavailable_slice_subtitle";
    public static final String METADATA_FOR_WORK = "for_work";
    public static final String METADATA_HIGHLIGHTABLE_MENU_KEY = "highlightable_menu_key";

    private static final String ENTRIES_SEPARATOR = "|";

@@ -250,6 +253,10 @@ public class PreferenceXmlParserUtils {
                preferenceMetadata.putBoolean(METADATA_FOR_WORK,
                        isForWork(preferenceAttributes));
            }
            if (hasFlag(flags, MetadataFlag.FLAG_NEED_HIGHLIGHTABLE_MENU_KEY)) {
                preferenceMetadata.putString(METADATA_HIGHLIGHTABLE_MENU_KEY,
                        getHighlightableMenuKey(preferenceAttributes));
            }
            metadata.add(preferenceMetadata);

            preferenceAttributes.recycle();
@@ -314,6 +321,10 @@ public class PreferenceXmlParserUtils {
        return styledAttributes.getString(R.styleable.Preference_controller);
    }

    private static String getHighlightableMenuKey(TypedArray styledAttributes) {
        return styledAttributes.getString(R.styleable.Preference_highlightableMenuKey);
    }

    private static int getIcon(TypedArray styledAttributes) {
        return styledAttributes.getResourceId(com.android.internal.R.styleable.Icon_icon, 0);
    }
Loading