Merge "[Large screen] Fix SplitPaitRule not match for deep link problem" into sc-v2-dev
This commit is contained in:
@@ -67,17 +67,21 @@ public class ActivityEmbeddingRulesController {
|
|||||||
registerTwoPanePairRule(mContext,
|
registerTwoPanePairRule(mContext,
|
||||||
getComponentName(Settings.class),
|
getComponentName(Settings.class),
|
||||||
getComponentName(SubSettings.class),
|
getComponentName(SubSettings.class),
|
||||||
|
null /* secondaryIntentAction */,
|
||||||
true /* finishPrimaryWithSecondary */,
|
true /* finishPrimaryWithSecondary */,
|
||||||
true /* finishSecondaryWithPrimary */);
|
true /* finishSecondaryWithPrimary */);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Register a SplitPairRule for 2-pane. */
|
/** Register a SplitPairRule for 2-pane. */
|
||||||
public static void registerTwoPanePairRule(Context context,
|
public static void registerTwoPanePairRule(Context context,
|
||||||
ComponentName primary, ComponentName secondary,
|
ComponentName primaryComponent,
|
||||||
boolean finishPrimaryWithSecondary, boolean finishSecondaryWithPrimary) {
|
ComponentName secondaryComponent,
|
||||||
|
String secondaryIntentAction,
|
||||||
|
boolean finishPrimaryWithSecondary,
|
||||||
|
boolean finishSecondaryWithPrimary) {
|
||||||
final Set<SplitPairFilter> filters = new HashSet<>();
|
final Set<SplitPairFilter> filters = new HashSet<>();
|
||||||
filters.add(new SplitPairFilter(primary, secondary,
|
filters.add(new SplitPairFilter(primaryComponent, secondaryComponent,
|
||||||
null /* secondaryActivityIntentAction */));
|
secondaryIntentAction));
|
||||||
|
|
||||||
SplitController.getInstance().registerRule(new SplitPairRule(filters,
|
SplitController.getInstance().registerRule(new SplitPairRule(filters,
|
||||||
finishPrimaryWithSecondary,
|
finishPrimaryWithSecondary,
|
||||||
|
@@ -18,11 +18,9 @@ package com.android.settings.homepage;
|
|||||||
|
|
||||||
import android.animation.LayoutTransition;
|
import android.animation.LayoutTransition;
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.PendingIntent;
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.FeatureFlagUtils;
|
import android.util.FeatureFlagUtils;
|
||||||
@@ -36,16 +34,15 @@ import androidx.fragment.app.Fragment;
|
|||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
import androidx.window.embedding.SplitController;
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Settings;
|
import com.android.settings.Settings;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.accounts.AvatarViewMixin;
|
import com.android.settings.accounts.AvatarViewMixin;
|
||||||
import com.android.settings.core.CategoryMixin;
|
|
||||||
import com.android.settings.core.FeatureFlags;
|
|
||||||
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.CategoryMixin;
|
||||||
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
|
import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
|
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
|
||||||
@@ -207,6 +204,7 @@ public class SettingsHomepageActivity extends FragmentActivity implements
|
|||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
targetIntent.setComponent(targetComponentName);
|
||||||
|
|
||||||
// To prevent launchDeepLinkIntentToRight again for configuration change.
|
// To prevent launchDeepLinkIntentToRight again for configuration change.
|
||||||
intent.setAction(null);
|
intent.setAction(null);
|
||||||
@@ -223,11 +221,13 @@ public class SettingsHomepageActivity extends FragmentActivity implements
|
|||||||
ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
|
ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
|
||||||
new ComponentName(Utils.SETTINGS_PACKAGE_NAME, ALIAS_DEEP_LINK),
|
new ComponentName(Utils.SETTINGS_PACKAGE_NAME, ALIAS_DEEP_LINK),
|
||||||
targetComponentName,
|
targetComponentName,
|
||||||
|
targetIntent.getAction(),
|
||||||
true /* finishPrimaryWithSecondary */,
|
true /* finishPrimaryWithSecondary */,
|
||||||
true /* finishSecondaryWithPrimary */);
|
true /* finishSecondaryWithPrimary */);
|
||||||
ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
|
ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
|
||||||
new ComponentName(Settings.class.getPackageName(), Settings.class.getName()),
|
new ComponentName(Settings.class.getPackageName(), Settings.class.getName()),
|
||||||
targetComponentName,
|
targetComponentName,
|
||||||
|
targetIntent.getAction(),
|
||||||
true /* finishPrimaryWithSecondary */,
|
true /* finishPrimaryWithSecondary */,
|
||||||
true /* finishSecondaryWithPrimary */);
|
true /* finishSecondaryWithPrimary */);
|
||||||
startActivity(targetIntent);
|
startActivity(targetIntent);
|
||||||
|
Reference in New Issue
Block a user