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);
|
intent.setAction(action);
|
||||||
}
|
}
|
||||||
// Register the rule for injected apps.
|
// Register the rule for injected apps.
|
||||||
|
if (fragment instanceof TopLevelSettings) {
|
||||||
ActivityEmbeddingRulesController.registerTwoPanePairRuleForSettingsHome(
|
ActivityEmbeddingRulesController.registerTwoPanePairRuleForSettingsHome(
|
||||||
mContext,
|
mContext,
|
||||||
new ComponentName(tile.getPackageName(), tile.getComponentName()),
|
new ComponentName(tile.getPackageName(), tile.getComponentName()),
|
||||||
action,
|
action,
|
||||||
true /* clearTop */);
|
true /* clearTop */);
|
||||||
|
}
|
||||||
pref.setOnPreferenceClickListener(preference -> {
|
pref.setOnPreferenceClickListener(preference -> {
|
||||||
TopLevelHighlightMixin highlightMixin = null;
|
TopLevelHighlightMixin highlightMixin = null;
|
||||||
if (fragment instanceof TopLevelSettings
|
if (fragment instanceof TopLevelSettings
|
||||||
@@ -442,11 +444,6 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
|
ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
|
||||||
mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
|
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()) {
|
if (tile.userHandle == null || tile.isPrimaryProfileOnly()) {
|
||||||
activity.startActivity(intent);
|
activity.startActivity(intent);
|
||||||
} else if (tile.userHandle.size() == 1) {
|
} else if (tile.userHandle.size() == 1) {
|
||||||
|
@@ -97,7 +97,7 @@ public class ProfileSelectDialog extends DialogFragment implements OnClickListen
|
|||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
final UserHandle user = mSelectedTile.userHandle.get(which);
|
final UserHandle user = mSelectedTile.userHandle.get(which);
|
||||||
// Show menu on top level items.
|
// Show menu on top level items.
|
||||||
final Intent intent = mSelectedTile.getIntent();
|
final Intent intent = new Intent(mSelectedTile.getIntent());
|
||||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
||||||
.logStartedIntentWithProfile(intent, mSourceMetricCategory,
|
.logStartedIntentWithProfile(intent, mSourceMetricCategory,
|
||||||
which == 1 /* isWorkProfile */);
|
which == 1 /* isWorkProfile */);
|
||||||
|
Reference in New Issue
Block a user