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 -->