Improve scalability of Settings deep link API
Avoid using 'two pane' and 'large screen' because
they are implementation details exposure.
Bug: 201662312
Test: build pass
Change-Id: Id3555f734ff11e31d2f4db0479331c4f27e9e715
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 674ab61..94cd119 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -107,8 +107,8 @@
<uses-permission android:name="android.permission.READ_DREAM_STATE" />
<uses-permission android:name="android.permission.READ_DREAM_SUPPRESSION" />
<uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION" />
- <uses-permission android:name="android.permission.LAUNCH_TWO_PANE_SETTINGS_DEEP_LINK" />
- <uses-permission android:name="android.permission.ALLOW_PLACE_IN_TWO_PANE_SETTINGS" />
+ <uses-permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" />
+ <uses-permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS" />
<application
android:name=".SettingsApplication"
@@ -178,10 +178,10 @@
<activity-alias android:name="DeepLinkHomepageActivity"
android:label="@string/settings_label_launcher"
android:exported="true"
- android:permission="android.permission.LAUNCH_TWO_PANE_SETTINGS_DEEP_LINK"
+ android:permission="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
android:targetActivity=".homepage.SettingsHomepageActivity">
<intent-filter>
- <action android:name="android.settings.SETTINGS_LARGE_SCREEN_DEEP_LINK" />
+ <action android:name="android.settings.SETTINGS_EMBED_DEEP_LINK_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index c105238..d00bb7a 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -364,13 +364,13 @@
// It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
final Intent trampolineIntent =
- new Intent(android.provider.Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK);
+ new Intent(android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY);
trampolineIntent.replaceExtras(intent);
trampolineIntent.putExtra(
- android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI,
+ android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI,
intent.toUri(Intent.URI_INTENT_SCHEME));
trampolineIntent.putExtra(
- android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY,
+ android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY,
mHighlightMenuKey);
trampolineIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(trampolineIntent);
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 471b1a4..ec3589c 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -16,9 +16,9 @@
package com.android.settings.homepage;
-import static android.provider.Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK;
-import static android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI;
-import static android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY;
+import static android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY;
+import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY;
+import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
import android.animation.LayoutTransition;
import android.app.ActivityManager;
@@ -191,14 +191,14 @@
final Intent intent = getIntent();
if (intent == null || !TextUtils.equals(intent.getAction(),
- ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK)) {
+ ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)) {
return;
}
final String intentUriString = intent.getStringExtra(
- EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI);
+ EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI);
if (TextUtils.isEmpty(intentUriString)) {
- Log.e(TAG, "No EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI to deep link");
+ Log.e(TAG, "No EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI to deep link");
finish();
return;
}
@@ -250,9 +250,9 @@
private String getHighlightMenuKey() {
final Intent intent = getIntent();
if (intent != null && TextUtils.equals(intent.getAction(),
- ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK)) {
+ ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)) {
final String menuKey = intent.getStringExtra(
- EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY);
+ EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY);
if (!TextUtils.isEmpty(menuKey)) {
return menuKey;
}