@@ -78,7 +78,10 @@ final class ShellCommand {
78
78
private static final String CMD_GET_PASSWORD_QUALITY = "get-password-quality" ;
79
79
private static final String CMD_TRANSFER_OWNERSHIP = "transfer-ownership" ;
80
80
private static final String CMD_SET_SUSPENDED_PACKAGES = "set-suspended-packages" ;
81
- private static final String CMD_LIST_PACKAGE_SUSPENDED = "list-suspended-packages" ;
81
+ private static final String CMD_IS_SUSPENDED_PACKAGE = "is-suspended-packages" ;
82
+ private static final String CMD_SET_PERSONAL_APPS_SUSPENDED = "set-personal-apps-suspended" ;
83
+ private static final String CMD_GET_PERSONAL_APPS_SUSPENDED_REASONS
84
+ = "get-personal-apps-suspended-reasons" ;
82
85
private static final String CMD_SET_HIDDEN_PACKAGE = "set-hidden-package" ;
83
86
private static final String CMD_IS_HIDDEN_PACKAGE = "is-hidden-package" ;
84
87
private static final String CMD_SET_LOCK_TASK_PACKAGES = "set-lock-task-packages" ;
@@ -198,8 +201,14 @@ public void run() {
198
201
case CMD_SET_SUSPENDED_PACKAGES :
199
202
execute (() -> setSuspendedPackages ());
200
203
break ;
201
- case CMD_LIST_PACKAGE_SUSPENDED :
202
- execute (() -> listSuspendedPackages ());
204
+ case CMD_IS_SUSPENDED_PACKAGE :
205
+ execute (() -> isSuspendedPackage ());
206
+ break ;
207
+ case CMD_SET_PERSONAL_APPS_SUSPENDED :
208
+ execute (() -> setPersonalAppsSuspended ());
209
+ break ;
210
+ case CMD_GET_PERSONAL_APPS_SUSPENDED_REASONS :
211
+ execute (() -> getPersonalAppsSuspendedReasons ());
203
212
break ;
204
213
case CMD_SET_HIDDEN_PACKAGE :
205
214
execute (() -> setHiddenPackage ());
@@ -231,6 +240,8 @@ public void run() {
231
240
private void dumpState () {
232
241
mWriter .printf ("isDeviceOwner: %b\n " , mDevicePolicyManagerGateway .isDeviceOwnerApp ());
233
242
mWriter .printf ("isProfileOwner: %b\n " , mDevicePolicyManagerGateway .isProfileOwnerApp ());
243
+ mWriter .printf ("isOrganizationOwnedDeviceWithManagedProfile: %b\n " ,
244
+ mDevicePolicyManagerGateway .isOrganizationOwnedDeviceWithManagedProfile ());
234
245
}
235
246
236
247
private void showUsage () {
@@ -289,7 +300,11 @@ private void showUsage() {
289
300
mWriter .printf ("\t %s <SUSPENDED> <PKG1> [PKG2] [PGKN] - suspend / unsuspend the given "
290
301
+ "packages\n " , CMD_SET_SUSPENDED_PACKAGES );
291
302
mWriter .printf ("\t %s <PKG1> [PKG2] [PKGN] - checks if the given packages are suspended\n " ,
292
- CMD_LIST_PACKAGE_SUSPENDED );
303
+ CMD_IS_SUSPENDED_PACKAGE );
304
+ mWriter .printf ("\t %s <SUSPENDED> - suspend / unsuspend personal apps\n " ,
305
+ CMD_SET_PERSONAL_APPS_SUSPENDED );
306
+ mWriter .printf ("\t %s - gets the reasons for suspending personal apps\n " ,
307
+ CMD_GET_PERSONAL_APPS_SUSPENDED_REASONS );
293
308
mWriter .printf ("\t %s <PKG> <HIDDEN> - hide / unhide the given package\n " ,
294
309
CMD_SET_HIDDEN_PACKAGE );
295
310
mWriter .printf ("\t %s <PKG> - checks if the given package is hidden\n " ,
@@ -587,7 +602,7 @@ private void setSuspendedPackages() {
587
602
(e ) -> onError (e , "Error settings %s to %s" , printableNames , printableStatus ));
588
603
}
589
604
590
- private void listSuspendedPackages () {
605
+ private void isSuspendedPackage () {
591
606
getListFromAllArgs ().forEach ((packageName ) -> {
592
607
try {
593
608
boolean suspended = mDevicePolicyManagerGateway .isPackageSuspended (packageName );
@@ -625,6 +640,24 @@ private void isHiddenPackage() {
625
640
}
626
641
}
627
642
643
+ private void setPersonalAppsSuspended () {
644
+ boolean suspended = Boolean .parseBoolean (mArgs [1 ]);
645
+ String printableStatus = suspendedToString (suspended );
646
+
647
+ Log .i (TAG , "setPersonalAppsSuspended(): " + printableStatus );
648
+
649
+ mDevicePolicyManagerGateway .setPersonalAppsSuspended (suspended ,
650
+ (v ) -> onSuccess ("Set personal apps to %s" , printableStatus ),
651
+ (e ) -> onError (e , "Error setting personal apps to %s" , printableStatus ));
652
+ }
653
+
654
+ private void getPersonalAppsSuspendedReasons () {
655
+ int reasons = mDevicePolicyManagerGateway .getPersonalAppsSuspendedReasons ();
656
+ String printableReasons = Util .personalAppsSuspensionReasonToString (reasons );
657
+
658
+ mWriter .printf ("%s (%d)\n " , printableReasons , reasons );
659
+ }
660
+
628
661
private void setLockTaskPackages () {
629
662
String [] packages = getArrayFromArgs (/* index= */ 1 );
630
663
0 commit comments