Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 499d8b26 authored by Arc Wang's avatar Arc Wang Committed by Android (Google) Code Review
Browse files

Merge "Improve scalability of Settings deep link API" into sc-v2-dev

parents d67e9702 8b2dd657
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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>
+3 −3
Original line number Diff line number Diff line
@@ -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);
+8 −8
Original line number Diff line number Diff line
@@ -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;
            }