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 personal user
1176              */
1177             public static final String PERSONAL_CATEGORY_HEADER =
1178                     PREFIX + "PERSONAL_CATEGORY_HEADER";
1179 
1180             /**
1181              * Header for items under the clone user
1182              */
1183             public static final String CLONE_CATEGORY_HEADER =
1184                     PREFIX + "CLONE_CATEGORY_HEADER";
1185 
1186 
1187             /**
1188              * Text to indicate work notification content will be shown on the lockscreen.
1189              */
1190             public static final String LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT =
1191                     PREFIX + "LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT";
1192 
1193             /**
1194              * Text to indicate work notification content will be shown on the lockscreen.
1195              */
1196             public static final String LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT =
1197                     PREFIX + "LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT";
1198 
1199             /**
1200              * Text for toggle to enable auto-sycing personal data
1201              */
1202             public static final String AUTO_SYNC_PERSONAL_DATA = PREFIX
1203                     + "AUTO_SYNC_PERSONAL_DATA";
1204 
1205             /**
1206              * Text for toggle to enable auto-sycing work data
1207              */
1208             public static final String AUTO_SYNC_WORK_DATA = PREFIX + "AUTO_SYNC_WORK_DATA";
1209 
1210             /**
1211              * Summary for "More security settings" section when a work profile is on the device.
1212              */
1213             public static final String MORE_SECURITY_SETTINGS_WORK_PROFILE_SUMMARY = PREFIX
1214                     + "MORE_SECURITY_SETTINGS_WORK_PROFILE_SUMMARY";
1215 
1216             /**
1217              * Title for screen asking the user to choose a type of screen lock (such as a pattern,
1218              * PIN, or password) that they need to enter to use their work apps
1219              */
1220             public static final String LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE = PREFIX
1221                     + "LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE";
1222 
1223             /**
1224              * Title for screen asking the user to update the type of screen lock (such as a
1225              * pattern, PIN, or password) that they need to enter to use their work apps
1226              */
1227             public static final String LOCK_SETTINGS_UPDATE_PROFILE_LOCK_TITLE = PREFIX
1228                     + "LOCK_SETTINGS_UPDATE_PROFILE_LOCK_TITLE";
1229 
1230             /**
1231              * Title for section listing information that can be seen by organization
1232              */
1233             public static final String INFORMATION_SEEN_BY_ORGANIZATION_TITLE = PREFIX
1234                     + "INFORMATION_SEEN_BY_ORGANIZATION_TITLE";
1235 
1236             /**
1237              * Title for section listing changes made by the organization.
1238              */
1239             public static final String CHANGES_BY_ORGANIZATION_TITLE =
1240                     PREFIX + "CHANGES_BY_ORGANIZATION_TITLE";
1241 
1242             /**
1243              * Footer for enterprise privacy screen.
1244              */
1245             public static final String ENTERPRISE_PRIVACY_FOOTER =
1246                     PREFIX + "ENTERPRISE_PRIVACY_FOOTER";
1247 
1248             /**
1249              * Title for spell checker settings for work.
1250              */
1251             public static final String SPELL_CHECKER_FOR_WORK =
1252                     PREFIX + "SPELL_CHECKER_FOR_WORK";
1253 
1254             /**
1255              * Title for personal dictionary for work settings.
1256              */
1257             public static final String PERSONAL_DICTIONARY_FOR_WORK =
1258                     PREFIX + "PERSONAL_DICTIONARY_FOR_WORK";
1259 
1260             /**
1261              * Summary for switch preference to indicate it is disabled by the admin
1262              */
1263             public static final String DISABLED_BY_ADMIN_SWITCH_SUMMARY =
1264                     PREFIX + "DISABLED_BY_ADMIN_SWITCH_SUMMARY";
1265 
1266             /**
1267              * Summary for switch preference to indicate it is enabled by the admin
1268              */
1269             public static final String ENABLED_BY_ADMIN_SWITCH_SUMMARY =
1270                     PREFIX + "ENABLED_BY_ADMIN_SWITCH_SUMMARY";
1271         }
1272 
1273         /**
1274          * Class containing the identifiers used to update device management-related system strings
1275          * in the SystemUi package.
1276          *
1277          * @hide
1278          */
1279         public static final class SystemUi {
1280 
SystemUi()1281             private SystemUi() {
1282             }
1283 
1284             private static final String PREFIX = "SystemUi.";
1285 
1286             /**
1287              * Label in quick settings for toggling work profile on/off.
1288              */
1289             public static final String QS_WORK_PROFILE_LABEL = PREFIX + "QS_WORK_PROFILE_LABEL";
1290 
1291             /**
1292              * Disclosure at the bottom of Quick Settings to indicate device management.
1293              */
1294             public static final String QS_MSG_MANAGEMENT = PREFIX + "QS_MSG_MANAGEMENT";
1295 
1296             /**
1297              * Similar to {@link #QS_MSG_MANAGEMENT} but accepts the organization name as a
1298              * param.
1299              */
1300             public static final String QS_MSG_NAMED_MANAGEMENT = PREFIX + "QS_MSG_NAMED_MANAGEMENT";
1301 
1302             /**
1303              * Disclosure at the bottom of Quick Settings to indicate device management monitoring.
1304              */
1305             public static final String QS_MSG_MANAGEMENT_MONITORING =
1306                     PREFIX + "QS_MSG_MANAGEMENT_MONITORING";
1307 
1308             /**
1309              * Similar to {@link #QS_MSG_MANAGEMENT_MONITORING} but accepts the
1310              * organization name as a param.
1311              */
1312             public static final String QS_MSG_NAMED_MANAGEMENT_MONITORING =
1313                     PREFIX + "QS_MSG_NAMED_MANAGEMENT_MONITORING";
1314 
1315             /**
1316              * Disclosure at the bottom of Quick Settings to indicate device management and the
1317              * device is connected to a VPN, accepts VPN name as a param.
1318              */
1319             public static final String QS_MSG_MANAGEMENT_NAMED_VPN =
1320                     PREFIX + "QS_MSG_MANAGEMENT_NAMED_VPN";
1321 
1322             /**
1323              * Similar to {@link #QS_MSG_MANAGEMENT_NAMED_VPN} but also accepts the
1324              * organization name as a param.
1325              */
1326             public static final String QS_MSG_NAMED_MANAGEMENT_NAMED_VPN =
1327                     PREFIX + "QS_MSG_NAMED_MANAGEMENT_NAMED_VPN";
1328 
1329             /**
1330              * Disclosure at the bottom of Quick Settings to indicate device management and the
1331              * device is connected to multiple VPNs.
1332              */
1333             public static final String QS_MSG_MANAGEMENT_MULTIPLE_VPNS =
1334                     PREFIX + "QS_MSG_MANAGEMENT_MULTIPLE_VPNS";
1335 
1336             /**
1337              * Similar to {@link #QS_MSG_MANAGEMENT_MULTIPLE_VPNS} but also accepts the
1338              * organization name as a param.
1339              */
1340             public static final String QS_MSG_NAMED_MANAGEMENT_MULTIPLE_VPNS =
1341                     PREFIX + "QS_MSG_NAMED_MANAGEMENT_MULTIPLE_VPNS";
1342 
1343             /**
1344              * Disclosure at the bottom of Quick Settings to indicate work profile monitoring.
1345              */
1346             public static final String QS_MSG_WORK_PROFILE_MONITORING =
1347                     PREFIX + "QS_MSG_WORK_PROFILE_MONITORING";
1348 
1349             /**
1350              * Similar to {@link #QS_MSG_WORK_PROFILE_MONITORING} but accepts the
1351              * organization name as a param.
1352              */
1353             public static final String QS_MSG_NAMED_WORK_PROFILE_MONITORING =
1354                     PREFIX + "QS_MSG_NAMED_WORK_PROFILE_MONITORING";
1355 
1356             /**
1357              * Disclosure at the bottom of Quick Settings to indicate network activity is visible to
1358              * admin.
1359              */
1360             public static final String QS_MSG_WORK_PROFILE_NETWORK =
1361                     PREFIX + "QS_MSG_WORK_PROFILE_NETWORK";
1362 
1363             /**
1364              * Disclosure at the bottom of Quick Settings to indicate work profile is connected to a
1365              * VPN, accepts VPN name as a param.
1366              */
1367             public static final String QS_MSG_WORK_PROFILE_NAMED_VPN =
1368                     PREFIX + "QS_MSG_WORK_PROFILE_NAMED_VPN";
1369 
1370             /**
1371              * Disclosure at the bottom of Quick Settings to indicate personal profile is connected
1372              * to a VPN, accepts VPN name as a param.
1373              */
1374             public static final String QS_MSG_PERSONAL_PROFILE_NAMED_VPN =
1375                     PREFIX + "QS_MSG_PERSONAL_PROFILE_NAMED_VPN";
1376 
1377             /**
1378              * Title for dialog to indicate device management.
1379              */
1380             public static final String QS_DIALOG_MANAGEMENT_TITLE =
1381                     PREFIX + "QS_DIALOG_MANAGEMENT_TITLE";
1382 
1383             /**
1384              * Label for button in the device management dialog to open a page with more information
1385              * on the admin's abilities.
1386              */
1387             public static final String QS_DIALOG_VIEW_POLICIES =
1388                     PREFIX + "QS_DIALOG_VIEW_POLICIES";
1389 
1390             /**
1391              * Description for device management dialog to indicate admin abilities.
1392              */
1393             public static final String QS_DIALOG_MANAGEMENT = PREFIX + "QS_DIALOG_MANAGEMENT";
1394 
1395             /**
1396              * Similar to {@link #QS_DIALOG_MANAGEMENT} but accepts the organization name as a
1397              * param.
1398              */
1399             public static final String QS_DIALOG_NAMED_MANAGEMENT =
1400                     PREFIX + "QS_DIALOG_NAMED_MANAGEMENT";
1401 
1402             /**
1403              * Description for the managed device certificate authorities in the device management
1404              * dialog.
1405              */
1406             public static final String QS_DIALOG_MANAGEMENT_CA_CERT =
1407                     PREFIX + "QS_DIALOG_MANAGEMENT_CA_CERT";
1408 
1409             /**
1410              * Description for the work profile certificate authorities in the device management
1411              * dialog.
1412              */
1413             public static final String QS_DIALOG_WORK_PROFILE_CA_CERT =
1414                     PREFIX + "QS_DIALOG_WORK_PROFILE_CA_CERT";
1415 
1416             /**
1417              * Description for the managed device network logging in the device management dialog.
1418              */
1419             public static final String QS_DIALOG_MANAGEMENT_NETWORK =
1420                     PREFIX + "QS_DIALOG_MANAGEMENT_NETWORK";
1421 
1422             /**
1423              * Description for the work profile network logging in the device management dialog.
1424              */
1425             public static final String QS_DIALOG_WORK_PROFILE_NETWORK =
1426                     PREFIX + "QS_DIALOG_WORK_PROFILE_NETWORK";
1427 
1428             /**
1429              * Description for an active VPN in the device management dialog, accepts VPN name as a
1430              * param.
1431              */
1432             public static final String QS_DIALOG_MANAGEMENT_NAMED_VPN =
1433                     PREFIX + "QS_DIALOG_MANAGEMENT_NAMED_VPN";
1434 
1435             /**
1436              * Description for two active VPN in the device management dialog, accepts two VPN names
1437              * as params.
1438              */
1439             public static final String QS_DIALOG_MANAGEMENT_TWO_NAMED_VPN =
1440                     PREFIX + "QS_DIALOG_MANAGEMENT_TWO_NAMED_VPN";
1441 
1442             /**
1443              * Description for an active work profile VPN in the device management dialog, accepts
1444              * VPN name as a param.
1445              */
1446             public static final String QS_DIALOG_WORK_PROFILE_NAMED_VPN =
1447                     PREFIX + "QS_DIALOG_WORK_PROFILE_NAMED_VPN";
1448 
1449             /**
1450              * Description for an active personal profile VPN in the device management dialog,
1451              * accepts VPN name as a param.
1452              */
1453             public static final String QS_DIALOG_PERSONAL_PROFILE_NAMED_VPN =
1454                     PREFIX + "QS_DIALOG_PERSONAL_PROFILE_NAMED_VPN";
1455 
1456             /**
1457              * Content of a dialog shown when the user only has one attempt left to provide the
1458              * correct pin before the work profile is removed.
1459              */
1460             public static final String BIOMETRIC_DIALOG_WORK_PIN_LAST_ATTEMPT =
1461                     PREFIX + "BIOMETRIC_DIALOG_WORK_PIN_LAST_ATTEMPT";
1462 
1463             /**
1464              * Content of a dialog shown when the user only has one attempt left to provide the
1465              * correct pattern before the work profile is removed.
1466              */
1467             public static final String BIOMETRIC_DIALOG_WORK_PATTERN_LAST_ATTEMPT =
1468                     PREFIX + "BIOMETRIC_DIALOG_WORK_PATTERN_LAST_ATTEMPT";
1469 
1470             /**
1471              * Content of a dialog shown when the user only has one attempt left to provide the
1472              * correct password before the work profile is removed.
1473              */
1474             public static final String BIOMETRIC_DIALOG_WORK_PASSWORD_LAST_ATTEMPT =
1475                     PREFIX + "BIOMETRIC_DIALOG_WORK_PASSWORD_LAST_ATTEMPT";
1476 
1477             /**
1478              * Content of a dialog shown when the user has failed to provide the work lock too many
1479              * times and the work profile is removed.
1480              */
1481             public static final String BIOMETRIC_DIALOG_WORK_LOCK_FAILED_ATTEMPTS =
1482                     PREFIX + "BIOMETRIC_DIALOG_WORK_LOCK_FAILED_ATTEMPTS";
1483 
1484             /**
1485              * Accessibility label for managed profile icon in the status bar
1486              */
1487             public static final String STATUS_BAR_WORK_ICON_ACCESSIBILITY =
1488                     PREFIX + "STATUS_BAR_WORK_ICON_ACCESSIBILITY";
1489 
1490             /**
1491              * Text appended to privacy dialog, indicating that the application is in the work
1492              * profile.
1493              */
1494             public static final String ONGOING_PRIVACY_DIALOG_WORK =
1495                     PREFIX + "ONGOING_PRIVACY_DIALOG_WORK";
1496 
1497             /**
1498              * Text on keyguard screen indicating device management.
1499              */
1500             public static final String KEYGUARD_MANAGEMENT_DISCLOSURE =
1501                     PREFIX + "KEYGUARD_MANAGEMENT_DISCLOSURE";
1502 
1503             /**
1504              * Similar to {@link #KEYGUARD_MANAGEMENT_DISCLOSURE} but also accepts organization name
1505              * as a param.
1506              */
1507             public static final String KEYGUARD_NAMED_MANAGEMENT_DISCLOSURE =
1508                     PREFIX + "KEYGUARD_NAMED_MANAGEMENT_DISCLOSURE";
1509 
1510             /**
1511              * Content description for the work profile lock screen.
1512              */
1513             public static final String WORK_LOCK_ACCESSIBILITY = PREFIX + "WORK_LOCK_ACCESSIBILITY";
1514 
1515             /**
1516              * Notification text displayed when screenshots are blocked by an IT admin.
1517              */
1518             public static final String SCREENSHOT_BLOCKED_BY_ADMIN =
1519                     PREFIX + "SCREENSHOT_BLOCKED_BY_ADMIN";
1520 
1521             /**
1522              * Message shown when user is almost at the limit of password attempts where the
1523              * profile will be removed. Accepts number of failed attempts and remaining failed
1524              * attempts as params.
1525              */
1526             public static final String KEYGUARD_DIALOG_FAILED_ATTEMPTS_ALMOST_ERASING_PROFILE =
1527                     PREFIX + "KEYGUARD_DIALOG_FAILED_ATTEMPTS_ALMOST_ERASING_PROFILE";
1528 
1529             /**
1530              * Message shown in dialog when user has exceeded the maximum attempts and the profile
1531              * will be removed. Accepts number of failed attempts as a param.
1532              */
1533             public static final String KEYGUARD_DIALOG_FAILED_ATTEMPTS_ERASING_PROFILE =
1534                     PREFIX + "KEYGUARD_DIALOG_FAILED_ATTEMPTS_ERASING_PROFILE";
1535 
1536             /**
1537              * Monitoring dialog subtitle for the section describing VPN.
1538              */
1539             public static final String QS_DIALOG_MONITORING_VPN_SUBTITLE =
1540                     PREFIX + "QS_DIALOG_MONITORING_VPN_SUBTITLE";
1541 
1542             /**
1543              * Monitoring dialog subtitle for the section describing network logging.
1544              */
1545             public static final String QS_DIALOG_MONITORING_NETWORK_SUBTITLE =
1546                     PREFIX + "QS_DIALOG_MONITORING_NETWORK_SUBTITLE";
1547 
1548             /**
1549              * Monitoring dialog subtitle for the section describing certificate authorities.
1550              */
1551             public static final String QS_DIALOG_MONITORING_CA_CERT_SUBTITLE =
1552                     PREFIX + "QS_DIALOG_MONITORING_CA_CERT_SUBTITLE";
1553         }
1554 
1555         /**
1556          * Class containing the identifiers used to update device management-related system strings
1557          * in the android core package.
1558          *
1559          * @hide
1560          */
1561         public static final class Core {
1562 
Core()1563             private Core() {
1564             }
1565 
1566             private static final String PREFIX = "Core.";
1567             /**
1568              * Notification title when the system deletes the work profile.
1569              */
1570             public static final String WORK_PROFILE_DELETED_TITLE =
1571                     PREFIX + "WORK_PROFILE_DELETED_TITLE";
1572 
1573             /**
1574              * Content text for the "Work profile deleted" notification to indicates that a work
1575              * profile has been deleted because the maximum failed password attempts as been
1576              * reached.
1577              */
1578             public static final String WORK_PROFILE_DELETED_FAILED_PASSWORD_ATTEMPTS_MESSAGE =
1579                     PREFIX + "WORK_PROFILE_DELETED_FAILED_PASSWORD_ATTEMPTS_MESSAGE";
1580 
1581             /**
1582              * Content text for the "Work profile deleted" notification to indicate that a work
1583              * profile has been deleted.
1584              */
1585             public static final String WORK_PROFILE_DELETED_GENERIC_MESSAGE =
1586                     PREFIX + "WORK_PROFILE_DELETED_GENERIC_MESSAGE";
1587 
1588             /**
1589              * Content text for the "Work profile deleted" notification to indicates that a work
1590              * profile has been deleted because the admin of an organization-owned device has
1591              * relinquishes it.
1592              */
1593             public static final String WORK_PROFILE_DELETED_ORG_OWNED_MESSAGE =
1594                     PREFIX + "WORK_PROFILE_DELETED_ORG_OWNED_MESSAGE";
1595 
1596             /**
1597              * Notification title for when personal apps are either blocked or will be blocked
1598              * soon due to a work policy from their admin.
1599              */
1600             public static final String PERSONAL_APP_SUSPENSION_TITLE =
1601                     PREFIX + "PERSONAL_APP_SUSPENSION_TITLE";
1602 
1603             /**
1604              * Content text for the personal app suspension notification to indicate that personal
1605              * apps are blocked due to a work policy from the admin.
1606              */
1607             public static final String PERSONAL_APP_SUSPENSION_MESSAGE =
1608                     PREFIX + "PERSONAL_APP_SUSPENSION_MESSAGE";
1609 
1610             /**
1611              * Content text for the personal app suspension notification to indicate that personal
1612              * apps will be blocked at a particular time due to a work policy from their admin.
1613              * It also explains for how many days the profile is allowed to be off.
1614              * <ul>Takes in the following as params:
1615              * <li> The date that the personal apps will get suspended at</li>
1616              * <li> The time that the personal apps will get suspended at</li>
1617              * <li> The max allowed days for the work profile stay switched off</li>
1618              * </ul>
1619              */
1620             public static final String PERSONAL_APP_SUSPENSION_SOON_MESSAGE =
1621                     PREFIX + "PERSONAL_APP_SUSPENSION_SOON_MESSAGE";
1622 
1623             /**
1624              * Title for the button that turns work profile in the personal app suspension
1625              * notification.
1626              */
1627             public static final String PERSONAL_APP_SUSPENSION_TURN_ON_PROFILE =
1628                     PREFIX + "PERSONAL_APP_SUSPENSION_TURN_ON_PROFILE";
1629 
1630             /**
1631              * A toast message displayed when printing is attempted but disabled by policy, accepts
1632              * admin name as a param.
1633              */
1634             public static final String PRINTING_DISABLED_NAMED_ADMIN =
1635                     PREFIX + "PRINTING_DISABLED_NAMED_ADMIN";
1636 
1637             /**
1638              * Notification title to indicate that the device owner has changed the location
1639              * settings.
1640              */
1641             public static final String LOCATION_CHANGED_TITLE = PREFIX + "LOCATION_CHANGED_TITLE";
1642 
1643             /**
1644              * Content text for the location changed notification to indicate that the device owner
1645              * has changed the location settings.
1646              */
1647             public static final String LOCATION_CHANGED_MESSAGE =
1648                     PREFIX + "LOCATION_CHANGED_MESSAGE";
1649 
1650             /**
1651              * Notification title to indicate that the device is managed and network logging was
1652              * activated by a device owner.
1653              */
1654             public static final String NETWORK_LOGGING_TITLE = PREFIX + "NETWORK_LOGGING_TITLE";
1655 
1656             /**
1657              * Content text for the network logging notification to indicate that the device is
1658              * managed and network logging was activated by a device owner.
1659              */
1660             public static final String NETWORK_LOGGING_MESSAGE = PREFIX + "NETWORK_LOGGING_MESSAGE";
1661 
1662             /**
1663              * Content description of the work profile icon in the notifications.
1664              */
1665             public static final String NOTIFICATION_WORK_PROFILE_CONTENT_DESCRIPTION =
1666                     PREFIX + "NOTIFICATION_WORK_PROFILE_CONTENT_DESCRIPTION";
1667 
1668             /**
1669              * Notification channel name for high-priority alerts from the user's IT admin for key
1670              * updates about the device.
1671              */
1672             public static final String NOTIFICATION_CHANNEL_DEVICE_ADMIN =
1673                     PREFIX + "NOTIFICATION_CHANNEL_DEVICE_ADMIN";
1674 
1675             /**
1676              * Label returned from
1677              * {@link android.content.pm.CrossProfileApps#getProfileSwitchingLabel(UserHandle)}
1678              * that calling app can show to user for the semantic of switching to work profile, and
1679              * accepts the app name as a param.
1680              */
1681             public static final String SWITCH_TO_WORK_LABEL = PREFIX + "SWITCH_TO_WORK_LABEL";
1682 
1683             /**
1684              * Label returned from
1685              * {@link android.content.pm.CrossProfileApps#getProfileSwitchingLabel(UserHandle)}
1686              * that calling app can show to user for the semantic of switching to personal profile,
1687              * and accepts the app name as a param.
1688              */
1689             public static final String SWITCH_TO_PERSONAL_LABEL =
1690                     PREFIX + "SWITCH_TO_PERSONAL_LABEL";
1691 
1692             /**
1693              * Message to show when an intent automatically switches users into the work profile.
1694              */
1695             public static final String FORWARD_INTENT_TO_WORK = PREFIX + "FORWARD_INTENT_TO_WORK";
1696 
1697             /**
1698              * Message to show when an intent automatically switches users into the personal
1699              * profile.
1700              */
1701             public static final String FORWARD_INTENT_TO_PERSONAL =
1702                     PREFIX + "FORWARD_INTENT_TO_PERSONAL";
1703 
1704             /**
1705              * Text for the toast that is shown when the user clicks on a launcher that doesn't
1706              * support the work profile, takes in the launcher name as a param.
1707              */
1708             public static final String RESOLVER_WORK_PROFILE_NOT_SUPPORTED =
1709                     PREFIX + "RESOLVER_WORK_PROFILE_NOT_SUPPORTED";
1710 
1711             /**
1712              * Label for the personal tab in the {@link com.android.internal.app.ResolverActivity).
1713              */
1714             public static final String RESOLVER_PERSONAL_TAB = PREFIX + "RESOLVER_PERSONAL_TAB";
1715 
1716             /**
1717              * Label for the work tab in the {@link com.android.internal.app.ResolverActivity).
1718              */
1719             public static final String RESOLVER_WORK_TAB = PREFIX + "RESOLVER_WORK_TAB";
1720 
1721             /**
1722              * Accessibility Label for the personal tab in the
1723              * {@link com.android.internal.app.ResolverActivity).
1724              */
1725             public static final String RESOLVER_PERSONAL_TAB_ACCESSIBILITY =
1726                     PREFIX + "RESOLVER_PERSONAL_TAB_ACCESSIBILITY";
1727 
1728             /**
1729              * Accessibility Label for the work tab in the
1730              * {@link com.android.internal.app.ResolverActivity).
1731              */
1732             public static final String RESOLVER_WORK_TAB_ACCESSIBILITY =
1733                     PREFIX + "RESOLVER_WORK_TAB_ACCESSIBILITY";
1734 
1735             /**
1736              * Title for resolver screen to let the user know that their IT admin doesn't allow
1737              * them to share this content across profiles.
1738              */
1739             public static final String RESOLVER_CROSS_PROFILE_BLOCKED_TITLE =
1740                     PREFIX + "RESOLVER_CROSS_PROFILE_BLOCKED_TITLE";
1741 
1742             /**
1743              * Description for resolver screen to let the user know that their IT admin doesn't
1744              * allow them to share this content with apps in their personal profile.
1745              */
1746             public static final String RESOLVER_CANT_SHARE_WITH_PERSONAL =
1747                     PREFIX + "RESOLVER_CANT_SHARE_WITH_PERSONAL";
1748 
1749             /**
1750              * Description for resolver screen to let the user know that their IT admin doesn't
1751              * allow them to share this content with apps in their work profile.
1752              */
1753             public static final String RESOLVER_CANT_SHARE_WITH_WORK =
1754                     PREFIX + "RESOLVER_CANT_SHARE_WITH_WORK";
1755 
1756             /**
1757              * Description for resolver screen to let the user know that their IT admin doesn't
1758              * allow them to open this specific content with an app in their personal profile.
1759              */
1760             public static final String RESOLVER_CANT_ACCESS_PERSONAL =
1761                     PREFIX + "RESOLVER_CANT_ACCESS_PERSONAL";
1762 
1763             /**
1764              * Description for resolver screen to let the user know that their IT admin doesn't
1765              * allow them to open this specific content with an app in their work profile.
1766              */
1767             public static final String RESOLVER_CANT_ACCESS_WORK =
1768                     PREFIX + "RESOLVER_CANT_ACCESS_WORK";
1769 
1770             /**
1771              * Title for resolver screen to let the user know that they need to turn on work apps
1772              * in order to share or open content
1773              */
1774             public static final String RESOLVER_WORK_PAUSED_TITLE =
1775                     PREFIX + "RESOLVER_WORK_PAUSED_TITLE";
1776 
1777             /**
1778              * Text on resolver screen to let the user know that their current work apps don't
1779              * support the specific content.
1780              */
1781             public static final String RESOLVER_NO_WORK_APPS = PREFIX + "RESOLVER_NO_WORK_APPS";
1782 
1783             /**
1784              * Text on resolver screen to let the user know that their current personal apps don't
1785              * support the specific content.
1786              */
1787             public static final String RESOLVER_NO_PERSONAL_APPS =
1788                     PREFIX + "RESOLVER_NO_PERSONAL_APPS";
1789 
1790             /**
1791              * Message informing user that the adding the account is disallowed by an administrator.
1792              */
1793             public static final String CANT_ADD_ACCOUNT_MESSAGE =
1794                     PREFIX + "CANT_ADD_ACCOUNT_MESSAGE";
1795 
1796             /**
1797              * Notification shown when device owner silently installs a package.
1798              */
1799             public static final String PACKAGE_INSTALLED_BY_DO = PREFIX + "PACKAGE_INSTALLED_BY_DO";
1800 
1801             /**
1802              * Notification shown when device owner silently updates a package.
1803              */
1804             public static final String PACKAGE_UPDATED_BY_DO = PREFIX + "PACKAGE_UPDATED_BY_DO";
1805 
1806             /**
1807              * Notification shown when device owner silently deleted a package.
1808              */
1809             public static final String PACKAGE_DELETED_BY_DO = PREFIX + "PACKAGE_DELETED_BY_DO";
1810 
1811             /**
1812              * Title for dialog shown when user tries to open a work app when the work profile is
1813              * turned off, confirming that the user wants to turn on access to their
1814              * work apps.
1815              */
1816             public static final String UNLAUNCHABLE_APP_WORK_PAUSED_TITLE =
1817                     PREFIX + "UNLAUNCHABLE_APP_WORK_PAUSED_TITLE";
1818 
1819             /**
1820              * Notification title shown when work profile is credential encrypted and requires
1821              * the user to unlock before it's usable.
1822              */
1823             public static final String PROFILE_ENCRYPTED_TITLE = PREFIX + "PROFILE_ENCRYPTED_TITLE";
1824 
1825             /**
1826              * Notification detail shown when work profile is credential encrypted and requires
1827              * the user to unlock before it's usable.
1828              */
1829             public static final String PROFILE_ENCRYPTED_DETAIL =
1830                     PREFIX + "PROFILE_ENCRYPTED_DETAIL";
1831 
1832             /**
1833              * Notification message shown when work profile is credential encrypted and requires
1834              * the user to unlock before it's usable.
1835              */
1836             public static final String PROFILE_ENCRYPTED_MESSAGE =
1837                     PREFIX + "PROFILE_ENCRYPTED_MESSAGE";
1838 
1839             /**
1840              * Used to badge a string with "Work" for work profile content, e.g. "Work Email".
1841              * Accepts the string to badge as an argument.
1842              * <p>See {@link android.content.pm.PackageManager#getUserBadgedLabel}</p>
1843              */
1844             public static final String WORK_PROFILE_BADGED_LABEL =
1845                     PREFIX + "WORK_PROFILE_BADGED_LABEL";
1846 
1847             /**
1848              * Notification title. This notification lets the user know that they will be unable to
1849              * receive phone calls or texts until the work profile is turned on.
1850              */
1851             public static final String WORK_PROFILE_TELEPHONY_PAUSED_TITLE =
1852                     PREFIX + "WORK_PROFILE_TELEPHONY_UNAVAILABLE_TITLE";
1853 
1854             /**
1855              * Notification text. This notification lets the user know that they will be unable to
1856              * receive phone calls or texts until the work profile is turned on.
1857              */
1858             public static final String WORK_PROFILE_TELEPHONY_PAUSED_BODY =
1859                     PREFIX + "WORK_PROFILE_TELEPHONY_UNAVAILABLE_BODY";
1860 
1861             /**
1862              * Label for notification button. This button lets the user turn the work profile on.
1863              */
1864             public static final String WORK_PROFILE_TELEPHONY_PAUSED_TURN_ON_BUTTON =
1865                     PREFIX + "TURN_ON_WORK_PROFILE_BUTTON_TEXT";
1866 
1867             /**
1868              * Information section shown on a dialog when the user is unable to place a call in
1869              * the personal profile due to admin restrictions, and must choose whether to place
1870              * the call from the work profile or cancel.
1871              */
1872             public static final String MINIRESOLVER_WORK_TELEPHONY_CALL_BLOCKED_INFORMATION =
1873                     PREFIX + "MINIRESOLVER_WORK_TELEPHONY_INFORMATION";
1874 
1875             /**
1876              * Information section shown on a dialog when the user is unable to send a text in
1877              * the personal profile due to admin restrictions, and must choose whether to place
1878              * the call from the work profile or cancel.
1879              */
1880             public static final String MINIRESOLVER_WORK_TELEPHONY_TEXT_BLOCKED_INFORMATION =
1881                     PREFIX + "MINIRESOLVER_WORK_TELEPHONY_INFORMATION";
1882 
1883 
1884             /**
1885              * Button for a dialog shown when the user is unable to place a call in the personal
1886              * profile due to admin restrictions, and must choose whether to place the call from
1887              * the work profile or cancel.
1888              */
1889             public static final String MINIRESOLVER_CALL_FROM_WORK =
1890                     PREFIX + "MINIRESOLVER_CALL_FROM_WORK";
1891 
1892             /**
1893              * Button for a dialog shown when the user has no apps capable of handling an intent
1894              * in the personal profile, and must choose whether to open the intent in a
1895              * cross-profile app in the work profile, or cancel.
1896              */
1897             public static final String MINIRESOLVER_SWITCH_TO_WORK =
1898                     PREFIX + "MINIRESOLVER_SWITCH_TO_WORK";
1899 
1900             /**
1901              * Title for a dialog shown when the user has no apps capable of handling an intent
1902              * in the personal profile, and must choose whether to open the intent in a
1903              * cross-profile app in the work profile, or open in the same profile browser. Accepts
1904              * the app name as a param.
1905              */
1906             public static final String MINIRESOLVER_OPEN_IN_WORK =
1907                     PREFIX + "MINIRESOLVER_OPEN_IN_WORK";
1908 
1909             /**
1910              * Title for a dialog shown when the user has no apps capable of handling an intent
1911              * in the personal profile, and must choose whether to open the intent in a
1912              * cross-profile app in the personal profile, or open in the same profile browser.
1913              * Accepts the app name as a param.
1914              */
1915             public static final String MINIRESOLVER_OPEN_IN_PERSONAL =
1916                     PREFIX + "MINIRESOLVER_OPEN_IN_PERSONAL";
1917 
1918             /**
1919              * Title for a dialog shown when the user has no apps capable of handling an intent
1920              * in the personal profile, and must choose whether to open the intent in a
1921              * cross-profile app in the work profile, or cancel. Accepts the app name as a param.
1922              */
1923             public static final String MINIRESOLVER_OPEN_WORK = PREFIX + "MINIRESOLVER_OPEN_WORK";
1924 
1925             public static final String MINIRESOLVER_USE_WORK_BROWSER =
1926                     PREFIX + "MINIRESOLVER_OPEN_IN_PERSONAL";
1927 
1928             public static final String MINIRESOLVER_USE_PERSONAL_BROWSER =
1929                     PREFIX + "MINIRESOLVER_OPEN_IN_PERSONAL";
1930         }
1931 
1932         /**
1933          * Class containing the identifiers used to update device management-related system strings
1934          * in the Dialer app.
1935          *
1936          * @hide
1937          */
1938         public static final class Telecomm {
1939 
Telecomm()1940             private Telecomm() {
1941             }
1942 
1943             private static final String PREFIX = "Telecomm.";
1944 
1945             /**
1946              * Missed call notification label, used when there's exactly one missed call from work
1947              * contact.
1948              */
1949             public static final String NOTIFICATION_MISSED_WORK_CALL_TITLE =
1950                     PREFIX + "NOTIFICATION_MISSED_WORK_CALL_TITLE";
1951         }
1952 
1953         /**
1954          * Class containing the identifiers used to update device management-related system strings
1955          * for the permission settings.
1956          */
1957         public static final class PermissionSettings {
1958 
PermissionSettings()1959             private PermissionSettings() {
1960             }
1961 
1962             private static final String PREFIX = "PermissionSettings.";
1963 
1964             /**
1965              * Summary of a permission switch in Settings when the background access is denied by an
1966              * admin.
1967              */
1968             public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE =
1969                     PREFIX + "BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1970 
1971             /**
1972              * Summary of a permission switch in Settings when the background access is enabled by
1973              * an admin.
1974              */
1975             public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE =
1976                     PREFIX + "BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1977 
1978             /**
1979              * Summary of a permission switch in Settings when the foreground access is enabled by
1980              * an admin.
1981              */
1982             public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE =
1983                     PREFIX + "FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1984 
1985             /**
1986              * Body of the notification shown to notify the user that the location permission has
1987              * been granted to an app, accepts app name as a param.
1988              */
1989             public static final String LOCATION_AUTO_GRANTED_MESSAGE =
1990                     PREFIX + "LOCATION_AUTO_GRANTED_MESSAGE";
1991         }
1992 
1993         /**
1994          * Class containing the identifiers used to update device management-related system strings
1995          * for the default app settings.
1996          */
1997         public static final class DefaultAppSettings {
1998 
DefaultAppSettings()1999             private DefaultAppSettings() {
2000             }
2001 
2002             private static final String PREFIX = "DefaultAppSettings.";
2003 
2004             /**
2005              * Title for settings page to show default apps for work.
2006              */
2007             public static final String WORK_PROFILE_DEFAULT_APPS_TITLE =
2008                     PREFIX + "WORK_PROFILE_DEFAULT_APPS_TITLE";
2009 
2010             /**
2011              * Summary indicating that a home role holder app is missing work profile support.
2012              */
2013             public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE =
2014                     PREFIX + "HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
2015         }
2016     }
2017 }
2018