@@ -266,6 +266,16 @@ public boolean onRequestPermissionsResult(
266266 requestResults .put (
267267 permission ,
268268 determinePermissionStatus (permission ));
269+ } else if (permission == PermissionConstants .PERMISSION_GROUP_USE_FULL_SCREEN_INTENT ) {
270+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .UPSIDE_DOWN_CAKE ) {
271+ NotificationManager notificationManager = (NotificationManager ) context .getSystemService (Context .NOTIFICATION_SERVICE );
272+ int status = notificationManager .canUseFullScreenIntent ()
273+ ? PermissionConstants .PERMISSION_STATUS_GRANTED
274+ : PermissionConstants .PERMISSION_STATUS_DENIED ;
275+ requestResults .put (permission , status );
276+ } else {
277+ requestResults .put (permission , PermissionConstants .PERMISSION_STATUS_GRANTED );
278+ }
269279 } else if (!requestResults .containsKey (permission )) {
270280 requestResults .put (
271281 permission ,
@@ -421,6 +431,10 @@ void requestPermissions(
421431 } else {
422432 requestResults .put (permission , PermissionConstants .PERMISSION_STATUS_DENIED );
423433 }
434+ } else if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .UPSIDE_DOWN_CAKE && permission == PermissionConstants .PERMISSION_GROUP_USE_FULL_SCREEN_INTENT ) {
435+ launchSpecialPermission (
436+ Settings .ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT ,
437+ PermissionConstants .PERMISSION_CODE_USE_FULL_SCREEN_INTENT );
424438 } else {
425439 permissionsToRequest .addAll (names );
426440 pendingRequestCount += names .size ();
@@ -565,7 +579,17 @@ private int determinePermissionStatus(final @PermissionConstants.PermissionGroup
565579 }else {
566580 permissionStatuses .add (PermissionUtils .determineDeniedVariant (activity , name ));
567581 }
568- }else {
582+ } else if (permission == PermissionConstants .PERMISSION_GROUP_USE_FULL_SCREEN_INTENT ) {
583+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .UPSIDE_DOWN_CAKE ) {
584+ NotificationManager notificationManager = (NotificationManager ) context .getSystemService (Context .NOTIFICATION_SERVICE );
585+ int status = notificationManager .canUseFullScreenIntent ()
586+ ? PermissionConstants .PERMISSION_STATUS_GRANTED
587+ : PermissionConstants .PERMISSION_STATUS_DENIED ;
588+ permissionStatuses .add (status );
589+ } else {
590+ permissionStatuses .add (PermissionConstants .PERMISSION_STATUS_GRANTED );
591+ }
592+ } else {
569593 final int permissionStatus = ContextCompat .checkSelfPermission (context , name );
570594 if (permissionStatus != PackageManager .PERMISSION_GRANTED ) {
571595 permissionStatuses .add (PermissionUtils .determineDeniedVariant (activity , name ));
0 commit comments