Merge "Implement the renderers for conditional header and footer"
diff --git a/res/drawable/ic_launcher_settings.xml b/res/drawable/ic_launcher_settings.xml
index cdf9e35..9ede59d 100644
--- a/res/drawable/ic_launcher_settings.xml
+++ b/res/drawable/ic_launcher_settings.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@*android:color/accent_device_default_light"/>
+    <background android:drawable="@color/icon_launcher_setting_color"/>
     <foreground android:drawable="@mipmap/ic_launcher_settings"/>
 </adaptive-icon>
diff --git a/res/layout/homepage_slice_tile.xml b/res/layout/homepage_slice_tile.xml
index dbdb91b..e062dba 100644
--- a/res/layout/homepage_slice_tile.xml
+++ b/res/layout/homepage_slice_tile.xml
@@ -30,8 +30,6 @@
             android:id="@+id/slice_view"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginBottom="@dimen/homepage_card_vertical_margin"
-            android:layout_marginTop="@dimen/homepage_card_vertical_margin"
             android:paddingStart="@dimen/homepage_card_padding_start"
             android:paddingEnd="@dimen/homepage_card_padding_end"/>
 
diff --git a/res/layout/settings_homepage_container.xml b/res/layout/settings_homepage_container.xml
index 7a84e32..42b78b4 100644
--- a/res/layout/settings_homepage_container.xml
+++ b/res/layout/settings_homepage_container.xml
@@ -42,7 +42,9 @@
             <FrameLayout
                 android:id="@+id/contextual_cards_content"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"/>
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/homepage_card_side_margin"
+                android:layout_marginEnd="@dimen/homepage_card_side_margin"/>
 
             <FrameLayout
                 android:id="@+id/main_content"
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 34885b4..5dfc0b9 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -149,5 +149,8 @@
     <color name="face_anim_particle_color_3">#ff4caf50</color> <!-- Material Green 500 -->
     <color name="face_anim_particle_color_4">#fffdd835</color> <!-- Material Yellow 600 -->
     <color name="face_anim_particle_error">#ff9e9e9e</color> <!-- Material Gray 500 -->
+
+    <!-- launcher icon color -->
+    <color name="icon_launcher_setting_color">@*android:color/accent_device_default_light</color>
 </resources>
 
diff --git a/res/values/config.xml b/res/values/config.xml
index d487f46..917f14d 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -150,4 +150,14 @@
     <string name="config_settingsintelligence_package_name" translatable="false">
         com.android.settings.intelligence
     </string>
+
+    <!-- Emergency app package name -->
+    <string name="config_emergency_package_name" translatable="false">
+        com.android.emergency
+    </string>
+    <!-- Emergency app intent action -->
+    <string name="config_emergency_intent_action" translatable="false">
+        android.settings.EDIT_EMERGENCY_INFO
+    </string>
+
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 8f44c69..075979d 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -329,8 +329,8 @@
     <dimen name="homepage_card_icon_size">24dp</dimen>
     <dimen name="homepage_card_corner_radius">8dp</dimen>
     <dimen name="homepage_card_elevation">2dp</dimen>
-    <dimen name="homepage_card_vertical_margin">4dp</dimen>
-    <dimen name="homepage_card_side_margin">8dp</dimen>
+    <dimen name="homepage_card_vertical_margin">8dp</dimen>
+    <dimen name="homepage_card_side_margin">4dp</dimen>
     <dimen name="homepage_card_padding_start">16dp</dimen>
     <dimen name="homepage_card_padding_end">16dp</dimen>
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e93e06f..eb7cc2b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -4578,22 +4578,24 @@
     <!-- Summary for the accessibility preference for master mono. [CHAR LIMIT=50] -->
     <string name="accessibility_toggle_master_mono_summary">Combine channels when playing audio</string>
 
-    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <!-- Option heading to leave the timeout requirement for accessibility users at its default level. [CHAR LIMIT=35] -->
     <string name="accessibility_timeout_default">Default</string>
-    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <!-- Option heading to leave the timeout requirement for accessibility users at 10 secs. [CHAR LIMIT=35] -->
     <string name="accessibility_timeout_10secs">10 seconds</string>
-    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <!-- Option heading to leave the timeout requirement for accessibility users at 30 secs. [CHAR LIMIT=35] -->
     <string name="accessibility_timeout_30secs">30 seconds</string>
-    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <!-- Option heading to leave the timeout requirement for accessibility users at 1 min. [CHAR LIMIT=35] -->
     <string name="accessibility_timeout_1min">1 minute</string>
-    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <!-- Option heading to leave the timeout requirement for accessibility users at 2 mins. [CHAR LIMIT=35] -->
     <string name="accessibility_timeout_2mins">2 minutes</string>
-    <!-- Title for accessibility preference to accessibility message_timeout. [CHAR LIMIT=35] -->
-    <string name="accessibility_accessibility_content_timeout_preference_title">Content Timeout</string>
-    <!-- Title for accessibility preference to accessibility message_timeout. [CHAR LIMIT=35] -->
-    <string name="accessibility_accessibility_control_timeout_preference_title">Control Timeout</string>
-    <!-- Title for accessibility preference to accessibility message_timeout. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_accessibility_timeout_preference_summary">Choose how long it takes before automatically disappearing messages go away.\nSome apps may not support this setting yet.</string>
+    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <string name="accessibility_content_timeout_preference_title">Time to read</string>
+    <!-- Title for accessibility preference to accessibility timeout. [CHAR LIMIT=35] -->
+    <string name="accessibility_control_timeout_preference_title">Time to take action</string>
+    <!-- Descriptive text for accessibility preference to accessibility content timeout. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_content_timeout_preference_summary">Choose how much time you want to read and take action on messages that automatically go away.\n\nSupport for this setting is up to each app.</string>
+    <!-- Descriptive text for accessibility preference to accessibility control timeout. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_control_timeout_preference_summary">Choose how long to show messages that ask you to take action, but are visible only temporarily.\n\nNot all apps support this setting.</string>
 
     <!-- Title for accessibility preference to choose long-press delay i.e. timeout before it is detected. [CHAR LIMIT=35] -->
     <string name="accessibility_long_press_timeout_preference_title">Touch &amp; hold delay</string>
@@ -5424,9 +5426,9 @@
     <string name="battery_saver_turn_on_automatically_pct">at <xliff:g id="percent">%1$s</xliff:g> battery</string>
 
     <!-- [CHAR_LIMIT=40] Battery percentage: Title -->
-    <string name="battery_percentage">Battery percentage</string>
+    <string name="battery_info">Battery Information</string>
     <!-- [CHAR_LIMIT=NONE] Battery percentage: Description for preference -->
-    <string name="battery_percentage_description">Show battery percentage in status bar</string>
+    <string name="battery_info_description">Show percentage and time left before charge is needed</string>
 
     <!-- Process Stats strings -->
     <skip />
@@ -10079,6 +10081,9 @@
     <!-- Title for HFP(hands free profile) output switch button in settings. -->
     <string name="take_call_on_title">Take call on</string>
 
+    <!-- Toast that appears when users tap an APN for which parameters cannot be viewed. [CHAR LIMIT=NONE] -->
+    <string name="cannot_change_apn_toast">This APN cannot be changed.</string>
+
     <!--  Title for battery Suggestion. (tablet) [CHAR LIMIT=46] -->
     <string name="battery_suggestion_title" product="tablet" >Improve tablet\'s battery life</string>
     <!--  Title for battery Suggestion. (device) [CHAR LIMIT=46] -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index cfc5fd3..3ce1193 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -482,7 +482,6 @@
     </style>
 
     <style name="ContextualCardStyle">
-        <item name="android:layout_marginTop">@dimen/homepage_card_vertical_margin</item>
         <item name="android:layout_marginBottom">@dimen/homepage_card_vertical_margin</item>
         <item name="android:layout_marginStart">@dimen/homepage_card_side_margin</item>
         <item name="android:layout_marginEnd">@dimen/homepage_card_side_margin</item>
diff --git a/res/xml/accessibility_content_timeout_settings.xml b/res/xml/accessibility_content_timeout_settings.xml
index 51573c9..d450449 100644
--- a/res/xml/accessibility_content_timeout_settings.xml
+++ b/res/xml/accessibility_content_timeout_settings.xml
@@ -19,7 +19,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:key="accessibility_content_timeout_preference"
-    android:title="@string/accessibility_accessibility_content_timeout_preference_title"
+    android:title="@string/accessibility_content_timeout_preference_title"
     android:persistent="false" >
 
     <com.android.settings.widget.VideoPreference
@@ -32,7 +32,7 @@
         android:key="accessibility_content_timeout_summary"
         android:selectable="false"
         android:enabled="true"
-        android:summary="@string/accessibility_accessibility_timeout_preference_summary"
+        android:summary="@string/accessibility_content_timeout_preference_summary"
         android:persistent="false" />
 
     <com.android.settings.widget.RadioButtonPreference
diff --git a/res/xml/accessibility_control_timeout_settings.xml b/res/xml/accessibility_control_timeout_settings.xml
index 4559650..6d8e1d0 100644
--- a/res/xml/accessibility_control_timeout_settings.xml
+++ b/res/xml/accessibility_control_timeout_settings.xml
@@ -19,7 +19,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:key="accessibility_control_timeout_preference"
-    android:title="@string/accessibility_accessibility_control_timeout_preference_title"
+    android:title="@string/accessibility_control_timeout_preference_title"
     android:persistent="false" >
 
     <com.android.settings.widget.VideoPreference
@@ -32,7 +32,7 @@
         android:key="accessibility_control_timeout_summary"
         android:selectable="false"
         android:enabled="true"
-        android:summary="@string/accessibility_accessibility_timeout_preference_summary"
+        android:summary="@string/accessibility_control_timeout_preference_summary"
         android:persistent="false" />
 
     <com.android.settings.widget.RadioButtonPreference
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 1cd4a48..cc07ce1 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -75,8 +75,7 @@
         <Preference
             android:fragment="com.android.settings.accessibility.AccessibilityContentTimeoutPreferenceFragment"
             android:key="accessibility_content_timeout_preference_fragment"
-            android:title="@string/accessibility_accessibility_content_timeout_preference_title"
-            android:icon="@drawable/ic_accessibility_generic"
+            android:title="@string/accessibility_content_timeout_preference_title"
             android:persistent="false" />
 
     </PreferenceCategory>
@@ -111,8 +110,7 @@
         <Preference
             android:fragment="com.android.settings.accessibility.AccessibilityControlTimeoutPreferenceFragment"
             android:key="accessibility_control_timeout_preference_fragment"
-            android:title="@string/accessibility_accessibility_control_timeout_preference_title"
-            android:icon="@drawable/ic_accessibility_generic"
+            android:title="@string/accessibility_control_timeout_preference_title"
             android:persistent="false" />
 
         <Preference
diff --git a/res/xml/app_data_usage.xml b/res/xml/app_data_usage.xml
index 5eaee96..e64a1c5 100644
--- a/res/xml/app_data_usage.xml
+++ b/res/xml/app_data_usage.xml
@@ -21,7 +21,8 @@
     android:title="@string/data_usage_app_summary_title">
 
     <com.android.settings.datausage.SpinnerPreference
-        android:key="cycle" />
+        android:key="cycle"
+        settings:isPreferenceVisible="false" />
 
     <PreferenceCategory
         android:key="app_data_usage_summary_category">
diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index b4db4ed..48e1276 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -50,8 +50,8 @@
 
     <SwitchPreference
         android:key="battery_percentage"
-        android:title="@string/battery_percentage"
-        android:summary="@string/battery_percentage_description"
+        android:title="@string/battery_info"
+        android:summary="@string/battery_info_description"
         settings:controller="com.android.settings.display.BatteryPercentagePreferenceController" />
 
 
diff --git a/res/xml/privacy_dashboard_settings.xml b/res/xml/privacy_dashboard_settings.xml
index 5d11936..79e2e71 100644
--- a/res/xml/privacy_dashboard_settings.xml
+++ b/res/xml/privacy_dashboard_settings.xml
@@ -21,6 +21,7 @@
     android:key="privacy_dashboard_page"
     android:title="@string/privacy_dashboard_title">
 
+    <!-- App permissions -->
     <Preference
         android:key="privacy_manage_perms"
         android:title="@string/app_permissions"
@@ -29,6 +30,14 @@
         <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
     </Preference>
 
+    <!-- On lock screen notifications -->
+    <com.android.settings.RestrictedListPreference
+        android:key="privacy_lock_screen_notifications"
+        android:title="@string/lock_screen_notifications_title"
+        android:summary="@string/summary_placeholder"
+        settings:searchable="false"/>
+
+    <!-- Show passwords -->
     <SwitchPreference
         android:key="show_password"
         android:title="@string/show_password"
@@ -42,4 +51,20 @@
     <PreferenceCategory
         android:key="dashboard_tile_placeholder"/>
 
+    <!-- Work profile settings are at the bottom with high order value to avoid users thinking that
+         any of the above settings (including dynamic) are specific to the work profile. -->
+    <PreferenceCategory
+        android:key="privacy_work_profile_notifications_category"
+        android:title="@string/profile_section_header"
+        android:order="998"
+        settings:searchable="false">
+
+        <com.android.settings.RestrictedListPreference
+            android:key="privacy_lock_screen_work_profile_notifications"
+            android:title="@string/locked_work_profile_notification_title"
+            android:summary="@string/summary_placeholder"
+            android:order="999"
+            settings:searchable="false"/>
+    </PreferenceCategory>
+
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/zen_mode_settings.xml b/res/xml/zen_mode_settings.xml
index 1966484..2014308 100644
--- a/res/xml/zen_mode_settings.xml
+++ b/res/xml/zen_mode_settings.xml
@@ -37,11 +37,6 @@
             android:title="@string/zen_mode_messages_title"
             android:fragment="com.android.settings.notification.ZenModeMessagesSettings" />
 
-        <!-- Alarms -->
-        <SwitchPreference
-            android:key="zen_mode_behavior_alarms"
-            android:title="@string/zen_mode_alarms"/>
-
         <!-- All sounds -->
         <Preference
             android:key="zen_sound_vibration_settings"
diff --git a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
index 31e5613..408db09 100644
--- a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
+++ b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
@@ -22,6 +22,7 @@
 import android.content.res.Resources;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.FeatureFlagUtils;
 
 import androidx.preference.Preference;
 
@@ -63,7 +64,7 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (KEY_EMERGENCY_INFO.equals(preference.getKey())) {
-            Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO);
+            Intent intent = new Intent(getIntentAction(mContext));
             intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
             mContext.startActivity(intent);
             return true;
@@ -73,7 +74,7 @@
 
     @Override
     public boolean isAvailable() {
-        Intent intent = new Intent(ACTION_EDIT_EMERGENCY_INFO).setPackage(PACKAGE_NAME_EMERGENCY);
+        Intent intent = new Intent(getIntentAction(mContext)).setPackage(getPackageName(mContext));
         List<ResolveInfo> infos = mContext.getPackageManager().queryIntentActivities(intent, 0);
         return infos != null && !infos.isEmpty();
     }
@@ -82,4 +83,20 @@
     public String getPreferenceKey() {
         return KEY_EMERGENCY_INFO;
     }
+
+    private String getIntentAction(Context context) {
+        if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SAFETY_HUB)) {
+            return context.getResources().getString(R.string.config_emergency_intent_action);
+        }
+
+        return ACTION_EDIT_EMERGENCY_INFO;
+    }
+
+    private String getPackageName(Context context) {
+        if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SAFETY_HUB)) {
+            return context.getResources().getString(R.string.config_emergency_package_name);
+        }
+
+        return PACKAGE_NAME_EMERGENCY;
+    }
 }
diff --git a/src/com/android/settings/applications/LayoutPreference.java b/src/com/android/settings/applications/LayoutPreference.java
index 9c3cfaf..68413e7 100644
--- a/src/com/android/settings/applications/LayoutPreference.java
+++ b/src/com/android/settings/applications/LayoutPreference.java
@@ -82,10 +82,6 @@
 
     private void setView(View view) {
         setLayoutResource(R.layout.layout_preference_frame);
-        final ViewGroup allDetails = view.findViewById(R.id.all_details);
-        if (allDetails != null) {
-            Utils.forceCustomPadding(allDetails, true /* additive padding */);
-        }
         mRootView = view;
         setShouldDisableView(false);
     }
diff --git a/src/com/android/settings/network/ApnPreference.java b/src/com/android/settings/network/ApnPreference.java
index a7fbb6e..f039539 100755
--- a/src/com/android/settings/network/ApnPreference.java
+++ b/src/com/android/settings/network/ApnPreference.java
@@ -27,6 +27,7 @@
 import android.view.View;
 import android.widget.CompoundButton;
 import android.widget.RadioButton;
+import android.widget.Toast;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
@@ -54,6 +55,7 @@
     private static CompoundButton mCurrentChecked = null;
     private boolean mProtectFromCheckedChange = false;
     private boolean mSelectable = true;
+    private boolean mHideDetails = false;
 
     @Override
     public void onBindViewHolder(PreferenceViewHolder view) {
@@ -113,6 +115,11 @@
         super.onClick();
         Context context = getContext();
         if (context != null) {
+            if (mHideDetails) {
+                Toast.makeText(context, context.getString(
+                        R.string.cannot_change_apn_toast), Toast.LENGTH_LONG).show();
+                return;
+            }
             int pos = Integer.parseInt(getKey());
             Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos);
             Intent editIntent = new Intent(Intent.ACTION_EDIT, url);
@@ -132,4 +139,8 @@
     public void setSubId(int subId) {
         mSubId = subId;
     }
+
+    public void setHideDetails() {
+        mHideDetails = true;
+    }
 }
diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java
index a71dfaa..3b1e14c 100755
--- a/src/com/android/settings/network/ApnSettings.java
+++ b/src/com/android/settings/network/ApnSettings.java
@@ -78,12 +78,23 @@
     public static final String MVNO_TYPE = "mvno_type";
     public static final String MVNO_MATCH_DATA = "mvno_match_data";
 
+    private static final String[] CARRIERS_PROJECTION = new String[] {
+            Telephony.Carriers._ID,
+            Telephony.Carriers.NAME,
+            Telephony.Carriers.APN,
+            Telephony.Carriers.TYPE,
+            Telephony.Carriers.MVNO_TYPE,
+            Telephony.Carriers.MVNO_MATCH_DATA,
+            Telephony.Carriers.EDITED,
+    };
+
     private static final int ID_INDEX = 0;
     private static final int NAME_INDEX = 1;
     private static final int APN_INDEX = 2;
     private static final int TYPES_INDEX = 3;
     private static final int MVNO_TYPE_INDEX = 4;
     private static final int MVNO_MATCH_DATA_INDEX = 5;
+    private static final int EDITED_INDEX = 6;
 
     private static final int MENU_NEW = Menu.FIRST;
     private static final int MENU_RESTORE = Menu.FIRST + 1;
@@ -116,6 +127,7 @@
 
     private boolean mHideImsApn;
     private boolean mAllowAddingApns;
+    private boolean mHidePresetApnDetails;
 
     public ApnSettings() {
         super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
@@ -196,6 +208,7 @@
                 mAllowAddingApns = false;
             }
         }
+        mHidePresetApnDetails = b.getBoolean(CarrierConfigManager.KEY_HIDE_PRESET_APN_DETAILS_BOOL);
         mUserManager = UserManager.get(activity);
     }
 
@@ -277,9 +290,8 @@
             where.append(" AND NOT (type='ims')");
         }
 
-        Cursor cursor = getContentResolver().query(Telephony.Carriers.CONTENT_URI, new String[] {
-                "_id", "name", "apn", "type", "mvno_type", "mvno_match_data"}, where.toString(),
-                null, Telephony.Carriers.DEFAULT_SORT_ORDER);
+        Cursor cursor = getContentResolver().query(Telephony.Carriers.CONTENT_URI,
+                CARRIERS_PROJECTION, where.toString(), null, Telephony.Carriers.DEFAULT_SORT_ORDER);
 
         if (cursor != null) {
             IccRecords r = null;
@@ -304,14 +316,19 @@
                 String type = cursor.getString(TYPES_INDEX);
                 String mvnoType = cursor.getString(MVNO_TYPE_INDEX);
                 String mvnoMatchData = cursor.getString(MVNO_MATCH_DATA_INDEX);
+                int edited = cursor.getInt(EDITED_INDEX);
 
                 ApnPreference pref = new ApnPreference(getPrefContext());
 
                 pref.setKey(key);
                 pref.setTitle(name);
-                pref.setSummary(apn);
                 pref.setPersistent(false);
                 pref.setSubId(subId);
+                if (mHidePresetApnDetails && edited == Telephony.Carriers.UNEDITED) {
+                    pref.setHideDetails();
+                } else {
+                    pref.setSummary(apn);
+                }
 
                 boolean selectable = ((type == null) || !type.equals("mms"));
                 pref.setSelectable(selectable);
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 3a270d2..293c429 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -86,8 +86,6 @@
                 "zen_mode_behavior_calls"));
         controllers.add(new ZenModeMessagesPreferenceController(context, lifecycle,
                 "zen_mode_behavior_messages"));
-        controllers.add(new ZenModeAlarmsPreferenceController(context, lifecycle,
-                "zen_mode_behavior_alarms"));
         controllers.add(new ZenModeBlockedEffectsPreferenceController(context, lifecycle));
         controllers.add(new ZenModeDurationPreferenceController(context, lifecycle));
         controllers.add(new ZenModeAutomationPreferenceController(context));
diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
index dd4c8fa..91e85b3 100644
--- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java
+++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
@@ -22,7 +22,10 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.LockScreenNotificationPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -31,6 +34,11 @@
 @SearchIndexable
 public class PrivacyDashboardFragment extends DashboardFragment {
     private static final String TAG = "PrivacyDashboardFragment";
+    private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
+    private static final String KEY_WORK_PROFILE_CATEGORY =
+            "privacy_work_profile_notifications_category";
+    private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
+            "privacy_lock_screen_work_profile_notifications";
 
     @Override
     public int getMetricsCategory() {
@@ -52,6 +60,28 @@
         return R.string.help_url_privacy_dashboard;
     }
 
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(
+            Context context, Lifecycle lifecycle) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        final LockScreenNotificationPreferenceController notificationController =
+                new LockScreenNotificationPreferenceController(context,
+                        KEY_LOCK_SCREEN_NOTIFICATIONS,
+                        KEY_WORK_PROFILE_CATEGORY,
+                        KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
+        if (lifecycle != null) {
+            lifecycle.addObserver(notificationController);
+        }
+        controllers.add(notificationController);
+
+        return controllers;
+
+    }
+
     public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
@@ -64,5 +94,11 @@
                     result.add(sir);
                     return result;
                 }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null);
+                }
             };
 }
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index 853313f..267838c 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -321,7 +321,7 @@
         }
         actionBar.setBackgroundDrawable(
                 new ColorDrawable(
-                        Utils.getColorAttrDefaultColor(activity, android.R.attr.colorPrimary)));
+                        Utils.getColorAttrDefaultColor(activity, android.R.attr.colorPrimaryDark)));
         actionBar.setElevation(0);
         if (mRecyclerView != null && mLifecycle != null) {
             ActionBarShadowController.attachToRecyclerView(mActivity, mLifecycle, mRecyclerView);