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:
@@ -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>
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user