Merge changes from topic "fsi-api-changes"
* changes: Add API: intent to launch app-specific settings page to manage FSI permission Add API: NotificationManager canSendFullScreenIntent
This commit is contained in:
@@ -6717,6 +6717,7 @@ package android.app {
|
||||
method public boolean areNotificationsEnabled();
|
||||
method public boolean areNotificationsPaused();
|
||||
method public boolean canNotifyAsPackage(@NonNull String);
|
||||
method public boolean canSendFullScreenIntent();
|
||||
method public void cancel(int);
|
||||
method public void cancel(@Nullable String, int);
|
||||
method public void cancelAll();
|
||||
@@ -36766,6 +36767,7 @@ package android.provider {
|
||||
field public static final String ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS = "android.settings.MANAGE_ALL_SIM_PROFILES_SETTINGS";
|
||||
field public static final String ACTION_MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS";
|
||||
field public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
|
||||
field public static final String ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT = "android.settings.MANAGE_APP_USE_FULL_SCREEN_INTENT";
|
||||
field public static final String ACTION_MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS";
|
||||
field public static final String ACTION_MANAGE_OVERLAY_PERMISSION = "android.settings.action.MANAGE_OVERLAY_PERMISSION";
|
||||
field public static final String ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING = "android.settings.MANAGE_SUPERVISOR_RESTRICTED_SETTING";
|
||||
|
||||
@@ -31,6 +31,7 @@ import android.compat.annotation.UnsupportedAppUsage;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.PermissionChecker;
|
||||
import android.content.pm.ParceledListSlice;
|
||||
import android.content.pm.ShortcutInfo;
|
||||
import android.graphics.drawable.Icon;
|
||||
@@ -854,6 +855,32 @@ public class NotificationManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the calling app can send fullscreen intents.
|
||||
* <p>From Android {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, apps may not have
|
||||
* permission to use {@link android.Manifest.permission#USE_FULL_SCREEN_INTENT}. If permission
|
||||
* is denied, notification will show up as an expanded heads up notification on lockscreen.
|
||||
* <p> To request access, add the {@link android.Manifest.permission#USE_FULL_SCREEN_INTENT}
|
||||
* permission to your manifest, and use
|
||||
* {@link android.provider.Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT}.
|
||||
*/
|
||||
public boolean canSendFullScreenIntent() {
|
||||
final int result = PermissionChecker.checkPermissionForPreflight(mContext,
|
||||
android.Manifest.permission.USE_FULL_SCREEN_INTENT,
|
||||
mContext.getAttributionSource());
|
||||
|
||||
switch (result) {
|
||||
case PermissionChecker.PERMISSION_GRANTED:
|
||||
return true;
|
||||
case PermissionChecker.PERMISSION_SOFT_DENIED:
|
||||
case PermissionChecker.PERMISSION_HARD_DENIED:
|
||||
return false;
|
||||
default:
|
||||
if (localLOGV) Log.v(TAG, "Unknown PermissionChecker result: " + result);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a group container for {@link NotificationChannel} objects.
|
||||
*
|
||||
|
||||
@@ -19367,6 +19367,18 @@ public final class Settings {
|
||||
public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION =
|
||||
"android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
|
||||
|
||||
/**
|
||||
* Activity Action: Show screen for controlling whether an app can send full screen intents.
|
||||
* <p>
|
||||
* Input: the intent's data URI must specify the application package name for which you want
|
||||
* to manage full screen intents.
|
||||
* <p>
|
||||
* Output: Nothing.
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
|
||||
public static final String ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT =
|
||||
"android.settings.MANAGE_APP_USE_FULL_SCREEN_INTENT";
|
||||
|
||||
/**
|
||||
* Activity Action: For system or preinstalled apps to show their {@link Activity} embedded
|
||||
* in Settings app on large screen devices.
|
||||
|
||||
Reference in New Issue
Block a user