[Large screen] Open the search page in full-screen mode
Bug: 205079744 Test: manual Change-Id: I3ac663b42fc0538dcb20d53f456b90ea68c9093d
This commit is contained in:
@@ -17,9 +17,11 @@
|
|||||||
package com.android.settings.activityembedding;
|
package com.android.settings.activityembedding;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.util.FeatureFlagUtils;
|
||||||
import android.util.LayoutDirection;
|
import android.util.LayoutDirection;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -35,9 +37,11 @@ import com.android.settings.Settings;
|
|||||||
import com.android.settings.SubSettings;
|
import com.android.settings.SubSettings;
|
||||||
import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
|
import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
|
||||||
import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
|
import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.homepage.DeepLinkHomepageActivity;
|
import com.android.settings.homepage.DeepLinkHomepageActivity;
|
||||||
import com.android.settings.homepage.SettingsHomepageActivity;
|
import com.android.settings.homepage.SettingsHomepageActivity;
|
||||||
import com.android.settings.homepage.SliceDeepLinkHomepageActivity;
|
import com.android.settings.homepage.SliceDeepLinkHomepageActivity;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -206,11 +210,22 @@ public class ActivityEmbeddingRulesController {
|
|||||||
|
|
||||||
private void registerAlwaysExpandRule() {
|
private void registerAlwaysExpandRule() {
|
||||||
final Set<ActivityFilter> activityFilters = new HashSet<>();
|
final Set<ActivityFilter> activityFilters = new HashSet<>();
|
||||||
|
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
|
||||||
|
final Intent searchIntent = FeatureFactory.getFactory(mContext)
|
||||||
|
.getSearchFeatureProvider()
|
||||||
|
.buildSearchIntent(mContext, SettingsEnums.SETTINGS_HOMEPAGE);
|
||||||
|
addActivityFilter(activityFilters, searchIntent);
|
||||||
|
}
|
||||||
addActivityFilter(activityFilters, FingerprintEnrollIntroduction.class);
|
addActivityFilter(activityFilters, FingerprintEnrollIntroduction.class);
|
||||||
addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
|
addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
|
||||||
mSplitController.registerRule(new ActivityRule(activityFilters, true /* alwaysExpand */));
|
mSplitController.registerRule(new ActivityRule(activityFilters, true /* alwaysExpand */));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void addActivityFilter(Set<ActivityFilter> activityFilters, Intent intent) {
|
||||||
|
activityFilters.add(new ActivityFilter(new ComponentName("*" /* pkg */, "*" /* cls */),
|
||||||
|
intent.getAction()));
|
||||||
|
}
|
||||||
|
|
||||||
private void addActivityFilter(Set<ActivityFilter> activityFilters,
|
private void addActivityFilter(Set<ActivityFilter> activityFilters,
|
||||||
Class<? extends Activity> activityClass) {
|
Class<? extends Activity> activityClass) {
|
||||||
activityFilters.add(new ActivityFilter(new ComponentName(mContext, activityClass),
|
activityFilters.add(new ActivityFilter(new ComponentName(mContext, activityClass),
|
||||||
|
@@ -28,4 +28,6 @@ public class FeatureFlags {
|
|||||||
public static final String CONDITIONAL_CARDS = "settings_conditionals";
|
public static final String CONDITIONAL_CARDS = "settings_conditionals";
|
||||||
public static final String TETHER_ALL_IN_ONE = "settings_tether_all_in_one";
|
public static final String TETHER_ALL_IN_ONE = "settings_tether_all_in_one";
|
||||||
public static final String CONTEXTUAL_HOME = "settings_contextual_home";
|
public static final String CONTEXTUAL_HOME = "settings_contextual_home";
|
||||||
|
public static final String SETTINGS_SEARCH_ALWAYS_EXPAND =
|
||||||
|
"settings_search_always_expand";
|
||||||
}
|
}
|
||||||
|
@@ -25,6 +25,7 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.FeatureFlagUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
@@ -32,6 +33,7 @@ import com.android.settings.SettingsApplication;
|
|||||||
import com.android.settings.SubSettings;
|
import com.android.settings.SubSettings;
|
||||||
import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
|
import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
|
||||||
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
|
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.homepage.SettingsHomepageActivity;
|
import com.android.settings.homepage.SettingsHomepageActivity;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
|
||||||
@@ -97,8 +99,13 @@ public class SearchResultTrampoline extends Activity {
|
|||||||
if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)) {
|
if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)) {
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} else if (isSettingsIntelligence(callingActivity)) {
|
} else if (isSettingsIntelligence(callingActivity)) {
|
||||||
// Register SplitPairRule for SubSettings, set clearTop false to prevent unexpected back
|
if (FeatureFlagUtils.isEnabled(this, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
|
||||||
// navigation behavior.
|
startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
|
||||||
|
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
|
||||||
|
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS));
|
||||||
|
} else {
|
||||||
|
// Register SplitPairRule for SubSettings, set clearTop false to prevent unexpected
|
||||||
|
// back navigation behavior.
|
||||||
ActivityEmbeddingRulesController.registerSubSettingsPairRule(this,
|
ActivityEmbeddingRulesController.registerSubSettingsPairRule(this,
|
||||||
false /* clearTop */);
|
false /* clearTop */);
|
||||||
|
|
||||||
@@ -112,6 +119,7 @@ public class SearchResultTrampoline extends Activity {
|
|||||||
homeActivity.getMainFragment().setHighlightMenuKey(highlightMenuKey,
|
homeActivity.getMainFragment().setHighlightMenuKey(highlightMenuKey,
|
||||||
/* scrollNeeded= */ true);
|
/* scrollNeeded= */ true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Two-pane case
|
// Two-pane case
|
||||||
startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
|
startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
|
||||||
|
@@ -20,9 +20,11 @@ import android.content.BroadcastReceiver;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.FeatureFlagUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.settings.SettingsApplication;
|
import com.android.settings.SettingsApplication;
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.homepage.SettingsHomepageActivity;
|
import com.android.settings.homepage.SettingsHomepageActivity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,6 +38,11 @@ public class SearchStateReceiver extends BroadcastReceiver {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
if (FeatureFlagUtils.isEnabled(context, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
|
||||||
|
// Not needed to show/hide the highlight when search is full screen
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (intent == null) {
|
if (intent == null) {
|
||||||
Log.w(TAG, "Null intent");
|
Log.w(TAG, "Null intent");
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user