App-level notification configuration settings page.
New sub-page off of notification settings to ban/unban
apps and navigate to an app's notification configuration
activity (if configured).
Centralized all notification settings artifacts under a new
settings subpackage.
Bug: 13935172
Change-Id: I53b75c02f0091900734d17dc9217035d0df9b466
diff --git a/res/drawable-hdpi/ic_settings_generic.png b/res/drawable-hdpi/ic_settings_generic.png
new file mode 100644
index 0000000..0e577bf
--- /dev/null
+++ b/res/drawable-hdpi/ic_settings_generic.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_generic.png b/res/drawable-mdpi/ic_settings_generic.png
new file mode 100644
index 0000000..a7ede7e
--- /dev/null
+++ b/res/drawable-mdpi/ic_settings_generic.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_generic.png b/res/drawable-xhdpi/ic_settings_generic.png
new file mode 100644
index 0000000..6c907f4
--- /dev/null
+++ b/res/drawable-xhdpi/ic_settings_generic.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_generic.png b/res/drawable-xxhdpi/ic_settings_generic.png
new file mode 100644
index 0000000..9ce3b08
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_settings_generic.png
Binary files differ
diff --git a/res/layout/notification_app.xml b/res/layout/notification_app.xml
index 4f61c13..414165a 100644
--- a/res/layout/notification_app.xml
+++ b/res/layout/notification_app.xml
@@ -18,67 +18,76 @@
android:layout_height="wrap_content" >
<RelativeLayout
- android:layout_width="match_parent"
+ android:id="@android:id/button1"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_toStartOf="@+id/divider"
- >
+ android:layout_alignWithParentIfMissing="true"
+ android:layout_toStartOf="@+id/settings_divider"
+ android:background="?android:attr/listChoiceBackgroundIndicator" >
<ImageView
android:id="@android:id/icon"
- android:layout_width="@android:dimen/app_icon_size"
- android:layout_height="@android:dimen/app_icon_size"
+ android:layout_width="@dimen/notification_app_icon_size"
+ android:layout_height="@dimen/notification_app_icon_size"
android:layout_centerVertical="true"
- android:layout_marginBottom="10dp"
- android:layout_marginStart="0dp"
- android:layout_marginEnd="6dp"
- android:layout_marginTop="10dp"
android:contentDescription="@null"
- android:maxHeight="@android:dimen/app_icon_size"
- android:maxWidth="@android:dimen/app_icon_size"
- android:scaleType="fitCenter" />
+ android:scaleType="center" />
+
+ <ImageView
+ android:id="@android:id/icon1"
+ android:layout_width="@dimen/notification_app_icon_badge_size"
+ android:layout_height="@dimen/notification_app_icon_badge_size"
+ android:layout_marginLeft="@dimen/notification_app_icon_badge_margin"
+ android:layout_marginTop="@dimen/notification_app_icon_badge_margin"
+ android:background="#bb8b0000"
+ android:contentDescription="@null" />
+
+ <ImageView
+ android:id="@android:id/icon2"
+ android:layout_width="@dimen/notification_app_icon_badge_size"
+ android:layout_height="@dimen/notification_app_icon_badge_size"
+ android:layout_alignBottom="@android:id/icon"
+ android:layout_alignEnd="@android:id/icon"
+ android:layout_marginBottom="@dimen/notification_app_icon_badge_margin"
+ android:layout_marginEnd="@dimen/notification_app_icon_badge_margin"
+ android:background="#bb006400"
+ android:contentDescription="@null" />
<TextView
android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_toStartOf="@android:id/button1"
android:layout_toEndOf="@android:id/icon"
android:ellipsize="end"
android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceMedium"
android:textAlignment="viewStart"
- android:labelFor="@android:id/button2" />
-
+ android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
- <!-- Divider -->
-
- <ImageView
- android:id="@id/divider"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
+ <View
+ android:id="@+id/settings_divider"
+ android:layout_width="1dp"
+ android:layout_height="@dimen/notification_app_settings_divider_height"
android:layout_centerVertical="true"
android:layout_toStartOf="@android:id/button2"
- android:contentDescription="@null"
- android:src="@drawable/nav_divider" />
-
- <!-- Settings icon -->
+ android:background="?android:attr/listDivider" />
<ImageView
android:id="@android:id/button2"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignBottom="@android:id/widget_frame"
+ android:layout_width="@dimen/notification_app_icon_size"
+ android:layout_height="@dimen/notification_app_icon_size"
android:layout_alignParentEnd="true"
- android:layout_alignTop="@android:id/widget_frame"
android:layout_centerVertical="true"
- android:layout_margin="0dip"
- android:background="?android:attr/selectableItemBackground"
+ android:background="?android:attr/listChoiceBackgroundIndicator"
android:contentDescription="@string/notification_app_settings_button"
- android:padding="8dip"
- android:clickable="true"
- android:focusable="true"
- android:src="@drawable/ic_bt_config" />
+ android:scaleType="center"
+ android:src="@drawable/ic_settings_generic" />
-</RelativeLayout>
+ <View
+ android:id="@+id/row_divider"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?android:attr/listDivider" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/notification_app_dialog.xml b/res/layout/notification_app_dialog.xml
new file mode 100644
index 0000000..a8f7880
--- /dev/null
+++ b/res/layout/notification_app_dialog.xml
@@ -0,0 +1,47 @@
+<!--
+ Copyright (C) 2014 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.
+-->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <ImageView
+ android:id="@android:id/icon"
+ android:layout_width="@dimen/notification_app_icon_size"
+ android:layout_height="@dimen/notification_app_icon_size"
+ android:contentDescription="@null"
+ android:scaleType="center" />
+
+ <TextView
+ android:id="@android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/notification_app_icon_size"
+ android:layout_toEndOf="@android:id/icon"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:textAlignment="viewStart"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
+
+ <CheckBox
+ android:id="@android:id/button1"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/notification_app_icon_size"
+ android:layout_below="@android:id/icon"
+ android:layout_marginStart="@dimen/content_margin_left"
+ android:text="@string/app_notifications_dialog_show"
+ android:textAppearance="?android:attr/textAppearanceListItem" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/notification_app_list.xml b/res/layout/notification_app_list.xml
new file mode 100644
index 0000000..9d23a54
--- /dev/null
+++ b/res/layout/notification_app_list.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2014 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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
+
+ <ListView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:divider="#0000"
+ android:dividerHeight="0px"
+ android:fastScrollAlwaysVisible="true"
+ android:fastScrollEnabled="true"
+ android:listSelector="#0000"
+ android:scrollbarStyle="outsideInset" />
+
+ <TextView
+ android:id="@android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:text="@string/loading_notification_apps"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/notification_app_section.xml b/res/layout/notification_app_section.xml
new file mode 100644
index 0000000..628b524
--- /dev/null
+++ b/res/layout/notification_app_section.xml
@@ -0,0 +1,19 @@
+<!--
+ Copyright (C) 2014 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.
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="?android:attr/listSeparatorTextViewStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
diff --git a/res/layout/notification_info_row.xml b/res/layout/notification_info_row.xml
deleted file mode 100644
index bc71ef2..0000000
--- a/res/layout/notification_info_row.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<!--
- Copyright (C) 2013 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.
--->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" >
-
- <!-- Dream selectable row (icon, caption, radio button) -->
-
- <RelativeLayout
- android:id="@android:id/widget_frame"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_toStartOf="@+id/divider"
- android:background="?android:attr/selectableItemBackground" >
-
- <!-- Dream icon -->
-
- <ImageView
- android:id="@+id/pkgicon"
- android:layout_width="@*android:dimen/status_bar_icon_size"
- android:layout_height="@*android:dimen/status_bar_icon_size"
- android:layout_centerVertical="true"
- android:layout_marginBottom="6dp"
- android:layout_marginStart="0dp"
- android:layout_marginEnd="6dp"
- android:layout_marginTop="6dp"
- android:contentDescription="@null"
- android:maxHeight="@*android:dimen/status_bar_icon_size"
- android:maxWidth="@*android:dimen/status_bar_icon_size"
- android:scaleType="fitCenter" />
-
- <ImageView
- android:id="@android:id/icon"
- android:layout_width="@*android:dimen/status_bar_icon_size"
- android:layout_height="@*android:dimen/status_bar_icon_size"
- android:layout_centerVertical="true"
- android:layout_toEndOf="@id/pkgicon"
- android:layout_marginBottom="6dp"
- android:layout_marginStart="0dp"
- android:layout_marginEnd="8dp"
- android:layout_marginTop="6dp"
- android:contentDescription="@null"
- android:maxHeight="@*android:dimen/status_bar_icon_size"
- android:maxWidth="@*android:dimen/status_bar_icon_size"
- android:scaleType="fitCenter" />
-
- <!-- Dream caption -->
-
- <TextView
- android:id="@android:id/title"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_centerVertical="true"
- android:layout_toStartOf="@android:id/button1"
- android:layout_toEndOf="@android:id/icon"
- android:ellipsize="end"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textAlignment="viewStart"
- android:labelFor="@android:id/button2" />
-
- <!-- Dream radio button -->
-
- <!--<RadioButton
- android:id="@android:id/button1"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
- android:duplicateParentState="true"
- android:clickable="false"
- android:focusable="false" />-->
- </RelativeLayout>
-
- <!-- Divider -->
-
- <ImageView
- android:id="@id/divider"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_centerVertical="true"
- android:layout_toStartOf="@android:id/button2"
- android:contentDescription="@null"
- android:src="@drawable/nav_divider" />
-
- <!-- Settings icon -->
-
- <ImageView
- android:id="@android:id/button2"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignBottom="@android:id/widget_frame"
- android:layout_alignParentEnd="true"
- android:layout_alignTop="@android:id/widget_frame"
- android:layout_centerVertical="true"
- android:layout_margin="0dip"
- android:background="?android:attr/selectableItemBackground"
- android:contentDescription="@string/screensaver_settings_button"
- android:padding="8dip"
- android:src="@drawable/ic_bt_config" />
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/notification_log_row.xml b/res/layout/notification_log_row.xml
index 284e9ea..702e6b8 100644
--- a/res/layout/notification_log_row.xml
+++ b/res/layout/notification_log_row.xml
@@ -33,7 +33,7 @@
android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_height="@*android:dimen/status_bar_icon_size"
android:layout_centerVertical="true"
- android:layout_toEndOf="@id/pkgicon"
+ android:layout_toEndOf="@+id/pkgicon"
android:layout_marginStart="0dp"
android:layout_marginEnd="8dp"
android:contentDescription="@null"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 3581d6a..64d4851 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -78,4 +78,9 @@
<integer name="preferences_left_pane_weight">4</integer>
<!-- Weight of the right pane in a multi-pane preference layout. So the split is 40:60 -->
<integer name="preferences_right_pane_weight">6</integer>
+
+ <dimen name="notification_app_icon_size">64dp</dimen>
+ <dimen name="notification_app_icon_badge_size">20dp</dimen>
+ <dimen name="notification_app_icon_badge_margin">4dp</dimen>
+ <dimen name="notification_app_settings_divider_height">48dp</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 09bd6d6..c92bde2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1767,9 +1767,7 @@
<!-- Sound settings screen, notification light repeat pulsing title -->
<string name="notification_pulse_title">Pulse notification light</string>
<!-- Display settings screen, notification popups are enabled [CHAR LIMIT=30] -->
- <string name="heads_up_enabled_title">Heads Up Notifications</string>
- <!-- Display settings screen, notification popups are explained [CHAR LIMIT=45]-->
- <string name="heads_up_enabled_summary">Important notifications will pop up</string>
+ <string name="heads_up_enabled_title">Pop up if high priority</string>
<!-- Sound settings screen, the title of the volume bar to adjust the incoming call volume -->
<string name="incoming_call_volume_title">Ringtone</string>
<!-- Sound settings screen, the title of the volume bar to adjust the notification volume -->
@@ -5027,38 +5025,31 @@
<!-- Notifications on lockscreen -->
<!-- Label for checkbox controlling the contents of notifications shown on
the secure lockscreen [CHAR LIMIT=25] -->
- <string name="lock_screen_notifications">Show when locked</string>
+ <string name="lock_screen_notifications">Show on lock screen</string>
<!-- Summary for lock_screen_notifications: sensitive information will be
hidden or redacted from notifications shown on a secure lock screen
[CHAR LIMIT=50] -->
- <string name="lock_screen_notifications_summary_off">Sensitive notification contents will be hidden on the lock screen</string>
+ <string name="lock_screen_notifications_summary_off">Unless content is sensitive</string>
<!-- Summary for lock_screen_notifications: all information will be
shown in notifications shown on a secure lock screen
[CHAR LIMIT=50] -->
- <string name="lock_screen_notifications_summary_on">All notification contents will be shown on the lock screen</string>
+ <string name="lock_screen_notifications_summary_on">All notifications</string>
- <!-- [CHAR LIMIT=30] Sound settings screen, setting option name to change zen mode -->
- <string name="title_zen_mode">Limited interruptions</string>
- <!-- [CHAR LIMIT=30] Sound settings screen, description for configuring zen mode -->
- <string name="configure_zen_mode_description">Configure limited interruptions</string>
+ <!-- [CHAR LIMIT=30] Notification settings screen, setting option name -->
+ <string name="title_zen_mode">Do not disturb</string>
+
<!-- [CHAR LIMIT=30] Zen mode settings screen, activity title -->
- <string name="zen_mode_settings_title">Limited Interruptions</string>
+ <string name="zen_mode_settings_title">Do not disturb</string>
<!-- [CHAR LIMIT=20] Notifications settings header -->
<string name="notification_settings">Notifications</string>
- <!-- [CHAR LIMIT=20] Notifications settings: General section header -->
- <string name="notification_settings_general">General</string>
-
- <!-- [CHAR LIMIT=20] Notifications settings: Security section header -->
- <string name="notification_settings_security">Security</string>
-
<!-- [CHAR LIMIT=20] Notifications settings: Tweaks section header (eng
builds only) -->
<string name="notification_settings_tweaks">Tweaks</string>
<!-- [CHAR LIMIT=20] Notifications settings: Apps section header -->
- <string name="notification_settings_apps">Apps</string>
+ <string name="notification_settings_apps_title">App notifications</string>
<!-- [CHAR LIMIT=NONE] Content description for per-app notification
settings button -->
@@ -5081,5 +5072,21 @@
<!-- Text displayed when tag is not writable -->
<string name="status_tag_not_writable">NFC tag is not writable. Please use a different tag.</string>
+ <!-- Option title for the default sound, context based on screen -->
+ <string name="default_sound">Default sound</string>
+ <!-- [CHAR LIMIT=NONE] Text when loading app list in notification settings -->
+ <string name="loading_notification_apps">Loading apps...</string>
+
+ <!-- [CHAR LIMIT=40] Notification settings: App notifications screen title -->
+ <string name="app_notifications_title">App notifications</string>
+
+ <!-- [CHAR LIMIT=30] Notification settings: App notifications dialog show option -->
+ <string name="app_notifications_dialog_show">Show notifications</string>
+
+ <!-- [CHAR LIMIT=30] Notification settings: App notifications dialog priority option -->
+ <string name="app_notifications_dialog_priority">High priority</string>
+
+ <!-- [CHAR LIMIT=20] Notification settings: App notifications dialog dismiss button caption -->
+ <string name="app_notifications_dialog_done">Done</string>
</resources>
diff --git a/res/xml/notification_settings.xml b/res/xml/notification_settings.xml
index 4979422..51b153e 100644
--- a/res/xml/notification_settings.xml
+++ b/res/xml/notification_settings.xml
@@ -19,67 +19,44 @@
android:key="notification_settings"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
- <PreferenceCategory
- android:key="category_general"
- android:title="@string/notification_settings_general">
+ <com.android.settings.DefaultRingtonePreference
+ android:key="notification_sound"
+ android:title="@string/default_sound"
+ android:dialogTitle="@string/notification_sound_dialog_title"
+ android:persistent="false"
+ android:ringtoneType="notification" />
- <com.android.settings.DefaultRingtonePreference
- android:key="notification_sound"
- android:title="@string/notification_sound_title"
- android:dialogTitle="@string/notification_sound_dialog_title"
- android:persistent="false"
- android:ringtoneType="notification" />
+ <CheckBoxPreference
+ android:key="notification_pulse"
+ android:title="@string/notification_pulse_title"
+ android:persistent="false" />
- <CheckBoxPreference
- android:key="notification_pulse"
- android:title="@string/notification_pulse_title"
- android:persistent="false" />
+ <CheckBoxPreference
+ android:key="heads_up"
+ android:title="@string/heads_up_enabled_title"
+ android:persistent="false" />
- <CheckBoxPreference
- android:key="heads_up"
- android:title="@string/heads_up_enabled_title"
- android:summary="@string/heads_up_enabled_summary"
- android:persistent="false" />
+ <CheckBoxPreference
+ android:key="toggle_lock_screen_notifications"
+ android:title="@string/lock_screen_notifications"
+ android:summaryOff="@string/lock_screen_notifications_summary_off"
+ android:summaryOn="@string/lock_screen_notifications_summary_on"
+ android:persistent="false" />
- <PreferenceScreen
- android:key="zen_mode"
- android:title="@string/title_zen_mode"
- android:fragment="com.android.settings.ZenModeSettings" />
+ <PreferenceScreen
+ android:key="configure"
+ android:title="@string/notification_settings_apps_title"
+ android:fragment="com.android.settings.notification.AppNotificationSettings" />
- </PreferenceCategory>
-
- <PreferenceCategory
- android:key="category_security"
- android:title="@string/notification_settings_security">
-
- <CheckBoxPreference
- android:key="toggle_lock_screen_notifications"
- android:title="@string/lock_screen_notifications"
- android:summaryOff="@string/lock_screen_notifications_summary_off"
- android:summaryOn="@string/lock_screen_notifications_summary_on"
- android:persistent="false" />
-
- <Preference
- android:key="manage_notification_access"
- android:title="@string/manage_notification_access"
- android:persistent="false"
- android:fragment="com.android.settings.NotificationAccessSettings"/>
-
- </PreferenceCategory>
-
-<!--
- <PreferenceCategory
- android:key="category_tweaks"
- android:title="@string/notification_settings_tweaks"/>
+ <PreferenceScreen
+ android:key="zen_mode"
+ android:title="@string/title_zen_mode"
+ android:fragment="com.android.settings.notification.ZenModeSettings" />
<Preference
- android:title="Coming soon"
- />
--->
-
- <PreferenceCategory
- android:key="category_apps"
- android:title="@string/notification_settings_apps">
- </PreferenceCategory>
+ android:key="manage_notification_access"
+ android:title="@string/manage_notification_access"
+ android:persistent="false"
+ android:fragment="com.android.settings.notification.NotificationAccessSettings" />
</PreferenceScreen>
diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml
index 73665cd..bf44854 100644
--- a/res/xml/settings_headers.xml
+++ b/res/xml/settings_headers.xml
@@ -85,7 +85,7 @@
<header
android:id="@+id/notification_settings"
android:icon="@drawable/ic_settings_notifications"
- android:fragment="com.android.settings.NotificationSettings"
+ android:fragment="com.android.settings.notification.NotificationSettings"
android:title="@string/notification_settings" />
<!-- Storage -->