Add ACTION_LARGE_SCREEN_DEEP_LINK for large screen deep link pages.

System or preinstalled apps can use the intent to show it's Activity
in split mode of Settings app for large screen devices.

Bug: 197048599
Test: build pass
Change-Id: Icb709f12a51687679b23ac7920e60873c537b8bb
This commit is contained in:
Arc Wang
2021-08-18 14:54:53 +08:00
parent 506fa0bebd
commit 2d9568eef1
2 changed files with 54 additions and 0 deletions

View File

@@ -35226,6 +35226,7 @@ package android.provider {
field public static final String ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
field public static final String ACTION_SECURITY_SETTINGS = "android.settings.SECURITY_SETTINGS";
field public static final String ACTION_SETTINGS = "android.settings.SETTINGS";
field public static final String ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK = "android.settings.SETTINGS_LARGE_SCREEN_DEEP_LINK";
field public static final String ACTION_SHOW_REGULATORY_INFO = "android.settings.SHOW_REGULATORY_INFO";
field public static final String ACTION_SHOW_WORK_POLICY_INFO = "android.settings.SHOW_WORK_POLICY_INFO";
field public static final String ACTION_SOUND_SETTINGS = "android.settings.SOUND_SETTINGS";
@@ -35266,6 +35267,9 @@ package android.provider {
field public static final String EXTRA_EASY_CONNECT_ERROR_CODE = "android.provider.extra.EASY_CONNECT_ERROR_CODE";
field public static final String EXTRA_INPUT_METHOD_ID = "input_method_id";
field public static final String EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME = "android.provider.extra.NOTIFICATION_LISTENER_COMPONENT_NAME";
field public static final String EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI = "android.provider.extra.SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI";
field public static final String EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_PENDING_INTENT = "android.provider.extra.SETTINGS_LARGE_SCREEN_DEEP_LINK_PENDING_INTENT";
field public static final String EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY = "android.provider.extra.SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY";
field public static final String EXTRA_SUB_ID = "android.provider.extra.SUB_ID";
field public static final String EXTRA_WIFI_NETWORK_LIST = "android.provider.extra.WIFI_NETWORK_LIST";
field public static final String EXTRA_WIFI_NETWORK_RESULT_LIST = "android.provider.extra.WIFI_NETWORK_RESULT_LIST";

View File

@@ -28,12 +28,14 @@ import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.annotation.UserIdInt;
import android.app.Activity;
import android.app.ActivityThread;
import android.app.AppOpsManager;
import android.app.Application;
import android.app.AutomaticZenRule;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.SearchManager;
import android.app.WallpaperManager;
import android.compat.annotation.UnsupportedAppUsage;
@@ -16941,6 +16943,54 @@ 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: For system or preinstalled apps to show their {@link Activity} in 2-pane
* mode in Settings app on large screen devices.
* <p>
* Input: {@link #EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI} must be included to
* specify the intent for the activity which will be displayed in 2-pane mode in Settings app.
* It's an intent URI string from {@code intent.toUri(Intent.URI_INTENT_SCHEME)}.
*
* Input: {@link #EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY} must be included to
* specify a key that indicates the menu item which will be highlighted on settings home menu.
*
* Input: {@link #EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_PENDING_INTENT} is optional. Apps
* can use the {@link PendingIntent} extra to launch into its private {@link Activity}.
* <p>
* Output: Nothing.
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK =
"android.settings.SETTINGS_LARGE_SCREEN_DEEP_LINK";
/**
* Activity Extra: Specify the intent for the {@link Activity} which will be displayed in 2-pane
* mode in Settings app. It's an intent URI string from
* {@code intent.toUri(Intent.URI_INTENT_SCHEME)}.
* <p>
* This must be passed as an extra field to {@link #ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK}.
*/
public static final String EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI =
"android.provider.extra.SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI";
/**
* Activity Extra: Specify a key that indicates the menu item which should be highlighted on
* settings home menu.
* <p>
* This must be passed as an extra field to {@link #ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK}.
*/
public static final String EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY =
"android.provider.extra.SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY";
/**
* Activity Extra: Apps can use the {@link PendingIntent} extra to launch into its private
* {@link Activity}.
* <p>
* This is an optional extra field to {@link #ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK}.
*/
public static final String EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_PENDING_INTENT =
"android.provider.extra.SETTINGS_LARGE_SCREEN_DEEP_LINK_PENDING_INTENT";
/**
* Performs a strict and comprehensive check of whether a calling package is allowed to
* write/modify system settings, as the condition differs for pre-M, M+, and