Merge "Only set embedding rule for top level injection"

This commit is contained in:
TreeHugger Robot
2022-02-14 10:24:56 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 11 deletions

View File

@@ -171,11 +171,13 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
intent.setAction(action);
}
// Register the rule for injected apps.
ActivityEmbeddingRulesController.registerTwoPanePairRuleForSettingsHome(
mContext,
new ComponentName(tile.getPackageName(), tile.getComponentName()),
action,
true /* clearTop */);
if (fragment instanceof TopLevelSettings) {
ActivityEmbeddingRulesController.registerTwoPanePairRuleForSettingsHome(
mContext,
new ComponentName(tile.getPackageName(), tile.getComponentName()),
action,
true /* clearTop */);
}
pref.setOnPreferenceClickListener(preference -> {
TopLevelHighlightMixin highlightMixin = null;
if (fragment instanceof TopLevelSettings
@@ -442,11 +444,6 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
//TODO(b/201970810): Add test cases.
if (tile.isNewTask(mContext)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
if (tile.userHandle == null || tile.isPrimaryProfileOnly()) {
activity.startActivity(intent);
} else if (tile.userHandle.size() == 1) {

View File

@@ -97,7 +97,7 @@ public class ProfileSelectDialog extends DialogFragment implements OnClickListen
public void onClick(DialogInterface dialog, int which) {
final UserHandle user = mSelectedTile.userHandle.get(which);
// Show menu on top level items.
final Intent intent = mSelectedTile.getIntent();
final Intent intent = new Intent(mSelectedTile.getIntent());
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
.logStartedIntentWithProfile(intent, mSourceMetricCategory,
which == 1 /* isWorkProfile */);