Merge "Fix the work profile's deep link problem" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2b9dd10fa5
@@ -433,7 +433,8 @@ public class SettingsActivity extends SettingsBaseActivity
|
|||||||
final UserManager um = getSystemService(UserManager.class);
|
final UserManager um = getSystemService(UserManager.class);
|
||||||
final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
|
final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
|
||||||
if (userInfo.isManagedProfile()) {
|
if (userInfo.isManagedProfile()) {
|
||||||
trampolineIntent.putExtra(EXTRA_USER_HANDLE, getUser());
|
trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal.class)
|
||||||
|
.putExtra(EXTRA_USER_HANDLE, getUser());
|
||||||
startActivityAsUser(trampolineIntent, um.getPrimaryUser().getUserHandle());
|
startActivityAsUser(trampolineIntent, um.getPrimaryUser().getUserHandle());
|
||||||
} else {
|
} else {
|
||||||
startActivity(trampolineIntent);
|
startActivity(trampolineIntent);
|
||||||
|
@@ -27,9 +27,11 @@ import android.app.ActivityManager;
|
|||||||
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.UserInfo;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.FeatureFlagUtils;
|
import android.util.FeatureFlagUtils;
|
||||||
@@ -153,11 +155,6 @@ public class SettingsHomepageActivity extends FragmentActivity implements
|
|||||||
return mMainFragment;
|
return mMainFragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Whether the activity is showing in two-pane */
|
|
||||||
public boolean isTwoPane() {
|
|
||||||
return mIsTwoPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CategoryMixin getCategoryMixin() {
|
public CategoryMixin getCategoryMixin() {
|
||||||
return mCategoryMixin;
|
return mCategoryMixin;
|
||||||
@@ -166,10 +163,26 @@ public class SettingsHomepageActivity extends FragmentActivity implements
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
mIsEmbeddingActivityEnabled = ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this);
|
||||||
|
if (mIsEmbeddingActivityEnabled) {
|
||||||
|
final UserManager um = getSystemService(UserManager.class);
|
||||||
|
final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
|
||||||
|
if (userInfo.isManagedProfile()) {
|
||||||
|
final Intent intent = new Intent(getIntent())
|
||||||
|
.setClass(this, DeepLinkHomepageActivityInternal.class)
|
||||||
|
.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
|
||||||
|
.putExtra(EXTRA_USER_HANDLE, getUser());
|
||||||
|
intent.removeFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
startActivityAsUser(intent, um.getPrimaryUser().getUserHandle());
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setupEdgeToEdge();
|
setupEdgeToEdge();
|
||||||
setContentView(R.layout.settings_homepage_container);
|
setContentView(R.layout.settings_homepage_container);
|
||||||
|
|
||||||
mIsEmbeddingActivityEnabled = ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this);
|
|
||||||
mSplitController = SplitController.getInstance();
|
mSplitController = SplitController.getInstance();
|
||||||
mIsTwoPane = mSplitController.isActivityEmbedded(this);
|
mIsTwoPane = mSplitController.isActivityEmbedded(this);
|
||||||
|
|
||||||
@@ -423,7 +436,7 @@ public class SettingsHomepageActivity extends FragmentActivity implements
|
|||||||
// To prevent launchDeepLinkIntentToRight again for configuration change.
|
// To prevent launchDeepLinkIntentToRight again for configuration change.
|
||||||
intent.setAction(null);
|
intent.setAction(null);
|
||||||
|
|
||||||
targetIntent.setFlags(targetIntent.getFlags() & ~Intent.FLAG_ACTIVITY_NEW_TASK);
|
targetIntent.removeFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
targetIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
|
targetIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
|
||||||
|
|
||||||
// Sender of intent may want to send intent extra data to the destination of targetIntent.
|
// Sender of intent may want to send intent extra data to the destination of targetIntent.
|
||||||
|
Reference in New Issue
Block a user