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

Commit 241f1a19 authored by Arc Wang's avatar Arc Wang Committed by Automerger Merge Worker
Browse files

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

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

Change-Id: Ia13cb302ed356158acbba7db5205757bbcf89a03
parents d091ce47 4659f73c
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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>
+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;
            }