Merge "Improve scalability of Settings deep link API" into sc-v2-dev am: 499d8b26bd am: 4659f73cbe

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15981710

Change-Id: Ia13cb302ed356158acbba7db5205757bbcf89a03
This commit is contained in:
Arc Wang
2021-10-19 04:28:19 +00:00
committed by Automerger Merge Worker
3 changed files with 15 additions and 15 deletions

View File

@@ -108,8 +108,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"
@@ -177,10 +177,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>

View File

@@ -364,13 +364,13 @@ public class SettingsActivity extends SettingsBaseActivity
// 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);

View File

@@ -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 @@ public class SettingsHomepageActivity extends FragmentActivity implements
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 @@ public class SettingsHomepageActivity extends FragmentActivity implements
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;
}