Only set embedding rule for top level injection
Only the injected items on the top level pages should always be opened on the right pane, so we should only register the split rule for that part. This will leave flexibilities for those injected items in the subpages. Fixes: 216026158 Test: Go to Passwords & accounts > {account} > Google Account and see the page opened in a full screen/new task. Change-Id: I9f311547854ace410e93fdb4ca394df1079f723c
This commit is contained in:
@@ -171,11 +171,13 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
intent.setAction(action);
|
||||
}
|
||||
// Register the rule for injected apps.
|
||||
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) {
|
||||
|
@@ -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 */);
|
||||
|
Reference in New Issue
Block a user