Merge "Add current user handle to tile intent in account detail page."
This commit is contained in:
committed by
Android (Google) Code Review
commit
158fd441ff
@@ -15,11 +15,14 @@
|
||||
*/
|
||||
package com.android.settings.accounts;
|
||||
|
||||
import static android.content.Intent.EXTRA_USER;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.app.Activity;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
@@ -56,6 +59,8 @@ public class AccountDetailDashboardFragment extends DashboardFragment {
|
||||
String mAccountType;
|
||||
private AccountSyncPreferenceController mAccountSynController;
|
||||
private RemoveAccountPreferenceController mRemoveAccountController;
|
||||
@VisibleForTesting
|
||||
UserHandle mUserHandle;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
@@ -63,7 +68,7 @@ public class AccountDetailDashboardFragment extends DashboardFragment {
|
||||
getPreferenceManager().setPreferenceComparisonCallback(null);
|
||||
Bundle args = getArguments();
|
||||
final Activity activity = getActivity();
|
||||
UserHandle userHandle = Utils.getSecureTargetUser(activity.getActivityToken(),
|
||||
mUserHandle = Utils.getSecureTargetUser(activity.getActivityToken(),
|
||||
(UserManager) getSystemService(Context.USER_SERVICE), args,
|
||||
activity.getIntent().getExtras());
|
||||
if (args != null) {
|
||||
@@ -77,8 +82,8 @@ public class AccountDetailDashboardFragment extends DashboardFragment {
|
||||
mAccountType = args.getString(KEY_ACCOUNT_TYPE);
|
||||
}
|
||||
}
|
||||
mAccountSynController.init(mAccount, userHandle);
|
||||
mRemoveAccountController.init(mAccount, userHandle);
|
||||
mAccountSynController.init(mAccount, mUserHandle);
|
||||
mRemoveAccountController.init(mAccount, mUserHandle);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -154,7 +159,9 @@ public class AccountDetailDashboardFragment extends DashboardFragment {
|
||||
}
|
||||
final boolean display = mAccountType.equals(metadata.getString(METADATA_IA_ACCOUNT));
|
||||
if (display) {
|
||||
tile.getIntent().putExtra(EXTRA_ACCOUNT_NAME, mAccount.name);
|
||||
final Intent intent = tile.getIntent();
|
||||
intent.putExtra(EXTRA_ACCOUNT_NAME, mAccount.name);
|
||||
intent.putExtra(EXTRA_USER, mUserHandle);
|
||||
}
|
||||
return display;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.dashboard;
|
||||
|
||||
import static android.content.Intent.EXTRA_USER;
|
||||
|
||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON_URI;
|
||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
|
||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY_URI;
|
||||
@@ -29,6 +31,7 @@ import android.content.pm.PackageManager;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.ArrayMap;
|
||||
@@ -239,7 +242,14 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
mMetricsFeatureProvider.logDashboardStartIntent(mContext, intent, sourceMetricCategory);
|
||||
activity.startActivityForResultAsUser(intent, 0, tile.userHandle.get(0));
|
||||
} else {
|
||||
ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile);
|
||||
final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER);
|
||||
if (userHandle != null && tile.userHandle.contains(userHandle)) {
|
||||
mMetricsFeatureProvider.logDashboardStartIntent(
|
||||
mContext, intent, sourceMetricCategory);
|
||||
activity.startActivityForResultAsUser(intent, 0, userHandle);
|
||||
} else {
|
||||
ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user