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

Commit 89a745dd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15756811

Change-Id: Idd2af151dcb4c0b8bb8f7fd04f8574544590b467
parents f2c3bf87 f8bb8ace
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