2 panes deep link for large screen devices
This change supports deep link to Settings app internal pages
and external pages outside Settings app.
Apps need android.permission.ALLOW_TWO_PANES_DEEP_LINK_IN_SETTINGS
to send the intent of Settings#ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK.
Settings app will startActivity for the intent from
Settings#EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI.
Bug: 197048599
Test: build pass
Change-Id: Idaf4a8be4603c1308f16fb4e378266c1e52acb40
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d8bbe8f..2c3eb05 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -107,6 +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" />
<application
android:name=".SettingsApplication"
@@ -172,6 +174,17 @@
<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
</activity-alias>
+ <!-- Alias for SettingsHomepageActivity which works for deep link page in 2-panel. -->
+ <activity-alias android:name="DeepLinkHomepageActivity"
+ android:label="@string/settings_label_launcher"
+ android:exported="true"
+ android:targetActivity=".homepage.SettingsHomepageActivity">
+ <intent-filter>
+ <action android:name="android.settings.SETTINGS_LARGE_SCREEN_DEEP_LINK" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity-alias>
+
<receiver android:name=".SettingsInitialize"
android:exported="true">
<intent-filter>