From 597784e4558fdea631092bf199285009bb850f82 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 9 Sep 2021 15:59:01 +0800 Subject: [PATCH] Set 2-pane placeholder for all alias of SettingsHomepageActivity SettingsHomepageActivity may be launched by different alias, this change sets placeholder for all these alias to ensure placeholder is present. Bug: 199363383 Test: manual 1. Click Settings icon button in quick setting panel. 2. Launch Settings app deep link, then move it to background, and the launch Settings app. Change-Id: I9ba6dbc5cfa2bac51bf53bb21f8983193ba053b6 --- .../activityembedding/ActivityEmbeddingRulesController.java | 5 +++++ .../android/settings/homepage/SettingsHomepageActivity.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java index 994098083ba..a0f4aad4153 100644 --- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java +++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java @@ -32,6 +32,8 @@ import androidx.window.embedding.SplitPlaceholderRule; import com.android.settings.Settings; import com.android.settings.SubSettings; +import com.android.settings.Utils; +import com.android.settings.homepage.SettingsHomepageActivity; import java.util.HashSet; import java.util.Set; @@ -89,7 +91,10 @@ public class ActivityEmbeddingRulesController { private void registerHomepagePlaceholderRule() { final Set activityFilters = new HashSet<>(); + activityFilters.add(new ActivityFilter(getComponentName(SettingsHomepageActivity.class))); activityFilters.add(new ActivityFilter(getComponentName(Settings.class))); + activityFilters.add(new ActivityFilter(new ComponentName(Utils.SETTINGS_PACKAGE_NAME, + SettingsHomepageActivity.ALIAS_DEEP_LINK))); final Intent intent = new Intent(); intent.setComponent(getComponentName(Settings.NetworkDashboardActivity.class)); final SplitPlaceholderRule placeholderRule = new SplitPlaceholderRule( diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java index 73f0abb1f2c..4a0a912323c 100644 --- a/src/com/android/settings/homepage/SettingsHomepageActivity.java +++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java @@ -62,7 +62,7 @@ public class SettingsHomepageActivity extends FragmentActivity implements public static final String EXTRA_IS_FROM_SETTINGS_HOMEPAGE = "is_from_settings_homepage"; // An alias class name of SettingsHomepageActivity. - private static final String ALIAS_DEEP_LINK = "com.android.settings.DeepLinkHomepageActivity"; + public static final String ALIAS_DEEP_LINK = "com.android.settings.DeepLinkHomepageActivity"; private static final long HOMEPAGE_LOADING_TIMEOUT_MS = 300;