[Large screen] Fix searched Subsettings back navigation bug
Settings app registers SubSettings SplitPairRule with clearTop true, it will finish Settings app if users click back button on a SubSettings page. This change registers SubSettings SplitPairRule with clearTop true when users click a SubSettings item in Settings home menu. And this change registers SubSettings SplitPairRule with clearTop false when users click a SubSettings item in search result. Bug: 204501750 Test: manual 1. Settings -> Search settings -> search a SubSettings item (e.g., Battery) 2. Click the searched item. 3. Click back button. Change-Id: I6e1862de528e971137ae7087de608bbdd79096b2
This commit is contained in:
@@ -25,6 +25,7 @@ import android.os.Bundle;
|
||||
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SubSettings;
|
||||
import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
/**
|
||||
@@ -53,6 +54,11 @@ public class SearchResultTrampoline extends Activity {
|
||||
args.putInt(EXTRA_SHOW_FRAGMENT_TAB, tab);
|
||||
intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
|
||||
|
||||
// Register SplirPairRule for SubSettings, set clearTop false to prevent unexpected back
|
||||
// navigation behavior.
|
||||
ActivityEmbeddingRulesController.registerSubSettingsPairRuleIfNeeded(this /* context */,
|
||||
false /* clearTop*/);
|
||||
|
||||
// Reroute request to SubSetting.
|
||||
intent.setClass(this /* context */, SubSettings.class)
|
||||
.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
|
||||
|
Reference in New Issue
Block a user