1 /*
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.app.admin;
18 
19 import android.annotation.SystemApi;
20 import android.os.UserHandle;
21 
22 /**
23  * Class containing the required identifiers to update device management resources.
24  *
25  * <p>See {@link DevicePolicyResourcesManager#getDrawable} and
26  * {@link DevicePolicyResourcesManager#getString}.
27  */
28 public final class DevicePolicyResources {
29 
DevicePolicyResources()30     private DevicePolicyResources() {}
31 
32     /**
33      * An identifier used for:
34      * <ul>
35      *     <li>un-updatable resource IDs</li>
36      *     <li>undefined sources</li>
37      * </ul>
38      */
39     public static final String UNDEFINED = "UNDEFINED";
40 
41     /**
42      * Class containing the identifiers used to update device management-related system drawable.
43      *
44      * @hide
45      */
46     public static final class Drawables {
47 
Drawables()48         private Drawables() {
49         }
50 
51         /**
52          * Specifically used to badge work profile app icons.
53          */
54         public static final String WORK_PROFILE_ICON_BADGE = "WORK_PROFILE_ICON_BADGE";
55 
56         /**
57          * General purpose work profile icon (i.e. generic icon badging). For badging app icons
58          * specifically, see {@link #WORK_PROFILE_ICON_BADGE}.
59          */
60         public static final String WORK_PROFILE_ICON = "WORK_PROFILE_ICON";
61 
62         /**
63          * General purpose icon representing the work profile off state.
64          */
65         public static final String WORK_PROFILE_OFF_ICON = "WORK_PROFILE_OFF_ICON";
66 
67         /**
68          * General purpose icon for the work profile user avatar.
69          */
70         public static final String WORK_PROFILE_USER_ICON = "WORK_PROFILE_USER_ICON";
71 
72         /**
73          * Class containing the source identifiers used to update device management-related system
74          * drawable.
75          */
76         public static final class Source {
77 
Source()78             private Source() {
79             }
80 
81             /**
82              * A source identifier indicating that the updatable drawable is used in notifications.
83              */
84             public static final String NOTIFICATION = "NOTIFICATION";
85 
86             /**
87              * A source identifier indicating that the updatable drawable is used in a cross
88              * profile switching animation.
89              */
90             public static final String PROFILE_SWITCH_ANIMATION = "PROFILE_SWITCH_ANIMATION";
91 
92             /**
93              * A source identifier indicating that the updatable drawable is used in a work
94              * profile home screen widget.
95              */
96             public static final String HOME_WIDGET = "HOME_WIDGET";
97 
98             /**
99              * A source identifier indicating that the updatable drawable is used in the launcher
100              * turn off work button.
101              */
102             public static final String LAUNCHER_OFF_BUTTON = "LAUNCHER_OFF_BUTTON";
103 
104             /**
105              * A source identifier indicating that the updatable drawable is used in quick settings.
106              */
107             public static final String QUICK_SETTINGS = "QUICK_SETTINGS";
108 
109             /**
110              * A source identifier indicating that the updatable drawable is used in the status bar.
111              */
112             public static final String STATUS_BAR = "STATUS_BAR";
113         }
114 
115         /**
116          * Class containing the style identifiers used to update device management-related system
117          * drawable.
118          */
119         public static final class Style {
120 
Style()121             private Style() {
122             }
123 
124             /**
125              * A style identifier indicating that the updatable drawable has a solid color fill.
126              */
127             public static final String SOLID_COLORED = "SOLID_COLORED";
128 
129             /**
130              * A style identifier indicating that the updatable drawable has a solid non-colored
131              * fill.
132              */
133             public static final String SOLID_NOT_COLORED = "SOLID_NOT_COLORED";
134 
135             /**
136              * A style identifier indicating that the updatable drawable is an outline.
137              */
138             public static final String OUTLINE = "OUTLINE";
139         }
140     }
141 
142     /**
143      * Class containing the identifiers used to update device management-related system strings.
144      *
145      * @hide
146      */
147     @SystemApi
148     public static final class Strings {
149 
Strings()150         private Strings() {
151         }
152 
153         /**
154          * Class containing the identifiers used to update device management-related system strings
155          * in the Settings package
156          *
157          * @hide
158          */
159         public static final class Settings {
160 
Settings()161             private Settings() {
162             }
163 
164             private static final String PREFIX = "Settings.";
165 
166             /**
167              * Title shown for menu item that launches face settings or enrollment, for work profile
168              */
169             public static final String FACE_SETTINGS_FOR_WORK_TITLE =
170                     PREFIX + "FACE_SETTINGS_FOR_WORK_TITLE";
171 
172             /**
173              * Warning when removing the last fingerprint on a work profile
174              */
175             public static final String WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE =
176                     PREFIX + "WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE";
177 
178             /**
179              * Text letting the user know that their IT admin can't reset their screen lock if they
180              * forget it, and they can choose to set another lock that would be specifically for
181              * their work apps
182              */
183             public static final String WORK_PROFILE_IT_ADMIN_CANT_RESET_SCREEN_LOCK =
184                     PREFIX + "WORK_PROFILE_IT_ADMIN_CANT_RESET_SCREEN_LOCK";
185 
186             /**
187              * Text shown on the CTA link shown to user to set a separate lock for work apps
188              */
189             public static final String WORK_PROFILE_IT_ADMIN_CANT_RESET_SCREEN_LOCK_ACTION =
190                     PREFIX + "WORK_PROFILE_IT_ADMIN_CANT_RESET_SCREEN_LOCK_ACTION";
191 
192             /**
193              * Message shown in screen lock picker for setting up a work profile screen lock
194              */
195             public static final String WORK_PROFILE_SCREEN_LOCK_SETUP_MESSAGE =
196                     PREFIX + "WORK_PROFILE_SCREEN_LOCK_SETUP_MESSAGE";
197 
198             /**
199              * Title for PreferenceScreen to launch picker for security method for the managed
200              * profile when there is none
201              */
202             public static final String WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE =
203                     PREFIX + "WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE";
204 
205             /**
206              * Content of the dialog shown when the user only has one attempt left to provide the
207              * work lock pattern before the work profile is removed
208              */
209             public static final String WORK_PROFILE_LAST_PATTERN_ATTEMPT_BEFORE_WIPE =
210                     PREFIX + "WORK_PROFILE_LAST_PATTERN_ATTEMPT_BEFORE_WIPE";
211 
212             /**
213              * Content of the dialog shown when the user only has one attempt left to provide the
214              * work lock pattern before the work profile is removed
215              */
216             public static final String WORK_PROFILE_LAST_PIN_ATTEMPT_BEFORE_WIPE =
217                     PREFIX + "WORK_PROFILE_LAST_PIN_ATTEMPT_BEFORE_WIPE";
218 
219             /**
220              * Content of the dialog shown when the user only has one attempt left to provide the
221              * work lock pattern before the work profile is removed
222              */
223             public static final String WORK_PROFILE_LAST_PASSWORD_ATTEMPT_BEFORE_WIPE =
224                     PREFIX + "WORK_PROFILE_LAST_PASSWORD_ATTEMPT_BEFORE_WIPE";
225 
226             /**
227              * Content of the dialog shown when the user has failed to provide the device lock too
228              * many times and the device is wiped
229              */
230             public static final String WORK_PROFILE_LOCK_ATTEMPTS_FAILED =
231                     PREFIX + "WORK_PROFILE_LOCK_ATTEMPTS_FAILED";
232 
233             /**
234              * Content description for work profile accounts group
235              */
236             public static final String ACCESSIBILITY_CATEGORY_WORK =
237                     PREFIX + "ACCESSIBILITY_CATEGORY_WORK";
238 
239             /**
240              * Content description for personal profile accounts group
241              */
242             public static final String ACCESSIBILITY_CATEGORY_PERSONAL =
243                     PREFIX + "ACCESSIBILITY_CATEGORY_PERSONAL";
244 
245             /**
246              * Content description for clone profile accounts group
247              */
248             public static final String ACCESSIBILITY_CATEGORY_CLONE =
249                     PREFIX + "ACCESSIBILITY_CATEGORY_CLONE";
250 
251             /**
252              * Content description for work profile details page title
253              */
254             public static final String ACCESSIBILITY_WORK_ACCOUNT_TITLE =
255                     PREFIX + "ACCESSIBILITY_WORK_ACCOUNT_TITLE";
256 
257             /**
258              * Content description for personal profile details page title
259              */
260             public static final String ACCESSIBILITY_PERSONAL_ACCOUNT_TITLE =
261                     PREFIX + "ACCESSIBILITY_PERSONAL_ACCOUNT_TITLE";
262 
263             /**
264              * Title for work profile location switch
265              */
266             public static final String WORK_PROFILE_LOCATION_SWITCH_TITLE =
267                     PREFIX + "WORK_PROFILE_LOCATION_SWITCH_TITLE";
268 
269             /**
270              * Header when setting work profile password
271              */
272             public static final String SET_WORK_PROFILE_PASSWORD_HEADER =
273                     PREFIX + "SET_WORK_PROFILE_PASSWORD_HEADER";
274 
275             /**
276              * Header when setting work profile PIN
277              */
278             public static final String SET_WORK_PROFILE_PIN_HEADER =
279                     PREFIX + "SET_WORK_PROFILE_PIN_HEADER";
280 
281             /**
282              * Header when setting work profile pattern
283              */
284             public static final String SET_WORK_PROFILE_PATTERN_HEADER =
285                     PREFIX + "SET_WORK_PROFILE_PATTERN_HEADER";
286 
287             /**
288              * Header when confirming work profile password
289              */
290             public static final String CONFIRM_WORK_PROFILE_PASSWORD_HEADER =
291                     PREFIX + "CONFIRM_WORK_PROFILE_PASSWORD_HEADER";
292 
293             /**
294              * Header when confirming work profile pin
295              */
296             public static final String CONFIRM_WORK_PROFILE_PIN_HEADER =
297                     PREFIX + "CONFIRM_WORK_PROFILE_PIN_HEADER";
298 
299             /**
300              * Header when confirming work profile pattern
301              */
302             public static final String CONFIRM_WORK_PROFILE_PATTERN_HEADER =
303                     PREFIX + "CONFIRM_WORK_PROFILE_PATTERN_HEADER";
304 
305             /**
306              * Header when re-entering work profile password
307              */
308             public static final String REENTER_WORK_PROFILE_PASSWORD_HEADER =
309                     PREFIX + "REENTER_WORK_PROFILE_PASSWORD_HEADER";
310 
311             /**
312              * Header when re-entering work profile pin
313              */
314             public static final String REENTER_WORK_PROFILE_PIN_HEADER =
315                     PREFIX + "REENTER_WORK_PROFILE_PIN_HEADER";
316 
317             /**
318              * Message to be used to explain the users that they need to enter their work pattern to
319              * continue a particular operation
320              */
321             public static final String WORK_PROFILE_CONFIRM_PATTERN =
322                     PREFIX + "WORK_PROFILE_CONFIRM_PATTERN";
323 
324             /**
325              * Message to be used to explain the users that they need to enter their work pin to
326              * continue a particular operation
327              */
328             public static final String WORK_PROFILE_CONFIRM_PIN =
329                     PREFIX + "WORK_PROFILE_CONFIRM_PIN";
330 
331             /**
332              * Message to be used to explain the users that they need to enter their work password
333              * to
334              * continue a particular operation
335              */
336             public static final String WORK_PROFILE_CONFIRM_PASSWORD =
337                     PREFIX + "WORK_PROFILE_CONFIRM_PASSWORD";
338 
339             /**
340              * This string shows = PREFIX + "shows"; up on a screen where a user can enter a pattern
341              * that lets them access
342              * their work profile. This is an extra security measure that's required for them to
343              * continue
344              */
345             public static final String WORK_PROFILE_PATTERN_REQUIRED =
346                     PREFIX + "WORK_PROFILE_PATTERN_REQUIRED";
347 
348             /**
349              * This string shows = PREFIX + "shows"; up on a screen where a user can enter a pin
350              * that lets them access
351              * their work profile. This is an extra security measure that's required for them to
352              * continue
353              */
354             public static final String WORK_PROFILE_PIN_REQUIRED =
355                     PREFIX + "WORK_PROFILE_PIN_REQUIRED";
356 
357             /**
358              * This string shows = PREFIX + "shows"; up on a screen where a user can enter a
359              * password that lets them access
360              * their work profile. This is an extra security measure that's required for them to
361              * continue
362              */
363             public static final String WORK_PROFILE_PASSWORD_REQUIRED =
364                     PREFIX + "WORK_PROFILE_PASSWORD_REQUIRED";
365 
366             /**
367              * Header for Work Profile security settings
368              */
369             public static final String WORK_PROFILE_SECURITY_TITLE =
370                     PREFIX + "WORK_PROFILE_SECURITY_TITLE";
371 
372             /**
373              * Header for Work Profile unify locks settings
374              */
375             public static final String WORK_PROFILE_UNIFY_LOCKS_TITLE =
376                     PREFIX + "WORK_PROFILE_UNIFY_LOCKS_TITLE";
377 
378             /**
379              * Setting option explanation to unify work and personal locks
380              */
381             public static final String WORK_PROFILE_UNIFY_LOCKS_SUMMARY =
382                     PREFIX + "WORK_PROFILE_UNIFY_LOCKS_SUMMARY";
383 
384             /**
385              * Further explanation when the user wants to unify work and personal locks
386              */
387             public static final String WORK_PROFILE_UNIFY_LOCKS_DETAIL =
388                     PREFIX + "WORK_PROFILE_UNIFY_LOCKS_DETAIL";
389 
390             /**
391              * Ask if the user wants to create a new lock for personal and work as the current work
392              * lock is not enough for the device
393              */
394             public static final String WORK_PROFILE_UNIFY_LOCKS_NONCOMPLIANT =
395                     PREFIX + "WORK_PROFILE_UNIFY_LOCKS_NONCOMPLIANT";
396 
397             /**
398              * Title of 'Work profile keyboards & tools' preference category
399              */
400             public static final String WORK_PROFILE_KEYBOARDS_AND_TOOLS =
401                     PREFIX + "WORK_PROFILE_KEYBOARDS_AND_TOOLS";
402 
403             /**
404              * Label for state when work profile is not available
405              */
406             public static final String WORK_PROFILE_NOT_AVAILABLE =
407                     PREFIX + "WORK_PROFILE_NOT_AVAILABLE";
408 
409             /**
410              * Label for work profile setting (to allow turning work profile on and off)
411              */
412             public static final String WORK_PROFILE_SETTING = PREFIX + "WORK_PROFILE_SETTING";
413 
414             /**
415              * Description of the work profile setting when the work profile is on
416              */
417             public static final String WORK_PROFILE_SETTING_ON_SUMMARY =
418                     PREFIX + "WORK_PROFILE_SETTING_ON_SUMMARY";
419 
420             /**
421              * Description of the work profile setting when the work profile is off
422              */
423             public static final String WORK_PROFILE_SETTING_OFF_SUMMARY =
424                     PREFIX + "WORK_PROFILE_SETTING_OFF_SUMMARY";
425 
426             /**
427              * Button text to remove work profile
428              */
429             public static final String REMOVE_WORK_PROFILE = PREFIX + "REMOVE_WORK_PROFILE";
430 
431             /**
432              * Text of message to show to device owner user whose administrator has installed a SSL
433              * CA Cert
434              */
435             public static final String DEVICE_OWNER_INSTALLED_CERTIFICATE_AUTHORITY_WARNING =
436                     PREFIX + "DEVICE_OWNER_INSTALLED_CERTIFICATE_AUTHORITY_WARNING";
437 
438             /**
439              * Text of message to show to work profile users whose administrator has installed a SSL
440              * CA Cert
441              */
442             public static final String WORK_PROFILE_INSTALLED_CERTIFICATE_AUTHORITY_WARNING =
443                     PREFIX + "WORK_PROFILE_INSTALLED_CERTIFICATE_AUTHORITY_WARNING";
444 
445             /**
446              * Work profile removal confirmation title
447              */
448             public static final String WORK_PROFILE_CONFIRM_REMOVE_TITLE =
449                     PREFIX + "WORK_PROFILE_CONFIRM_REMOVE_TITLE";
450 
451             /**
452              * Work profile removal confirmation message
453              */
454             public static final String WORK_PROFILE_CONFIRM_REMOVE_MESSAGE =
455                     PREFIX + "WORK_PROFILE_CONFIRM_REMOVE_MESSAGE";
456 
457             /**
458              * Toast shown when an app in the work profile attempts to open notification settings
459              * and apps in the work profile cannot access notification settings
460              */
461             public static final String WORK_APPS_CANNOT_ACCESS_NOTIFICATION_SETTINGS =
462                     PREFIX + "WORK_APPS_CANNOT_ACCESS_NOTIFICATION_SETTINGS";
463 
464             /**
465              * Work sound settings section header
466              */
467             public static final String WORK_PROFILE_SOUND_SETTINGS_SECTION_HEADER =
468                     PREFIX + "WORK_PROFILE_SOUND_SETTINGS_SECTION_HEADER";
469 
470             /**
471              * Title for the switch that enables syncing of personal ringtones to work profile
472              */
473             public static final String WORK_PROFILE_USE_PERSONAL_SOUNDS_TITLE =
474                     PREFIX + "WORK_PROFILE_USE_PERSONAL_SOUNDS_TITLE";
475 
476             /**
477              * Summary for the switch that enables syncing of personal ringtones to work profile
478              */
479             public static final String WORK_PROFILE_USE_PERSONAL_SOUNDS_SUMMARY =
480                     PREFIX + "WORK_PROFILE_USE_PERSONAL_SOUNDS_SUMMARY";
481 
482             /**
483              * Title for the option defining the work profile phone ringtone
484              */
485             public static final String WORK_PROFILE_RINGTONE_TITLE =
486                     PREFIX + "WORK_PROFILE_RINGTONE_TITLE";
487 
488             /**
489              * Title for the option defining the default work profile notification ringtone
490              */
491             public static final String WORK_PROFILE_NOTIFICATION_RINGTONE_TITLE =
492                     PREFIX + "WORK_PROFILE_NOTIFICATION_RINGTONE_TITLE";
493 
494             /**
495              * Title for the option defining the default work alarm ringtone
496              */
497             public static final String WORK_PROFILE_ALARM_RINGTONE_TITLE =
498                     PREFIX + "WORK_PROFILE_ALARM_RINGTONE_TITLE";
499 
500             /**
501              * Summary for sounds when sync with personal sounds is active
502              */
503             public static final String WORK_PROFILE_SYNC_WITH_PERSONAL_SOUNDS_ACTIVE_SUMMARY =
504                     PREFIX + "WORK_PROFILE_SYNC_WITH_PERSONAL_SOUNDS_ACTIVE_SUMMARY";
505 
506             /**
507              * Title for dialog shown when enabling sync with personal sounds
508              */
509             public static final String
510                     ENABLE_WORK_PROFILE_SYNC_WITH_PERSONAL_SOUNDS_DIALOG_TITLE =
511                     PREFIX + "ENABLE_WORK_PROFILE_SYNC_WITH_PERSONAL_SOUNDS_DIALOG_TITLE";
512 
513             /**
514              * Message for dialog shown when using the same sounds for work events as for personal
515              * events
516              */
517             public static final String
518                     ENABLE_WORK_PROFILE_SYNC_WITH_PERSONAL_SOUNDS_DIALOG_MESSAGE =
519                     PREFIX + "ENABLE_WORK_PROFILE_SYNC_WITH_PERSONAL_SOUNDS_DIALOG_MESSAGE";
520 
521             /**
522              * Work profile notifications section header
523              */
524             public static final String WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER =
525                     PREFIX + "WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER";
526 
527             /**
528              * Title for the option controlling notifications for work profile
529              */
530             public static final String WORK_PROFILE_LOCKED_NOTIFICATION_TITLE =
531                     PREFIX + "WORK_PROFILE_LOCKED_NOTIFICATION_TITLE";
532 
533             /**
534              * Title for redacting sensitive content on lockscreen for work profiles
535              */
536             public static final String WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_TITLE =
537                     PREFIX + "WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_TITLE";
538 
539             /**
540              * Summary for redacting sensitive content on lockscreen for work profiles
541              */
542             public static final String WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_SUMMARY =
543                     PREFIX + "WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_SUMMARY";
544 
545             /**
546              * Indicates that the work profile admin doesn't allow this notification listener to
547              * access
548              * work profile notifications
549              */
550             public static final String WORK_PROFILE_NOTIFICATION_LISTENER_BLOCKED =
551                     PREFIX + "WORK_PROFILE_NOTIFICATION_LISTENER_BLOCKED";
552 
553             /**
554              * This setting shows a user's connected work and personal apps.
555              */
556             public static final String CONNECTED_WORK_AND_PERSONAL_APPS_TITLE =
557                     PREFIX + "CONNECTED_WORK_AND_PERSONAL_APPS_TITLE";
558 
559             /**
560              * This text lets a user know that if they connect work and personal apps,
561              * they will share permissions and can access each other's data
562              */
563             public static final String CONNECTED_APPS_SHARE_PERMISSIONS_AND_DATA =
564                     PREFIX + "CONNECTED_APPS_SHARE_PERMISSIONS_AND_DATA";
565 
566             /**
567              * This text lets a user know that they should only connect work and personal apps if
568              * they
569              * trust the work app with their personal data
570              */
571             public static final String ONLY_CONNECT_TRUSTED_APPS =
572                     PREFIX + "ONLY_CONNECT_TRUSTED_APPS";
573 
574             /**
575              * This text lets a user know how to disconnect work and personal apps
576              */
577             public static final String HOW_TO_DISCONNECT_APPS = PREFIX + "HOW_TO_DISCONNECT_APPS";
578 
579             /**
580              * Title of confirmation dialog when connecting work and personal apps
581              */
582             public static final String CONNECT_APPS_DIALOG_TITLE =
583                     PREFIX + "CONNECT_APPS_DIALOG_TITLE";
584 
585             /**
586              * This dialog is shown when a user tries to connect a work app to a personal
587              * app
588              */
589             public static final String CONNECT_APPS_DIALOG_SUMMARY =
590                     PREFIX + "CONNECT_APPS_DIALOG_SUMMARY";
591 
592             /**
593              * This text lets the user know that their work app will be able to access data in their
594              * personal app
595              */
596             public static final String APP_CAN_ACCESS_PERSONAL_DATA =
597                     PREFIX + "APP_CAN_ACCESS_PERSONAL_DATA";
598 
599             /**
600              * This text lets the user know that their work app will be able to use permissions in
601              * their personal app
602              */
603             public static final String APP_CAN_ACCESS_PERSONAL_PERMISSIONS =
604                     PREFIX + "APP_CAN_ACCESS_PERSONAL_PERMISSIONS";
605 
606             /**
607              * lets a user know that they need to install an app in their work profile in order to
608              * connect it to the corresponding personal app
609              */
610             public static final String INSTALL_IN_WORK_PROFILE_TO_CONNECT_PROMPT =
611                     PREFIX + "INSTALL_IN_WORK_PROFILE_TO_CONNECT_PROMPT";
612 
613             /**
614              * lets a user know that they need to install an app in their personal profile in order
615              * to
616              * connect it to the corresponding work app
617              */
618             public static final String INSTALL_IN_PERSONAL_PROFILE_TO_CONNECT_PROMPT =
619                     PREFIX + "INSTALL_IN_PERSONAL_PROFILE_TO_CONNECT_PROMPT";
620 
621             /**
622              * Header for showing the organisation managing the work profile
623              */
624             public static final String WORK_PROFILE_MANAGED_BY = PREFIX + "WORK_PROFILE_MANAGED_BY";
625 
626             /**
627              * Summary showing the enterprise who manages the device or profile.
628              */
629             public static final String MANAGED_BY = PREFIX + "MANAGED_BY";
630 
631             /**
632              * Warning message about disabling usage access on profile owner
633              */
634             public static final String WORK_PROFILE_DISABLE_USAGE_ACCESS_WARNING =
635                     PREFIX + "WORK_PROFILE_DISABLE_USAGE_ACCESS_WARNING";
636 
637             /**
638              * Title for dialog displayed when user taps a setting on their phone that's blocked by
639              * their IT admin
640              */
641             public static final String DISABLED_BY_IT_ADMIN_TITLE =
642                     PREFIX + "DISABLED_BY_IT_ADMIN_TITLE";
643 
644             /**
645              * Shown when the user tries to change phone settings that are blocked by their IT admin
646              */
647             public static final String CONTACT_YOUR_IT_ADMIN = PREFIX + "CONTACT_YOUR_IT_ADMIN";
648 
649             /**
650              * warn user about policies the admin can set in a work profile
651              */
652             public static final String WORK_PROFILE_ADMIN_POLICIES_WARNING =
653                     PREFIX + "WORK_PROFILE_ADMIN_POLICIES_WARNING";
654 
655             /**
656              * warn user about policies the admin can set on a user
657              */
658             public static final String USER_ADMIN_POLICIES_WARNING =
659                     PREFIX + "USER_ADMIN_POLICIES_WARNING";
660 
661             /**
662              * warn user about policies the admin can set on a device
663              */
664             public static final String DEVICE_ADMIN_POLICIES_WARNING =
665                     PREFIX + "DEVICE_ADMIN_POLICIES_WARNING";
666 
667             /**
668              * Condition that work profile is off
669              */
670             public static final String WORK_PROFILE_OFF_CONDITION_TITLE =
671                     PREFIX + "WORK_PROFILE_OFF_CONDITION_TITLE";
672 
673             /**
674              * Title of work profile setting page
675              */
676             public static final String MANAGED_PROFILE_SETTINGS_TITLE =
677                     PREFIX + "MANAGED_PROFILE_SETTINGS_TITLE";
678 
679             /**
680              * Setting that lets a user's personal apps identify contacts using the user's work
681              * directory
682              */
683             public static final String WORK_PROFILE_CONTACT_SEARCH_TITLE =
684                     PREFIX + "WORK_PROFILE_CONTACT_SEARCH_TITLE";
685 
686             /**
687              * This setting lets a user's personal apps identify contacts using the user's work
688              * directory
689              */
690             public static final String WORK_PROFILE_CONTACT_SEARCH_SUMMARY =
691                     PREFIX + "WORK_PROFILE_CONTACT_SEARCH_SUMMARY";
692 
693             /**
694              * This setting lets the user show their work events on their personal calendar
695              */
696             public static final String CROSS_PROFILE_CALENDAR_TITLE =
697                     PREFIX + "CROSS_PROFILE_CALENDAR_TITLE";
698 
699             /**
700              * Setting description. If the user turns on this setting, they can see their work
701              * events on their personal calendar
702              */
703             public static final String CROSS_PROFILE_CALENDAR_SUMMARY =
704                     PREFIX + "CROSS_PROFILE_CALENDAR_SUMMARY";
705 
706             /**
707              * Label explaining that an always-on VPN was set by the admin in the personal profile
708              */
709             public static final String ALWAYS_ON_VPN_PERSONAL_PROFILE =
710                     PREFIX + "ALWAYS_ON_VPN_PERSONAL_PROFILE";
711 
712             /**
713              * Label explaining that an always-on VPN was set by the admin for the entire device
714              */
715             public static final String ALWAYS_ON_VPN_DEVICE = PREFIX + "ALWAYS_ON_VPN_DEVICE";
716 
717             /**
718              * Label explaining that an always-on VPN was set by the admin in the work profile
719              */
720             public static final String ALWAYS_ON_VPN_WORK_PROFILE =
721                     PREFIX + "ALWAYS_ON_VPN_WORK_PROFILE";
722 
723             /**
724              * Label explaining that the admin installed trusted CA certificates in personal profile
725              */
726             public static final String CA_CERTS_PERSONAL_PROFILE =
727                     PREFIX + "CA_CERTS_PERSONAL_PROFILE";
728 
729             /**
730              * Label explaining that the admin installed trusted CA certificates in work profile
731              */
732             public static final String CA_CERTS_WORK_PROFILE = PREFIX + "CA_CERTS_WORK_PROFILE";
733 
734             /**
735              * Label explaining that the admin installed trusted CA certificates for the entire
736              * device
737              */
738             public static final String CA_CERTS_DEVICE = PREFIX + "CA_CERTS_DEVICE";
739 
740             /**
741              * Label explaining that the admin can lock the device and change the user's password
742              */
743             public static final String ADMIN_CAN_LOCK_DEVICE = PREFIX + "ADMIN_CAN_LOCK_DEVICE";
744 
745             /**
746              * Label explaining that the admin can wipe the device remotely
747              */
748             public static final String ADMIN_CAN_WIPE_DEVICE = PREFIX + "ADMIN_CAN_WIPE_DEVICE";
749 
750             /**
751              * Label explaining that the admin configured the device to wipe itself when the
752              * password is mistyped too many times
753              */
754             public static final String ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_DEVICE =
755                     PREFIX + "ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_DEVICE";
756 
757             /**
758              * Label explaining that the admin configured the work profile to wipe itself when the
759              * password is mistyped too many times
760              */
761             public static final String ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_WORK_PROFILE =
762                     PREFIX + "ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_WORK_PROFILE";
763 
764             /**
765              * Message indicating that the device is enterprise-managed by a Device Owner
766              */
767             public static final String DEVICE_MANAGED_WITHOUT_NAME =
768                     PREFIX + "DEVICE_MANAGED_WITHOUT_NAME";
769 
770             /**
771              * Message indicating that the device is enterprise-managed by a Device Owner
772              */
773             public static final String DEVICE_MANAGED_WITH_NAME =
774                     PREFIX + "DEVICE_MANAGED_WITH_NAME";
775 
776             /**
777              * Subtext of work profile app for current setting
778              */
779             public static final String WORK_PROFILE_APP_SUBTEXT =
780                     PREFIX + "WORK_PROFILE_APP_SUBTEXT";
781 
782             /**
783              * Subtext of personal profile app for current setting
784              */
785             public static final String PERSONAL_PROFILE_APP_SUBTEXT =
786                     PREFIX + "PERSONAL_PROFILE_APP_SUBTEXT";
787 
788             /**
789              * Title shown for work menu item that launches fingerprint settings or enrollment
790              */
791             public static final String FINGERPRINT_FOR_WORK = PREFIX + "FINGERPRINT_FOR_WORK";
792 
793             /**
794              * Message shown in face enrollment dialog, when face unlock is disabled by device admin
795              */
796             public static final String FACE_UNLOCK_DISABLED = PREFIX + "FACE_UNLOCK_DISABLED";
797 
798             /**
799              * message shown in fingerprint enrollment dialog, when fingerprint unlock is disabled
800              * by device admin
801              */
802             public static final String FINGERPRINT_UNLOCK_DISABLED =
803                     PREFIX + "FINGERPRINT_UNLOCK_DISABLED";
804 
805             /**
806              * Text shown in fingerprint settings explaining what the fingerprint can be used for in
807              * the case unlocking is disabled
808              */
809             public static final String FINGERPRINT_UNLOCK_DISABLED_EXPLANATION =
810                     PREFIX + "FINGERPRINT_UNLOCK_DISABLED_EXPLANATION";
811 
812             /**
813              * Error shown when in PIN mode and PIN has been used recently
814              */
815             public static final String PIN_RECENTLY_USED = PREFIX + "PIN_RECENTLY_USED";
816 
817             /**
818              * Error shown when in PASSWORD mode and password has been used recently
819              */
820             public static final String PASSWORD_RECENTLY_USED = PREFIX + "PASSWORD_RECENTLY_USED";
821 
822             /**
823              * Title of preference to manage device admin apps
824              */
825             public static final String MANAGE_DEVICE_ADMIN_APPS =
826                     PREFIX + "MANAGE_DEVICE_ADMIN_APPS";
827 
828             /**
829              * Inform the user that currently no device admin apps are installed and active
830              */
831             public static final String NUMBER_OF_DEVICE_ADMINS_NONE =
832                     PREFIX + "NUMBER_OF_DEVICE_ADMINS_NONE";
833 
834             /**
835              * Inform the user how many device admin apps are installed and active
836              */
837             public static final String NUMBER_OF_DEVICE_ADMINS = PREFIX + "NUMBER_OF_DEVICE_ADMINS";
838 
839             /**
840              * Title that asks the user to contact the IT admin to reset password
841              */
842             public static final String FORGOT_PASSWORD_TITLE = PREFIX + "FORGOT_PASSWORD_TITLE";
843 
844             /**
845              * Content that asks the user to contact the IT admin to reset password
846              */
847             public static final String FORGOT_PASSWORD_TEXT = PREFIX + "FORGOT_PASSWORD_TEXT";
848 
849             /**
850              * Error message shown when trying to move device administrators to external disks, such
851              * as SD card
852              */
853             public static final String ERROR_MOVE_DEVICE_ADMIN = PREFIX + "ERROR_MOVE_DEVICE_ADMIN";
854 
855             /**
856              * Device admin app settings title
857              */
858             public static final String DEVICE_ADMIN_SETTINGS_TITLE =
859                     PREFIX + "DEVICE_ADMIN_SETTINGS_TITLE";
860 
861             /**
862              * Button to remove the active device admin app
863              */
864             public static final String REMOVE_DEVICE_ADMIN = PREFIX + "REMOVE_DEVICE_ADMIN";
865 
866             /**
867              * Button to uninstall the device admin app
868              */
869             public static final String UNINSTALL_DEVICE_ADMIN = PREFIX + "UNINSTALL_DEVICE_ADMIN";
870 
871             /**
872              * Button to deactivate and uninstall the device admin app
873              */
874             public static final String REMOVE_AND_UNINSTALL_DEVICE_ADMIN =
875                     PREFIX + "REMOVE_AND_UNINSTALL_DEVICE_ADMIN";
876 
877             /**
878              * Message when there are no available device admin apps to display
879              */
880             public static final String NO_DEVICE_ADMINS = PREFIX + "NO_DEVICE_ADMINS";
881 
882             /**
883              * Title for screen to add a device admin app
884              */
885             public static final String ACTIVATE_DEVICE_ADMIN_APP =
886                     PREFIX + "ACTIVATE_DEVICE_ADMIN_APP";
887 
888             /**
889              * Label for button to set the active device admin
890              */
891             public static final String ACTIVATE_THIS_DEVICE_ADMIN_APP =
892                     PREFIX + "ACTIVATE_THIS_DEVICE_ADMIN_APP";
893 
894             /**
895              * Activate a specific device admin app title
896              */
897             public static final String ACTIVATE_DEVICE_ADMIN_APP_TITLE =
898                     PREFIX + "ACTIVATE_DEVICE_ADMIN_APP_TITLE";
899 
900             /**
901              * Device admin warning message about policies a not active admin can use
902              */
903             public static final String NEW_DEVICE_ADMIN_WARNING =
904                     PREFIX + "NEW_DEVICE_ADMIN_WARNING";
905 
906             /**
907              * Simplified device admin warning message
908              */
909             public static final String NEW_DEVICE_ADMIN_WARNING_SIMPLIFIED =
910                     PREFIX + "NEW_DEVICE_ADMIN_WARNING_SIMPLIFIED";
911 
912             /**
913              * Device admin warning message about policies the active admin can use
914              */
915             public static final String ACTIVE_DEVICE_ADMIN_WARNING =
916                     PREFIX + "ACTIVE_DEVICE_ADMIN_WARNING";
917 
918             /**
919              * Simplified title for dialog to set a profile owner
920              */
921             public static final String SET_PROFILE_OWNER_DIALOG_TITLE =
922                     PREFIX + "SET_PROFILE_OWNER_DIALOG_TITLE";
923 
924             /**
925              * Warning when trying to add a profile owner admin after setup has completed
926              */
927             public static final String SET_PROFILE_OWNER_POSTSETUP_WARNING =
928                     PREFIX + "SET_PROFILE_OWNER_POSTSETUP_WARNING";
929 
930             /**
931              * Message displayed to let the user know that some of the options are disabled by admin
932              */
933             public static final String OTHER_OPTIONS_DISABLED_BY_ADMIN =
934                     PREFIX + "OTHER_OPTIONS_DISABLED_BY_ADMIN";
935 
936             /**
937              * This is shown if the authenticator for a given account fails to remove it due to
938              * admin restrictions
939              */
940             public static final String REMOVE_ACCOUNT_FAILED_ADMIN_RESTRICTION =
941                     PREFIX + "REMOVE_ACCOUNT_FAILED_ADMIN_RESTRICTION";
942 
943             /**
944              * Url for learning more about IT admin policy disabling
945              */
946             public static final String IT_ADMIN_POLICY_DISABLING_INFO_URL =
947                     PREFIX + "IT_ADMIN_POLICY_DISABLING_INFO_URL";
948 
949             /**
950              * Title of dialog shown to ask for user consent for sharing a bugreport that was
951              * requested
952              * remotely by the IT administrator
953              */
954             public static final String SHARE_REMOTE_BUGREPORT_DIALOG_TITLE =
955                     PREFIX + "SHARE_REMOTE_BUGREPORT_DIALOG_TITLE";
956 
957             /**
958              * Message of a dialog shown to ask for user consent for sharing a bugreport that was
959              * requested remotely by the IT administrator
960              */
961             public static final String SHARE_REMOTE_BUGREPORT_FINISHED_REQUEST_CONSENT =
962                     PREFIX + "SHARE_REMOTE_BUGREPORT_FINISHED_REQUEST_CONSENT";
963 
964             /**
965              * Message of a dialog shown to ask for user consent for sharing a bugreport that was
966              * requested remotely by the IT administrator and it's still being taken
967              */
968             public static final String SHARE_REMOTE_BUGREPORT_NOT_FINISHED_REQUEST_CONSENT =
969                     PREFIX + "SHARE_REMOTE_BUGREPORT_NOT_FINISHED_REQUEST_CONSENT";
970 
971             /**
972              * Message of a dialog shown to inform that the remote bugreport that was requested
973              * remotely by the IT administrator is still being taken and will be shared when
974              * finished
975              */
976             public static final String SHARING_REMOTE_BUGREPORT_MESSAGE =
977                     PREFIX + "SHARING_REMOTE_BUGREPORT_MESSAGE";
978 
979             /**
980              * Managed device information screen title
981              */
982             public static final String MANAGED_DEVICE_INFO = PREFIX + "MANAGED_DEVICE_INFO";
983 
984             /**
985              * Summary for managed device info section
986              */
987             public static final String MANAGED_DEVICE_INFO_SUMMARY =
988                     PREFIX + "MANAGED_DEVICE_INFO_SUMMARY";
989 
990             /**
991              * Summary for managed device info section including organization name
992              */
993             public static final String MANAGED_DEVICE_INFO_SUMMARY_WITH_NAME =
994                     PREFIX + "MANAGED_DEVICE_INFO_SUMMARY_WITH_NAME";
995 
996             /**
997              * Enterprise Privacy settings header, summarizing the powers that the admin has
998              */
999             public static final String ENTERPRISE_PRIVACY_HEADER =
1000                     PREFIX + "ENTERPRISE_PRIVACY_HEADER";
1001 
1002             /**
1003              * Types of information your organization can see section title
1004              */
1005             public static final String INFORMATION_YOUR_ORGANIZATION_CAN_SEE_TITLE =
1006                     PREFIX + "INFORMATION_YOUR_ORGANIZATION_CAN_SEE_TITLE";
1007 
1008             /**
1009              * Changes made by your organization's admin section title
1010              */
1011             public static final String CHANGES_MADE_BY_YOUR_ORGANIZATION_ADMIN_TITLE =
1012                     PREFIX + "CHANGES_MADE_BY_YOUR_ORGANIZATION_ADMIN_TITLE";
1013 
1014             /**
1015              * Your access to this device section title
1016              */
1017             public static final String YOUR_ACCESS_TO_THIS_DEVICE_TITLE =
1018                     PREFIX + "YOUR_ACCESS_TO_THIS_DEVICE_TITLE";
1019 
1020             /**
1021              * Things the admin can see: data associated with the work account
1022              */
1023             public static final String ADMIN_CAN_SEE_WORK_DATA_WARNING =
1024                     PREFIX + "ADMIN_CAN_SEE_WORK_DATA_WARNING";
1025 
1026             /**
1027              * Things the admin can see: Apps installed on the device
1028              */
1029             public static final String ADMIN_CAN_SEE_APPS_WARNING =
1030                     PREFIX + "ADMIN_CAN_SEE_APPS_WARNING";
1031 
1032             /**
1033              * Things the admin can see: Amount of time and data spent in each app
1034              */
1035             public static final String ADMIN_CAN_SEE_USAGE_WARNING =
1036                     PREFIX + "ADMIN_CAN_SEE_USAGE_WARNING";
1037 
1038             /**
1039              * Things the admin can see: Most recent network traffic log
1040              */
1041             public static final String ADMIN_CAN_SEE_NETWORK_LOGS_WARNING =
1042                     PREFIX + "ADMIN_CAN_SEE_NETWORK_LOGS_WARNING";
1043             /**
1044              * Things the admin can see: Most recent bug report
1045              */
1046             public static final String ADMIN_CAN_SEE_BUG_REPORT_WARNING =
1047                     PREFIX + "ADMIN_CAN_SEE_BUG_REPORT_WARNING";
1048 
1049             /**
1050              * Things the admin can see: Security logs
1051              */
1052             public static final String ADMIN_CAN_SEE_SECURITY_LOGS_WARNING =
1053                     PREFIX + "ADMIN_CAN_SEE_SECURITY_LOGS_WARNING";
1054 
1055             /**
1056              * Indicate that the admin never took a given action so far (e.g. did not retrieve
1057              * security logs or request bug reports).
1058              */
1059             public static final String ADMIN_ACTION_NONE = PREFIX + "ADMIN_ACTION_NONE";
1060 
1061             /**
1062              * Indicate that the admin installed one or more apps on the device
1063              */
1064             public static final String ADMIN_ACTION_APPS_INSTALLED =
1065                     PREFIX + "ADMIN_ACTION_APPS_INSTALLED";
1066 
1067             /**
1068              * Explaining that the number of apps is an estimation
1069              */
1070             public static final String ADMIN_ACTION_APPS_COUNT_ESTIMATED =
1071                     PREFIX + "ADMIN_ACTION_APPS_COUNT_ESTIMATED";
1072 
1073             /**
1074              * Indicating the minimum number of apps that a label refers to
1075              */
1076             public static final String ADMIN_ACTIONS_APPS_COUNT_MINIMUM =
1077                     PREFIX + "ADMIN_ACTIONS_APPS_COUNT_MINIMUM";
1078 
1079             /**
1080              * Indicate that the admin granted one or more apps access to the device's location
1081              */
1082             public static final String ADMIN_ACTION_ACCESS_LOCATION =
1083                     PREFIX + "ADMIN_ACTION_ACCESS_LOCATION";
1084 
1085             /**
1086              * Indicate that the admin granted one or more apps access to the microphone
1087              */
1088             public static final String ADMIN_ACTION_ACCESS_MICROPHONE =
1089                     PREFIX + "ADMIN_ACTION_ACCESS_MICROPHONE";
1090 
1091             /**
1092              * Indicate that the admin granted one or more apps access to the camera
1093              */
1094             public static final String ADMIN_ACTION_ACCESS_CAMERA =
1095                     PREFIX + "ADMIN_ACTION_ACCESS_CAMERA";
1096 
1097             /**
1098              * Indicate that the admin set one or more apps as defaults for common actions
1099              */
1100             public static final String ADMIN_ACTION_SET_DEFAULT_APPS =
1101                     PREFIX + "ADMIN_ACTION_SET_DEFAULT_APPS";
1102 
1103             /**
1104              * Indicate the number of apps that a label refers to
1105              */
1106             public static final String ADMIN_ACTIONS_APPS_COUNT =
1107                     PREFIX + "ADMIN_ACTIONS_APPS_COUNT";
1108 
1109             /**
1110              * Indicate that the current input method was set by the admin
1111              */
1112             public static final String ADMIN_ACTION_SET_CURRENT_INPUT_METHOD =
1113                     PREFIX + "ADMIN_ACTION_SET_CURRENT_INPUT_METHOD";
1114 
1115             /**
1116              * The input method set by the admin
1117              */
1118             public static final String ADMIN_ACTION_SET_INPUT_METHOD_NAME =
1119                     PREFIX + "ADMIN_ACTION_SET_INPUT_METHOD_NAME";
1120 
1121             /**
1122              * Indicate that a global HTTP proxy was set by the admin
1123              */
1124             public static final String ADMIN_ACTION_SET_HTTP_PROXY =
1125                     PREFIX + "ADMIN_ACTION_SET_HTTP_PROXY";
1126 
1127             /**
1128              * Summary for Enterprise Privacy settings, explaining what the user can expect to find
1129              * under it
1130              */
1131             public static final String WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY =
1132                     PREFIX + "WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY";
1133 
1134             /**
1135              * Setting on privacy settings screen that will show work policy info
1136              */
1137             public static final String WORK_PROFILE_PRIVACY_POLICY_INFO =
1138                     PREFIX + "WORK_PROFILE_PRIVACY_POLICY_INFO";
1139 
1140             /**
1141              * Search keywords for connected work and personal apps
1142              */
1143             public static final String CONNECTED_APPS_SEARCH_KEYWORDS =
1144                     PREFIX + "CONNECTED_APPS_SEARCH_KEYWORDS";
1145 
1146             /**
1147              * Work profile unification keywords
1148              */
1149             public static final String WORK_PROFILE_UNIFICATION_SEARCH_KEYWORDS =
1150                     PREFIX + "WORK_PROFILE_UNIFICATION_SEARCH_KEYWORDS";
1151 
1152             /**
1153              * Accounts keywords
1154              */
1155             public static final String ACCOUNTS_SEARCH_KEYWORDS =
1156                     PREFIX + "ACCOUNTS_SEARCH_KEYWORDS";
1157 
1158             /**
1159              * Summary for settings preference disabled by administrator
1160              */
1161             public static final String CONTROLLED_BY_ADMIN_SUMMARY =
1162                     PREFIX + "CONTROLLED_BY_ADMIN_SUMMARY";
1163 
1164             /**
1165              * User label for a work profile
1166              */
1167             public static final String WORK_PROFILE_USER_LABEL = PREFIX + "WORK_PROFILE_USER_LABEL";
1168 
1169             /**
1170              * Header for items under the work user
1171              */
1172             public static final String WORK_CATEGORY_HEADER = PREFIX + "WORK_CATEGORY_HEADER";
1173 
1174             /**
1175              * Header for items under the private user
1176              */
1177             public static final String PRIVATE_CATEGORY_HEADER =
1178                     PREFIX + "PRIVATE_CATEGORY_HEADER";
1179 
1180             /**
1181              * Header for items under the personal user
1182              */
1183             public static final String PERSONAL_CATEGORY_HEADER =
1184                     PREFIX + "PERSONAL_CATEGORY_HEADER";
1185 
1186             /**
1187              * Header for items under the clone user
1188              */
1189             public static final String CLONE_CATEGORY_HEADER =
1190                     PREFIX + "CLONE_CATEGORY_HEADER";
1191 
1192 
1193             /**
1194              * Text to indicate work notification content will be shown on the lockscreen.
1195              */
1196             public static final String LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT =
1197                     PREFIX + "LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT";
1198 
1199             /**
1200              * Text to indicate work notification content will be shown on the lockscreen.
1201              */
1202             public static final String LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT =
1203                     PREFIX + "LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT";
1204 
1205             /**
1206              * Text for toggle to enable auto-sycing personal data
1207              */
1208             public static final String AUTO_SYNC_PERSONAL_DATA = PREFIX
1209                     + "AUTO_SYNC_PERSONAL_DATA";
1210 
1211             /**
1212              * Text for toggle to enable auto-sycing work data
1213              */
1214             public static final String AUTO_SYNC_WORK_DATA = PREFIX + "AUTO_SYNC_WORK_DATA";
1215 
1216             /**
1217              * Text for toggle to enable auto-sycing private data
1218              */
1219             public static final String AUTO_SYNC_PRIVATE_DATA = PREFIX
1220                     + "AUTO_SYNC_PRIVATE_DATA";
1221 
1222             /**
1223              * Summary for "More security settings" section when a work profile is on the device.
1224              */
1225             public static final String MORE_SECURITY_SETTINGS_WORK_PROFILE_SUMMARY = PREFIX
1226                     + "MORE_SECURITY_SETTINGS_WORK_PROFILE_SUMMARY";
1227 
1228             /**
1229              * Title for screen asking the user to choose a type of screen lock (such as a pattern,
1230              * PIN, or password) that they need to enter to use their work apps
1231              */
1232             public static final String LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE = PREFIX
1233                     + "LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE";
1234 
1235             /**
1236              * Title for screen asking the user to update the type of screen lock (such as a
1237              * pattern, PIN, or password) that they need to enter to use their work apps
1238              */
1239             public static final String LOCK_SETTINGS_UPDATE_PROFILE_LOCK_TITLE = PREFIX
1240                     + "LOCK_SETTINGS_UPDATE_PROFILE_LOCK_TITLE";
1241 
1242             /**
1243              * Title for section listing information that can be seen by organization
1244              */
1245             public static final String INFORMATION_SEEN_BY_ORGANIZATION_TITLE = PREFIX
1246                     + "INFORMATION_SEEN_BY_ORGANIZATION_TITLE";
1247 
1248             /**
1249              * Title for section listing changes made by the organization.
1250              */
1251             public static final String CHANGES_BY_ORGANIZATION_TITLE =
1252                     PREFIX + "CHANGES_BY_ORGANIZATION_TITLE";
1253 
1254             /**
1255              * Footer for enterprise privacy screen.
1256              */
1257             public static final String ENTERPRISE_PRIVACY_FOOTER =
1258                     PREFIX + "ENTERPRISE_PRIVACY_FOOTER";
1259 
1260             /**
1261              * Title for spell checker settings for work.
1262              */
1263             public static final String SPELL_CHECKER_FOR_WORK =
1264                     PREFIX + "SPELL_CHECKER_FOR_WORK";
1265 
1266             /**
1267              * Title for personal dictionary for work settings.
1268              */
1269             public static final String PERSONAL_DICTIONARY_FOR_WORK =
1270                     PREFIX + "PERSONAL_DICTIONARY_FOR_WORK";
1271 
1272             /**
1273              * Summary for switch preference to indicate it is disabled by the admin
1274              */
1275             public static final String DISABLED_BY_ADMIN_SWITCH_SUMMARY =
1276                     PREFIX + "DISABLED_BY_ADMIN_SWITCH_SUMMARY";
1277 
1278             /**
1279              * Summary for switch preference to indicate it is enabled by the admin
1280              */
1281             public static final String ENABLED_BY_ADMIN_SWITCH_SUMMARY =
1282                     PREFIX + "ENABLED_BY_ADMIN_SWITCH_SUMMARY";
1283         }
1284 
1285         /**
1286          * Class containing the identifiers used to update device management-related system strings
1287          * in the SystemUi package.
1288          *
1289          * @hide
1290          */
1291         public static final class SystemUi {
1292 
SystemUi()1293             private SystemUi() {
1294             }
1295 
1296             private static final String PREFIX = "SystemUi.";
1297 
1298             /**
1299              * Label in quick settings for toggling work profile on/off.
1300              */
1301             public static final String QS_WORK_PROFILE_LABEL = PREFIX + "QS_WORK_PROFILE_LABEL";
1302 
1303             /**
1304              * Disclosure at the bottom of Quick Settings to indicate device management.
1305              */
1306             public static final String QS_MSG_MANAGEMENT = PREFIX + "QS_MSG_MANAGEMENT";
1307 
1308             /**
1309              * Similar to {@link #QS_MSG_MANAGEMENT} but accepts the organization name as a
1310              * param.
1311              */
1312             public static final String QS_MSG_NAMED_MANAGEMENT = PREFIX + "QS_MSG_NAMED_MANAGEMENT";
1313 
1314             /**
1315              * Disclosure at the bottom of Quick Settings to indicate device management monitoring.
1316              */
1317             public static final String QS_MSG_MANAGEMENT_MONITORING =
1318                     PREFIX + "QS_MSG_MANAGEMENT_MONITORING";
1319 
1320             /**
1321              * Similar to {@link #QS_MSG_MANAGEMENT_MONITORING} but accepts the
1322              * organization name as a param.
1323              */
1324             public static final String QS_MSG_NAMED_MANAGEMENT_MONITORING =
1325                     PREFIX + "QS_MSG_NAMED_MANAGEMENT_MONITORING";
1326 
1327             /**
1328              * Disclosure at the bottom of Quick Settings to indicate device management and the
1329              * device is connected to a VPN, accepts VPN name as a param.
1330              */
1331             public static final String QS_MSG_MANAGEMENT_NAMED_VPN =
1332                     PREFIX + "QS_MSG_MANAGEMENT_NAMED_VPN";
1333 
1334             /**
1335              * Similar to {@link #QS_MSG_MANAGEMENT_NAMED_VPN} but also accepts the
1336              * organization name as a param.
1337              */
1338             public static final String QS_MSG_NAMED_MANAGEMENT_NAMED_VPN =
1339                     PREFIX + "QS_MSG_NAMED_MANAGEMENT_NAMED_VPN";
1340 
1341             /**
1342              * Disclosure at the bottom of Quick Settings to indicate device management and the
1343              * device is connected to multiple VPNs.
1344              */
1345             public static final String QS_MSG_MANAGEMENT_MULTIPLE_VPNS =
1346                     PREFIX + "QS_MSG_MANAGEMENT_MULTIPLE_VPNS";
1347 
1348             /**
1349              * Similar to {@link #QS_MSG_MANAGEMENT_MULTIPLE_VPNS} but also accepts the
1350              * organization name as a param.
1351              */
1352             public static final String QS_MSG_NAMED_MANAGEMENT_MULTIPLE_VPNS =
1353                     PREFIX + "QS_MSG_NAMED_MANAGEMENT_MULTIPLE_VPNS";
1354 
1355             /**
1356              * Disclosure at the bottom of Quick Settings to indicate work profile monitoring.
1357              */
1358             public static final String QS_MSG_WORK_PROFILE_MONITORING =
1359                     PREFIX + "QS_MSG_WORK_PROFILE_MONITORING";
1360 
1361             /**
1362              * Similar to {@link #QS_MSG_WORK_PROFILE_MONITORING} but accepts the
1363              * organization name as a param.
1364              */
1365             public static final String QS_MSG_NAMED_WORK_PROFILE_MONITORING =
1366                     PREFIX + "QS_MSG_NAMED_WORK_PROFILE_MONITORING";
1367 
1368             /**
1369              * Disclosure at the bottom of Quick Settings to indicate network activity is visible to
1370              * admin.
1371              */
1372             public static final String QS_MSG_WORK_PROFILE_NETWORK =
1373                     PREFIX + "QS_MSG_WORK_PROFILE_NETWORK";
1374 
1375             /**
1376              * Disclosure at the bottom of Quick Settings to indicate work profile is connected to a
1377              * VPN, accepts VPN name as a param.
1378              */
1379             public static final String QS_MSG_WORK_PROFILE_NAMED_VPN =
1380                     PREFIX + "QS_MSG_WORK_PROFILE_NAMED_VPN";
1381 
1382             /**
1383              * Disclosure at the bottom of Quick Settings to indicate personal profile is connected
1384              * to a VPN, accepts VPN name as a param.
1385              */
1386             public static final String QS_MSG_PERSONAL_PROFILE_NAMED_VPN =
1387                     PREFIX + "QS_MSG_PERSONAL_PROFILE_NAMED_VPN";
1388 
1389             /**
1390              * Title for dialog to indicate device management.
1391              */
1392             public static final String QS_DIALOG_MANAGEMENT_TITLE =
1393                     PREFIX + "QS_DIALOG_MANAGEMENT_TITLE";
1394 
1395             /**
1396              * Label for button in the device management dialog to open a page with more information
1397              * on the admin's abilities.
1398              */
1399             public static final String QS_DIALOG_VIEW_POLICIES =
1400                     PREFIX + "QS_DIALOG_VIEW_POLICIES";
1401 
1402             /**
1403              * Description for device management dialog to indicate admin abilities.
1404              */
1405             public static final String QS_DIALOG_MANAGEMENT = PREFIX + "QS_DIALOG_MANAGEMENT";
1406 
1407             /**
1408              * Similar to {@link #QS_DIALOG_MANAGEMENT} but accepts the organization name as a
1409              * param.
1410              */
1411             public static final String QS_DIALOG_NAMED_MANAGEMENT =
1412                     PREFIX + "QS_DIALOG_NAMED_MANAGEMENT";
1413 
1414             /**
1415              * Description for the managed device certificate authorities in the device management
1416              * dialog.
1417              */
1418             public static final String QS_DIALOG_MANAGEMENT_CA_CERT =
1419                     PREFIX + "QS_DIALOG_MANAGEMENT_CA_CERT";
1420 
1421             /**
1422              * Description for the work profile certificate authorities in the device management
1423              * dialog.
1424              */
1425             public static final String QS_DIALOG_WORK_PROFILE_CA_CERT =
1426                     PREFIX + "QS_DIALOG_WORK_PROFILE_CA_CERT";
1427 
1428             /**
1429              * Description for the managed device network logging in the device management dialog.
1430              */
1431             public static final String QS_DIALOG_MANAGEMENT_NETWORK =
1432                     PREFIX + "QS_DIALOG_MANAGEMENT_NETWORK";
1433 
1434             /**
1435              * Description for the work profile network logging in the device management dialog.
1436              */
1437             public static final String QS_DIALOG_WORK_PROFILE_NETWORK =
1438                     PREFIX + "QS_DIALOG_WORK_PROFILE_NETWORK";
1439 
1440             /**
1441              * Description for an active VPN in the device management dialog, accepts VPN name as a
1442              * param.
1443              */
1444             public static final String QS_DIALOG_MANAGEMENT_NAMED_VPN =
1445                     PREFIX + "QS_DIALOG_MANAGEMENT_NAMED_VPN";
1446 
1447             /**
1448              * Description for two active VPN in the device management dialog, accepts two VPN names
1449              * as params.
1450              */
1451             public static final String QS_DIALOG_MANAGEMENT_TWO_NAMED_VPN =
1452                     PREFIX + "QS_DIALOG_MANAGEMENT_TWO_NAMED_VPN";
1453 
1454             /**
1455              * Description for an active work profile VPN in the device management dialog, accepts
1456              * VPN name as a param.
1457              */
1458             public static final String QS_DIALOG_WORK_PROFILE_NAMED_VPN =
1459                     PREFIX + "QS_DIALOG_WORK_PROFILE_NAMED_VPN";
1460 
1461             /**
1462              * Description for an active personal profile VPN in the device management dialog,
1463              * accepts VPN name as a param.
1464              */
1465             public static final String QS_DIALOG_PERSONAL_PROFILE_NAMED_VPN =
1466                     PREFIX + "QS_DIALOG_PERSONAL_PROFILE_NAMED_VPN";
1467 
1468             /**
1469              * Content of a dialog shown when the user only has one attempt left to provide the
1470              * correct pin before the work profile is removed.
1471              */
1472             public static final String BIOMETRIC_DIALOG_WORK_PIN_LAST_ATTEMPT =
1473                     PREFIX + "BIOMETRIC_DIALOG_WORK_PIN_LAST_ATTEMPT";
1474 
1475             /**
1476              * Content of a dialog shown when the user only has one attempt left to provide the
1477              * correct pattern before the work profile is removed.
1478              */
1479             public static final String BIOMETRIC_DIALOG_WORK_PATTERN_LAST_ATTEMPT =
1480                     PREFIX + "BIOMETRIC_DIALOG_WORK_PATTERN_LAST_ATTEMPT";
1481 
1482             /**
1483              * Content of a dialog shown when the user only has one attempt left to provide the
1484              * correct password before the work profile is removed.
1485              */
1486             public static final String BIOMETRIC_DIALOG_WORK_PASSWORD_LAST_ATTEMPT =
1487                     PREFIX + "BIOMETRIC_DIALOG_WORK_PASSWORD_LAST_ATTEMPT";
1488 
1489             /**
1490              * Content of a dialog shown when the user has failed to provide the work lock too many
1491              * times and the work profile is removed.
1492              */
1493             public static final String BIOMETRIC_DIALOG_WORK_LOCK_FAILED_ATTEMPTS =
1494                     PREFIX + "BIOMETRIC_DIALOG_WORK_LOCK_FAILED_ATTEMPTS";
1495 
1496             /**
1497              * Accessibility label for managed profile icon in the status bar
1498              */
1499             public static final String STATUS_BAR_WORK_ICON_ACCESSIBILITY =
1500                     PREFIX + "STATUS_BAR_WORK_ICON_ACCESSIBILITY";
1501 
1502             /**
1503              * Text appended to privacy dialog, indicating that the application is in the work
1504              * profile.
1505              */
1506             public static final String ONGOING_PRIVACY_DIALOG_WORK =
1507                     PREFIX + "ONGOING_PRIVACY_DIALOG_WORK";
1508 
1509             /**
1510              * Text on keyguard screen indicating device management.
1511              */
1512             public static final String KEYGUARD_MANAGEMENT_DISCLOSURE =
1513                     PREFIX + "KEYGUARD_MANAGEMENT_DISCLOSURE";
1514 
1515             /**
1516              * Similar to {@link #KEYGUARD_MANAGEMENT_DISCLOSURE} but also accepts organization name
1517              * as a param.
1518              */
1519             public static final String KEYGUARD_NAMED_MANAGEMENT_DISCLOSURE =
1520                     PREFIX + "KEYGUARD_NAMED_MANAGEMENT_DISCLOSURE";
1521 
1522             /**
1523              * Content description for the work profile lock screen.
1524              */
1525             public static final String WORK_LOCK_ACCESSIBILITY = PREFIX + "WORK_LOCK_ACCESSIBILITY";
1526 
1527             /**
1528              * Notification text displayed when screenshots are blocked by an IT admin.
1529              */
1530             public static final String SCREENSHOT_BLOCKED_BY_ADMIN =
1531                     PREFIX + "SCREENSHOT_BLOCKED_BY_ADMIN";
1532 
1533             /**
1534              * Message shown when user is almost at the limit of password attempts where the
1535              * profile will be removed. Accepts number of failed attempts and remaining failed
1536              * attempts as params.
1537              */
1538             public static final String KEYGUARD_DIALOG_FAILED_ATTEMPTS_ALMOST_ERASING_PROFILE =
1539                     PREFIX + "KEYGUARD_DIALOG_FAILED_ATTEMPTS_ALMOST_ERASING_PROFILE";
1540 
1541             /**
1542              * Message shown in dialog when user has exceeded the maximum attempts and the profile
1543              * will be removed. Accepts number of failed attempts as a param.
1544              */
1545             public static final String KEYGUARD_DIALOG_FAILED_ATTEMPTS_ERASING_PROFILE =
1546                     PREFIX + "KEYGUARD_DIALOG_FAILED_ATTEMPTS_ERASING_PROFILE";
1547 
1548             /**
1549              * Monitoring dialog subtitle for the section describing VPN.
1550              */
1551             public static final String QS_DIALOG_MONITORING_VPN_SUBTITLE =
1552                     PREFIX + "QS_DIALOG_MONITORING_VPN_SUBTITLE";
1553 
1554             /**
1555              * Monitoring dialog subtitle for the section describing network logging.
1556              */
1557             public static final String QS_DIALOG_MONITORING_NETWORK_SUBTITLE =
1558                     PREFIX + "QS_DIALOG_MONITORING_NETWORK_SUBTITLE";
1559 
1560             /**
1561              * Monitoring dialog subtitle for the section describing certificate authorities.
1562              */
1563             public static final String QS_DIALOG_MONITORING_CA_CERT_SUBTITLE =
1564                     PREFIX + "QS_DIALOG_MONITORING_CA_CERT_SUBTITLE";
1565         }
1566 
1567         /**
1568          * Class containing the identifiers used to update device management-related system strings
1569          * in the android core package.
1570          *
1571          * @hide
1572          */
1573         public static final class Core {
1574 
Core()1575             private Core() {
1576             }
1577 
1578             private static final String PREFIX = "Core.";
1579             /**
1580              * Notification title when the system deletes the work profile.
1581              */
1582             public static final String WORK_PROFILE_DELETED_TITLE =
1583                     PREFIX + "WORK_PROFILE_DELETED_TITLE";
1584 
1585             /**
1586              * Content text for the "Work profile deleted" notification to indicates that a work
1587              * profile has been deleted because the maximum failed password attempts as been
1588              * reached.
1589              */
1590             public static final String WORK_PROFILE_DELETED_FAILED_PASSWORD_ATTEMPTS_MESSAGE =
1591                     PREFIX + "WORK_PROFILE_DELETED_FAILED_PASSWORD_ATTEMPTS_MESSAGE";
1592 
1593             /**
1594              * Content text for the "Work profile deleted" notification to indicate that a work
1595              * profile has been deleted.
1596              */
1597             public static final String WORK_PROFILE_DELETED_GENERIC_MESSAGE =
1598                     PREFIX + "WORK_PROFILE_DELETED_GENERIC_MESSAGE";
1599 
1600             /**
1601              * Content text for the "Work profile deleted" notification to indicates that a work
1602              * profile has been deleted because the admin of an organization-owned device has
1603              * relinquishes it.
1604              */
1605             public static final String WORK_PROFILE_DELETED_ORG_OWNED_MESSAGE =
1606                     PREFIX + "WORK_PROFILE_DELETED_ORG_OWNED_MESSAGE";
1607 
1608             /**
1609              * Notification title for when personal apps are either blocked or will be blocked
1610              * soon due to a work policy from their admin.
1611              */
1612             public static final String PERSONAL_APP_SUSPENSION_TITLE =
1613                     PREFIX + "PERSONAL_APP_SUSPENSION_TITLE";
1614 
1615             /**
1616              * Content text for the personal app suspension notification to indicate that personal
1617              * apps are blocked due to a work policy from the admin.
1618              */
1619             public static final String PERSONAL_APP_SUSPENSION_MESSAGE =
1620                     PREFIX + "PERSONAL_APP_SUSPENSION_MESSAGE";
1621 
1622             /**
1623              * Content text for the personal app suspension notification to indicate that personal
1624              * apps will be blocked at a particular time due to a work policy from their admin.
1625              * It also explains for how many days the profile is allowed to be off.
1626              * <ul>Takes in the following as params:
1627              * <li> The date that the personal apps will get suspended at</li>
1628              * <li> The time that the personal apps will get suspended at</li>
1629              * <li> The max allowed days for the work profile stay switched off</li>
1630              * </ul>
1631              */
1632             public static final String PERSONAL_APP_SUSPENSION_SOON_MESSAGE =
1633                     PREFIX + "PERSONAL_APP_SUSPENSION_SOON_MESSAGE";
1634 
1635             /**
1636              * Title for the button that turns work profile in the personal app suspension
1637              * notification.
1638              */
1639             public static final String PERSONAL_APP_SUSPENSION_TURN_ON_PROFILE =
1640                     PREFIX + "PERSONAL_APP_SUSPENSION_TURN_ON_PROFILE";
1641 
1642             /**
1643              * A toast message displayed when printing is attempted but disabled by policy, accepts
1644              * admin name as a param.
1645              */
1646             public static final String PRINTING_DISABLED_NAMED_ADMIN =
1647                     PREFIX + "PRINTING_DISABLED_NAMED_ADMIN";
1648 
1649             /**
1650              * Notification title to indicate that the device owner has changed the location
1651              * settings.
1652              */
1653             public static final String LOCATION_CHANGED_TITLE = PREFIX + "LOCATION_CHANGED_TITLE";
1654 
1655             /**
1656              * Content text for the location changed notification to indicate that the device owner
1657              * has changed the location settings.
1658              */
1659             public static final String LOCATION_CHANGED_MESSAGE =
1660                     PREFIX + "LOCATION_CHANGED_MESSAGE";
1661 
1662             /**
1663              * Notification title to indicate that the device is managed and network logging was
1664              * activated by a device owner.
1665              */
1666             public static final String NETWORK_LOGGING_TITLE = PREFIX + "NETWORK_LOGGING_TITLE";
1667 
1668             /**
1669              * Content text for the network logging notification to indicate that the device is
1670              * managed and network logging was activated by a device owner.
1671              */
1672             public static final String NETWORK_LOGGING_MESSAGE = PREFIX + "NETWORK_LOGGING_MESSAGE";
1673 
1674             /**
1675              * Content description of the work profile icon in the notifications.
1676              */
1677             public static final String NOTIFICATION_WORK_PROFILE_CONTENT_DESCRIPTION =
1678                     PREFIX + "NOTIFICATION_WORK_PROFILE_CONTENT_DESCRIPTION";
1679 
1680             /**
1681              * Notification channel name for high-priority alerts from the user's IT admin for key
1682              * updates about the device.
1683              */
1684             public static final String NOTIFICATION_CHANNEL_DEVICE_ADMIN =
1685                     PREFIX + "NOTIFICATION_CHANNEL_DEVICE_ADMIN";
1686 
1687             /**
1688              * Label returned from
1689              * {@link android.content.pm.CrossProfileApps#getProfileSwitchingLabel(UserHandle)}
1690              * that calling app can show to user for the semantic of switching to work profile, and
1691              * accepts the app name as a param.
1692              */
1693             public static final String SWITCH_TO_WORK_LABEL = PREFIX + "SWITCH_TO_WORK_LABEL";
1694 
1695             /**
1696              * Label returned from
1697              * {@link android.content.pm.CrossProfileApps#getProfileSwitchingLabel(UserHandle)}
1698              * that calling app can show to user for the semantic of switching to personal profile,
1699              * and accepts the app name as a param.
1700              */
1701             public static final String SWITCH_TO_PERSONAL_LABEL =
1702                     PREFIX + "SWITCH_TO_PERSONAL_LABEL";
1703 
1704             /**
1705              * Message to show when an intent automatically switches users into the work profile.
1706              */
1707             public static final String FORWARD_INTENT_TO_WORK = PREFIX + "FORWARD_INTENT_TO_WORK";
1708 
1709             /**
1710              * Message to show when an intent automatically switches users into the personal
1711              * profile.
1712              */
1713             public static final String FORWARD_INTENT_TO_PERSONAL =
1714                     PREFIX + "FORWARD_INTENT_TO_PERSONAL";
1715 
1716             /**
1717              * Text for the toast that is shown when the user clicks on a launcher that doesn't
1718              * support the work profile, takes in the launcher name as a param.
1719              */
1720             public static final String RESOLVER_WORK_PROFILE_NOT_SUPPORTED =
1721                     PREFIX + "RESOLVER_WORK_PROFILE_NOT_SUPPORTED";
1722 
1723             /**
1724              * Label for the personal tab in the {@link com.android.internal.app.ResolverActivity).
1725              */
1726             public static final String RESOLVER_PERSONAL_TAB = PREFIX + "RESOLVER_PERSONAL_TAB";
1727 
1728             /**
1729              * Label for the work tab in the {@link com.android.internal.app.ResolverActivity).
1730              */
1731             public static final String RESOLVER_WORK_TAB = PREFIX + "RESOLVER_WORK_TAB";
1732 
1733             /**
1734              * Accessibility Label for the personal tab in the
1735              * {@link com.android.internal.app.ResolverActivity).
1736              */
1737             public static final String RESOLVER_PERSONAL_TAB_ACCESSIBILITY =
1738                     PREFIX + "RESOLVER_PERSONAL_TAB_ACCESSIBILITY";
1739 
1740             /**
1741              * Accessibility Label for the work tab in the
1742              * {@link com.android.internal.app.ResolverActivity).
1743              */
1744             public static final String RESOLVER_WORK_TAB_ACCESSIBILITY =
1745                     PREFIX + "RESOLVER_WORK_TAB_ACCESSIBILITY";
1746 
1747             /**
1748              * Title for resolver screen to let the user know that their IT admin doesn't allow
1749              * them to share this content across profiles.
1750              */
1751             public static final String RESOLVER_CROSS_PROFILE_BLOCKED_TITLE =
1752                     PREFIX + "RESOLVER_CROSS_PROFILE_BLOCKED_TITLE";
1753 
1754             /**
1755              * Description for resolver screen to let the user know that their IT admin doesn't
1756              * allow them to share this content with apps in their personal profile.
1757              */
1758             public static final String RESOLVER_CANT_SHARE_WITH_PERSONAL =
1759                     PREFIX + "RESOLVER_CANT_SHARE_WITH_PERSONAL";
1760 
1761             /**
1762              * Description for resolver screen to let the user know that their IT admin doesn't
1763              * allow them to share this content with apps in their work profile.
1764              */
1765             public static final String RESOLVER_CANT_SHARE_WITH_WORK =
1766                     PREFIX + "RESOLVER_CANT_SHARE_WITH_WORK";
1767 
1768             /**
1769              * Description for resolver screen to let the user know that their IT admin doesn't
1770              * allow them to open this specific content with an app in their personal profile.
1771              */
1772             public static final String RESOLVER_CANT_ACCESS_PERSONAL =
1773                     PREFIX + "RESOLVER_CANT_ACCESS_PERSONAL";
1774 
1775             /**
1776              * Description for resolver screen to let the user know that their IT admin doesn't
1777              * allow them to open this specific content with an app in their work profile.
1778              */
1779             public static final String RESOLVER_CANT_ACCESS_WORK =
1780                     PREFIX + "RESOLVER_CANT_ACCESS_WORK";
1781 
1782             /**
1783              * Title for resolver screen to let the user know that they need to turn on work apps
1784              * in order to share or open content
1785              */
1786             public static final String RESOLVER_WORK_PAUSED_TITLE =
1787                     PREFIX + "RESOLVER_WORK_PAUSED_TITLE";
1788 
1789             /**
1790              * Text on resolver screen to let the user know that their current work apps don't
1791              * support the specific content.
1792              */
1793             public static final String RESOLVER_NO_WORK_APPS = PREFIX + "RESOLVER_NO_WORK_APPS";
1794 
1795             /**
1796              * Text on resolver screen to let the user know that their current personal apps don't
1797              * support the specific content.
1798              */
1799             public static final String RESOLVER_NO_PERSONAL_APPS =
1800                     PREFIX + "RESOLVER_NO_PERSONAL_APPS";
1801 
1802             /**
1803              * Message informing user that the adding the account is disallowed by an administrator.
1804              */
1805             public static final String CANT_ADD_ACCOUNT_MESSAGE =
1806                     PREFIX + "CANT_ADD_ACCOUNT_MESSAGE";
1807 
1808             /**
1809              * Notification shown when device owner silently installs a package.
1810              */
1811             public static final String PACKAGE_INSTALLED_BY_DO = PREFIX + "PACKAGE_INSTALLED_BY_DO";
1812 
1813             /**
1814              * Notification shown when device owner silently updates a package.
1815              */
1816             public static final String PACKAGE_UPDATED_BY_DO = PREFIX + "PACKAGE_UPDATED_BY_DO";
1817 
1818             /**
1819              * Notification shown when device owner silently deleted a package.
1820              */
1821             public static final String PACKAGE_DELETED_BY_DO = PREFIX + "PACKAGE_DELETED_BY_DO";
1822 
1823             /**
1824              * Title for dialog shown when user tries to open a work app when the work profile is
1825              * turned off, confirming that the user wants to turn on access to their
1826              * work apps.
1827              */
1828             public static final String UNLAUNCHABLE_APP_WORK_PAUSED_TITLE =
1829                     PREFIX + "UNLAUNCHABLE_APP_WORK_PAUSED_TITLE";
1830 
1831             /**
1832              * Notification title shown when work profile is credential encrypted and requires
1833              * the user to unlock before it's usable.
1834              */
1835             public static final String PROFILE_ENCRYPTED_TITLE = PREFIX + "PROFILE_ENCRYPTED_TITLE";
1836 
1837             /**
1838              * Notification detail shown when work profile is credential encrypted and requires
1839              * the user to unlock before it's usable.
1840              */
1841             public static final String PROFILE_ENCRYPTED_DETAIL =
1842                     PREFIX + "PROFILE_ENCRYPTED_DETAIL";
1843 
1844             /**
1845              * Notification message shown when work profile is credential encrypted and requires
1846              * the user to unlock before it's usable.
1847              */
1848             public static final String PROFILE_ENCRYPTED_MESSAGE =
1849                     PREFIX + "PROFILE_ENCRYPTED_MESSAGE";
1850 
1851             /**
1852              * Used to badge a string with "Work" for work profile content, e.g. "Work Email".
1853              * Accepts the string to badge as an argument.
1854              * <p>See {@link android.content.pm.PackageManager#getUserBadgedLabel}</p>
1855              */
1856             public static final String WORK_PROFILE_BADGED_LABEL =
1857                     PREFIX + "WORK_PROFILE_BADGED_LABEL";
1858 
1859             /**
1860              * Notification title. This notification lets the user know that they will be unable to
1861              * receive phone calls or texts until the work profile is turned on.
1862              */
1863             public static final String WORK_PROFILE_TELEPHONY_PAUSED_TITLE =
1864                     PREFIX + "WORK_PROFILE_TELEPHONY_UNAVAILABLE_TITLE";
1865 
1866             /**
1867              * Notification text. This notification lets the user know that they will be unable to
1868              * receive phone calls or texts until the work profile is turned on.
1869              */
1870             public static final String WORK_PROFILE_TELEPHONY_PAUSED_BODY =
1871                     PREFIX + "WORK_PROFILE_TELEPHONY_UNAVAILABLE_BODY";
1872 
1873             /**
1874              * Label for notification button. This button lets the user turn the work profile on.
1875              */
1876             public static final String WORK_PROFILE_TELEPHONY_PAUSED_TURN_ON_BUTTON =
1877                     PREFIX + "TURN_ON_WORK_PROFILE_BUTTON_TEXT";
1878 
1879             /**
1880              * Information section shown on a dialog when the user is unable to place a call in
1881              * the personal profile due to admin restrictions, and must choose whether to place
1882              * the call from the work profile or cancel.
1883              */
1884             public static final String MINIRESOLVER_WORK_TELEPHONY_CALL_BLOCKED_INFORMATION =
1885                     PREFIX + "MINIRESOLVER_WORK_TELEPHONY_INFORMATION";
1886 
1887             /**
1888              * Information section shown on a dialog when the user is unable to send a text in
1889              * the personal profile due to admin restrictions, and must choose whether to place
1890              * the call from the work profile or cancel.
1891              */
1892             public static final String MINIRESOLVER_WORK_TELEPHONY_TEXT_BLOCKED_INFORMATION =
1893                     PREFIX + "MINIRESOLVER_WORK_TELEPHONY_INFORMATION";
1894 
1895 
1896             /**
1897              * Button for a dialog shown when the user is unable to place a call in the personal
1898              * profile due to admin restrictions, and must choose whether to place the call from
1899              * the work profile or cancel.
1900              */
1901             public static final String MINIRESOLVER_CALL_FROM_WORK =
1902                     PREFIX + "MINIRESOLVER_CALL_FROM_WORK";
1903 
1904             /**
1905              * Button for a dialog shown when the user has no apps capable of handling an intent
1906              * in the personal profile, and must choose whether to open the intent in a
1907              * cross-profile app in the work profile, or cancel.
1908              */
1909             public static final String MINIRESOLVER_SWITCH_TO_WORK =
1910                     PREFIX + "MINIRESOLVER_SWITCH_TO_WORK";
1911 
1912             /**
1913              * Title for a dialog shown when the user has no apps capable of handling an intent
1914              * in the personal profile, and must choose whether to open the intent in a
1915              * cross-profile app in the work profile, or open in the same profile browser. Accepts
1916              * the app name as a param.
1917              */
1918             public static final String MINIRESOLVER_OPEN_IN_WORK =
1919                     PREFIX + "MINIRESOLVER_OPEN_IN_WORK";
1920 
1921             /**
1922              * Title for a dialog shown when the user has no apps capable of handling an intent
1923              * in the personal profile, and must choose whether to open the intent in a
1924              * cross-profile app in the personal profile, or open in the same profile browser.
1925              * Accepts the app name as a param.
1926              */
1927             public static final String MINIRESOLVER_OPEN_IN_PERSONAL =
1928                     PREFIX + "MINIRESOLVER_OPEN_IN_PERSONAL";
1929 
1930             /**
1931              * Title for a dialog shown when the user has no apps capable of handling an intent
1932              * in the personal profile, and must choose whether to open the intent in a
1933              * cross-profile app in the work profile, or cancel. Accepts the app name as a param.
1934              */
1935             public static final String MINIRESOLVER_OPEN_WORK = PREFIX + "MINIRESOLVER_OPEN_WORK";
1936 
1937             public static final String MINIRESOLVER_USE_WORK_BROWSER =
1938                     PREFIX + "MINIRESOLVER_OPEN_IN_PERSONAL";
1939 
1940             public static final String MINIRESOLVER_USE_PERSONAL_BROWSER =
1941                     PREFIX + "MINIRESOLVER_OPEN_IN_PERSONAL";
1942         }
1943 
1944         /**
1945          * Class containing the identifiers used to update device management-related system strings
1946          * in the Dialer app.
1947          *
1948          * @hide
1949          */
1950         public static final class Telecomm {
1951 
Telecomm()1952             private Telecomm() {
1953             }
1954 
1955             private static final String PREFIX = "Telecomm.";
1956 
1957             /**
1958              * Missed call notification label, used when there's exactly one missed call from work
1959              * contact.
1960              */
1961             public static final String NOTIFICATION_MISSED_WORK_CALL_TITLE =
1962                     PREFIX + "NOTIFICATION_MISSED_WORK_CALL_TITLE";
1963         }
1964 
1965         /**
1966          * Class containing the identifiers used to update device management-related system strings
1967          * for the permission settings.
1968          */
1969         public static final class PermissionSettings {
1970 
PermissionSettings()1971             private PermissionSettings() {
1972             }
1973 
1974             private static final String PREFIX = "PermissionSettings.";
1975 
1976             /**
1977              * Summary of a permission switch in Settings when the background access is denied by an
1978              * admin.
1979              */
1980             public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE =
1981                     PREFIX + "BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1982 
1983             /**
1984              * Summary of a permission switch in Settings when the background access is enabled by
1985              * an admin.
1986              */
1987             public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE =
1988                     PREFIX + "BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1989 
1990             /**
1991              * Summary of a permission switch in Settings when the foreground access is enabled by
1992              * an admin.
1993              */
1994             public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE =
1995                     PREFIX + "FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1996 
1997             /**
1998              * Body of the notification shown to notify the user that the location permission has
1999              * been granted to an app, accepts app name as a param.
2000              */
2001             public static final String LOCATION_AUTO_GRANTED_MESSAGE =
2002                     PREFIX + "LOCATION_AUTO_GRANTED_MESSAGE";
2003         }
2004 
2005         /**
2006          * Class containing the identifiers used to update device management-related system strings
2007          * for the default app settings.
2008          */
2009         public static final class DefaultAppSettings {
2010 
DefaultAppSettings()2011             private DefaultAppSettings() {
2012             }
2013 
2014             private static final String PREFIX = "DefaultAppSettings.";
2015 
2016             /**
2017              * Title for settings page to show default apps for work.
2018              */
2019             public static final String WORK_PROFILE_DEFAULT_APPS_TITLE =
2020                     PREFIX + "WORK_PROFILE_DEFAULT_APPS_TITLE";
2021 
2022             /**
2023              * Summary indicating that a home role holder app is missing work profile support.
2024              */
2025             public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE =
2026                     PREFIX + "HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
2027         }
2028     }
2029 }
2030