Merge "Support the managed profile deep links for large screen" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9c3c55ecd0
@@ -34,6 +34,7 @@ import android.content.SharedPreferences;
|
|||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
|
import android.content.pm.UserInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.Resources.Theme;
|
import android.content.res.Resources.Theme;
|
||||||
import android.graphics.drawable.Icon;
|
import android.graphics.drawable.Icon;
|
||||||
@@ -152,6 +153,8 @@ public class SettingsActivity extends SettingsBaseActivity
|
|||||||
*/
|
*/
|
||||||
public static final String EXTRA_IS_FROM_SLICE = "is_from_slice";
|
public static final String EXTRA_IS_FROM_SLICE = "is_from_slice";
|
||||||
|
|
||||||
|
public static final String EXTRA_USER_HANDLE = "user_handle";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Personal or Work profile tab of {@link ProfileSelectFragment}
|
* Personal or Work profile tab of {@link ProfileSelectFragment}
|
||||||
* <p>0: Personal tab.
|
* <p>0: Personal tab.
|
||||||
@@ -427,7 +430,14 @@ public class SettingsActivity extends SettingsBaseActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
startActivity(trampolineIntent);
|
final UserManager um = getSystemService(UserManager.class);
|
||||||
|
final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
|
||||||
|
if (userInfo.isManagedProfile()) {
|
||||||
|
trampolineIntent.putExtra(EXTRA_USER_HANDLE, getUser());
|
||||||
|
startActivityAsUser(trampolineIntent, um.getPrimaryUser().getUserHandle());
|
||||||
|
} else {
|
||||||
|
startActivity(trampolineIntent);
|
||||||
|
}
|
||||||
} catch (ActivityNotFoundException e) {
|
} catch (ActivityNotFoundException e) {
|
||||||
Log.e(LOG_TAG, "Deep link homepage is not available to show 2-pane UI");
|
Log.e(LOG_TAG, "Deep link homepage is not available to show 2-pane UI");
|
||||||
return false;
|
return false;
|
||||||
|
@@ -20,6 +20,8 @@ import static android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY
|
|||||||
import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY;
|
import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY;
|
||||||
import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
|
import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
|
||||||
|
|
||||||
|
import static com.android.settings.SettingsActivity.EXTRA_USER_HANDLE;
|
||||||
|
|
||||||
import android.animation.LayoutTransition;
|
import android.animation.LayoutTransition;
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
@@ -27,6 +29,7 @@ import android.content.ComponentName;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.UserHandle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.FeatureFlagUtils;
|
import android.util.FeatureFlagUtils;
|
||||||
@@ -449,7 +452,13 @@ public class SettingsHomepageActivity extends FragmentActivity implements
|
|||||||
SplitRule.FINISH_ALWAYS,
|
SplitRule.FINISH_ALWAYS,
|
||||||
SplitRule.FINISH_ALWAYS,
|
SplitRule.FINISH_ALWAYS,
|
||||||
true /* clearTop */);
|
true /* clearTop */);
|
||||||
startActivity(targetIntent);
|
|
||||||
|
final UserHandle user = intent.getParcelableExtra(EXTRA_USER_HANDLE, UserHandle.class);
|
||||||
|
if (user != null) {
|
||||||
|
startActivityAsUser(targetIntent, user);
|
||||||
|
} else {
|
||||||
|
startActivity(targetIntent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getHighlightMenuKey() {
|
private String getHighlightMenuKey() {
|
||||||
|
Reference in New Issue
Block a user