From 0f5e75e098188f1864755428ea9424bc37603ea6 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Wed, 10 Nov 2021 12:02:46 +0800 Subject: [PATCH] [Large sceen] Don't go Settings 2-pane deep link flow if not task root When a full screen or a non-Settings-app ActivityA starts ActivityB of a SettingsActivity, splitInfos will be empty and it unexpectedly goes Settings 2-pane deep link flow. This change checks if an Activity is not task root, don't go Settings 2-pane deep link flow. Bug: 205497007 Test: manual SUW -> Vision settings Check if it goes Settings 2-pane deep link flow. Change-Id: I0822fbe71fdde47ce7c070986371a4dfea84992c --- src/com/android/settings/SettingsActivity.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 957efdf7bed..c21625881fa 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -370,8 +370,9 @@ public class SettingsActivity extends SettingsBaseActivity final SplitStateObserver splitStateObserver = new SplitStateObserver(this /* activity*/, true /* listenOnce */, splitInfos -> { - if (!splitInfos.isEmpty()) { - // It's already in 2-pane and no need to go 2-pane deep link flow. + if (!splitInfos.isEmpty() || !SettingsActivity.this.isTaskRoot()) { + // It's already in 2-pane or in a non-empty task, there is no need to go + // 2-pane deep link flow. return; }