diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 6c8cc28..9d53534 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -1195,13 +1195,16 @@
   public static final class DevicePolicyResources.Strings {
   }
 
-  public static final class DevicePolicyResources.Strings.PermissionController {
-    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionController.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
-    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionController.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
-    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionController.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
-    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "PermissionController.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
-    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionController.LOCATION_AUTO_GRANTED_MESSAGE";
-    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "PermissionController.WORK_PROFILE_DEFAULT_APPS_TITLE";
+  public static final class DevicePolicyResources.Strings.DefaultAppSettings {
+    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "DefaultAppSettings.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
+    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE";
+  }
+
+  public static final class DevicePolicyResources.Strings.PermissionSettings {
+    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
+    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
+    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
+    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionSettings.LOCATION_AUTO_GRANTED_MESSAGE";
   }
 
   public class DevicePolicyResourcesManager {
diff --git a/core/java/android/app/admin/DevicePolicyResources.java b/core/java/android/app/admin/DevicePolicyResources.java
index 2b3780e..ea30ef7 100644
--- a/core/java/android/app/admin/DevicePolicyResources.java
+++ b/core/java/android/app/admin/DevicePolicyResources.java
@@ -1741,26 +1741,14 @@
 
         /**
          * Class containing the identifiers used to update device management-related system strings
-         * in the Permissions module.
+         * for the permission settings.
          */
-        public static final class PermissionController {
-            
-            private PermissionController() {
+        public static final class PermissionSettings {
+
+            private PermissionSettings() {
             }
 
-            private static final String PREFIX = "PermissionController.";
-
-            /**
-             * Title for settings page to show default apps for work.
-             */
-            public static final String WORK_PROFILE_DEFAULT_APPS_TITLE =
-                    PREFIX + "WORK_PROFILE_DEFAULT_APPS_TITLE";
-
-            /**
-             * Summary indicating that a home role holder app is missing work profile support.
-             */
-            public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE =
-                    PREFIX + "HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
+            private static final String PREFIX = "PermissionSettings.";
 
             /**
              * Summary of a permission switch in Settings when the background access is denied by an
@@ -1790,5 +1778,29 @@
             public static final String LOCATION_AUTO_GRANTED_MESSAGE =
                     PREFIX + "LOCATION_AUTO_GRANTED_MESSAGE";
         }
+
+        /**
+         * Class containing the identifiers used to update device management-related system strings
+         * for the default app settings.
+         */
+        public static final class DefaultAppSettings {
+
+            private DefaultAppSettings() {
+            }
+
+            private static final String PREFIX = "DefaultAppSettings.";
+
+            /**
+             * Title for settings page to show default apps for work.
+             */
+            public static final String WORK_PROFILE_DEFAULT_APPS_TITLE =
+                    PREFIX + "WORK_PROFILE_DEFAULT_APPS_TITLE";
+
+            /**
+             * Summary indicating that a home role holder app is missing work profile support.
+             */
+            public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE =
+                    PREFIX + "HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
+        }
     }
 }
