Add modes to Settings homepage.
Also moves the modes entrypoints out of the sub-pages it was previously in (notifications and sound settings). Bug: 353700470 Test: manual by opening the homepage Flag: android.app.modes_ui Change-Id: I53124bfed25c43fc2dabaf9c43ce0513bbfc7377
This commit is contained in:
@@ -1321,7 +1321,7 @@
|
||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||
android:value="com.android.settings.notification.modes.ZenModesListFragment"/>
|
||||
<meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
|
||||
android:value="@string/menu_key_notifications"/>
|
||||
android:value="@string/menu_key_priority_modes" />
|
||||
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
|
||||
android:value="true" />
|
||||
</activity>
|
||||
|
@@ -24,6 +24,7 @@
|
||||
<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_priority_modes" translatable="false">top_level_priority_modes</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>
|
||||
|
@@ -135,15 +135,6 @@
|
||||
settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
|
||||
/>
|
||||
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:key="modes_notifications"
|
||||
android:order="18"
|
||||
android:title="@string/zen_modes_list_title"
|
||||
settings:useAdminDisabledSummary="true"
|
||||
android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
|
||||
settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"
|
||||
/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="lock_screen_show_only_unseen_notifs"
|
||||
android:order="19"
|
||||
|
@@ -18,7 +18,8 @@
|
||||
<PreferenceScreen
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||
android:title="@string/zen_modes_list_title">
|
||||
android:title="@string/zen_modes_list_title"
|
||||
android:key="modes_list_settings">
|
||||
|
||||
<com.android.settingslib.widget.TopIntroPreference
|
||||
android:title="@string/zen_modes_list_intro" />
|
||||
|
@@ -105,14 +105,6 @@
|
||||
settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
|
||||
settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"/>
|
||||
|
||||
<com.android.settingslib.RestrictedPreference
|
||||
android:key="modes_notifications"
|
||||
android:order="-130"
|
||||
android:title="@string/zen_modes_list_title"
|
||||
settings:useAdminDisabledSummary="true"
|
||||
android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
|
||||
settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
|
||||
|
||||
<!-- Phone ringtone -->
|
||||
<com.android.settings.DefaultRingtonePreference
|
||||
android:key="phone_ringtone"
|
||||
|
@@ -68,6 +68,16 @@
|
||||
android:summary="@string/notification_dashboard_summary"
|
||||
settings:highlightableMenuKey="@string/menu_key_notifications"/>
|
||||
|
||||
<com.android.settings.widget.RestrictedHomepagePreference
|
||||
android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
|
||||
android:icon="@*android:drawable/ic_zen_priority_modes"
|
||||
android:key="top_level_priority_modes"
|
||||
android:order="-115"
|
||||
android:title="@string/zen_modes_list_title"
|
||||
settings:useAdminDisabledSummary="true"
|
||||
settings:highlightableMenuKey="@string/menu_key_priority_modes"
|
||||
settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
|
||||
|
||||
<com.android.settings.widget.HomepagePreference
|
||||
android:fragment="com.android.settings.fuelgauge.batteryusage.PowerUsageSummary"
|
||||
android:icon="@drawable/ic_settings_battery_white"
|
||||
|
@@ -82,6 +82,16 @@
|
||||
android:summary="@string/sound_dashboard_summary"
|
||||
settings:highlightableMenuKey="@string/menu_key_sound"/>
|
||||
|
||||
<com.android.settings.widget.RestrictedHomepagePreference
|
||||
android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
|
||||
android:icon="@*android:drawable/ic_zen_priority_modes"
|
||||
android:key="top_level_priority_modes"
|
||||
android:order="-35"
|
||||
android:title="@string/zen_modes_list_title"
|
||||
settings:useAdminDisabledSummary="true"
|
||||
settings:highlightableMenuKey="@string/menu_key_priority_modes"
|
||||
settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
|
||||
|
||||
<com.android.settings.widget.HomepagePreference
|
||||
android:fragment="com.android.settings.communal.CommunalDashboardFragment"
|
||||
android:icon="@drawable/ia_settings_communal"
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.notification.modes;
|
||||
|
||||
import android.app.Flags;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -30,6 +31,7 @@ import com.android.settingslib.notification.modes.ZenModesBackend;
|
||||
|
||||
public class ZenModesLinkPreferenceController extends BasePreferenceController
|
||||
implements LifecycleObserver, OnStart, OnStop {
|
||||
private static final String TAG = "ModesLinkPrefController";
|
||||
|
||||
private final ZenModesBackend mBackend;
|
||||
private final ZenSettingsObserver mSettingObserver;
|
||||
@@ -71,7 +73,13 @@ public class ZenModesLinkPreferenceController extends BasePreferenceController
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
preference.setSummary(mSummaryBuilder.getModesSummary(mBackend.getModes()));
|
||||
try {
|
||||
preference.setSummary(mSummaryBuilder.getModesSummary(mBackend.getModes()));
|
||||
} catch (SecurityException e) {
|
||||
// Standard usage should have the correct permissions to read zen state. But if we don't
|
||||
// for whatever reason, don't crash.
|
||||
Log.w(TAG, "No permission to read mode state");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user