Do not reuse preference for AccountPreferenceController

Bug: 303905471
Test: N/A
Change-Id: I803e35fc6362c013389e1f2d9e801149c6041bf6
This commit is contained in:
Jacky Wang
2023-11-10 19:58:00 +08:00
parent 56f5e53ae8
commit ec733b477a

View File

@@ -100,7 +100,6 @@ public class AccountPreferenceController extends AbstractPreferenceController
private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>(); private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>();
private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver = private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver =
new ManagedProfileBroadcastReceiver(); new ManagedProfileBroadcastReceiver();
private Preference mProfileNotAvailablePreference;
private String[] mAuthorities; private String[] mAuthorities;
private int mAuthoritiesCount = 0; private int mAuthoritiesCount = 0;
private DashboardFragment mFragment; private DashboardFragment mFragment;
@@ -531,18 +530,19 @@ public class AccountPreferenceController extends AbstractPreferenceController
} else { } else {
profileData.preferenceGroup.removeAll(); profileData.preferenceGroup.removeAll();
// Put a label instead of the accounts list // Put a label instead of the accounts list
if (mProfileNotAvailablePreference == null) { final Preference profileNotAvailablePreference =
mProfileNotAvailablePreference =
new Preference(mFragment.getPreferenceManager().getContext()); new Preference(mFragment.getPreferenceManager().getContext());
} profileNotAvailablePreference.setEnabled(false);
mProfileNotAvailablePreference.setEnabled(false); profileNotAvailablePreference.setIcon(R.drawable.empty_icon);
mProfileNotAvailablePreference.setIcon(R.drawable.empty_icon); profileNotAvailablePreference.setTitle(null);
mProfileNotAvailablePreference.setTitle(null); profileNotAvailablePreference.setSummary(
mProfileNotAvailablePreference.setSummary( mDpm.getResources()
mDpm.getResources().getString( .getString(
WORK_PROFILE_NOT_AVAILABLE, () -> mContext.getString( WORK_PROFILE_NOT_AVAILABLE,
() ->
mContext.getString(
R.string.managed_profile_not_available_label))); R.string.managed_profile_not_available_label)));
profileData.preferenceGroup.addPreference(mProfileNotAvailablePreference); profileData.preferenceGroup.addPreference(profileNotAvailablePreference);
} }
if (profileData.removeWorkProfilePreference != null) { if (profileData.removeWorkProfilePreference != null) {
profileData.preferenceGroup.addPreference(profileData.removeWorkProfilePreference); profileData.preferenceGroup.addPreference(profileData.removeWorkProfilePreference);