Merge "Fix sometimes deep link does not show in 2-pane" into sc-v2-dev

This commit is contained in:
Arc Wang
2021-09-22 13:34:10 +00:00
committed by Android (Google) Code Review

View File

@@ -24,7 +24,6 @@ import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.FeatureFlagUtils; import android.util.FeatureFlagUtils;
import android.util.Log; import android.util.Log;
@@ -40,6 +39,7 @@ import androidx.fragment.app.FragmentTransaction;
import androidx.window.embedding.SplitController; import androidx.window.embedding.SplitController;
import com.android.settings.R; import com.android.settings.R;
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.CategoryMixin;
@@ -180,12 +180,12 @@ public class SettingsHomepageActivity extends FragmentActivity implements
final Intent intent = getIntent(); final Intent intent = getIntent();
if (intent == null || !TextUtils.equals(intent.getAction(), if (intent == null || !TextUtils.equals(intent.getAction(),
Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK)) { android.provider.Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK)) {
return; return;
} }
final String intentUriString = intent.getStringExtra( final String intentUriString = intent.getStringExtra(
Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI); android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI);
if (TextUtils.isEmpty(intentUriString)) { if (TextUtils.isEmpty(intentUriString)) {
Log.e(TAG, "No EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI to deep link"); Log.e(TAG, "No EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI to deep link");
finish(); finish();
@@ -215,12 +215,17 @@ public class SettingsHomepageActivity extends FragmentActivity implements
targetIntent.putExtra(EXTRA_IS_FROM_SETTINGS_HOMEPAGE, true); targetIntent.putExtra(EXTRA_IS_FROM_SETTINGS_HOMEPAGE, true);
// Set 2-pane pair rule for the external deep link page. // Set 2-pane pair rule for the deep link page.
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,
true /* finishPrimaryWithSecondary */, true /* finishPrimaryWithSecondary */,
true /* finishSecondaryWithPrimary */); true /* finishSecondaryWithPrimary */);
ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
new ComponentName(Settings.class.getPackageName(), Settings.class.getName()),
targetComponentName,
true /* finishPrimaryWithSecondary */,
true /* finishSecondaryWithPrimary */);
startActivity(targetIntent); startActivity(targetIntent);
} }