Merge "Fix issue for new account not being shown in work profile." into oc-dev am: dd7912e12f
am: 65dbe820bd
Change-Id: I4ced2b59e73ea155528964e927f7a07ed9d9a63f
This commit is contained in:
@@ -533,6 +533,42 @@ public class AccountPreferenceControllerTest {
|
|||||||
verify(preferenceGroup).addPreference(argThat(titleMatches("Acct1")));
|
verify(preferenceGroup).addPreference(argThat(titleMatches("Acct1")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
||||||
|
public void onResume_oneNewAccountType_shouldAddOneAccountPreference() {
|
||||||
|
final List<UserInfo> infos = new ArrayList<>();
|
||||||
|
infos.add(new UserInfo(1, "user 1", 0));
|
||||||
|
infos.add(new UserInfo(2, "user 2", UserInfo.FLAG_MANAGED_PROFILE));
|
||||||
|
when(mUserManager.isManagedProfile()).thenReturn(false);
|
||||||
|
when(mUserManager.isLinkedUser()).thenReturn(false);
|
||||||
|
when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
|
||||||
|
|
||||||
|
AccessiblePreferenceCategory preferenceGroup = mock(AccessiblePreferenceCategory.class);
|
||||||
|
when(preferenceGroup.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
|
||||||
|
when(mAccountHelper.createAccessiblePreferenceCategory(any(Context.class))).thenReturn(
|
||||||
|
preferenceGroup);
|
||||||
|
|
||||||
|
// First time resume will build the UI with no account
|
||||||
|
mController.onResume();
|
||||||
|
|
||||||
|
// Add new account
|
||||||
|
Account[] accounts = {new Account("Acct1", "com.acct1")};
|
||||||
|
when(mAccountManager.getAccountsAsUser(2)).thenReturn(accounts);
|
||||||
|
when(mAccountManager.getAccountsByTypeAsUser(eq("com.acct1"), any(UserHandle.class)))
|
||||||
|
.thenReturn(accounts);
|
||||||
|
|
||||||
|
AuthenticatorDescription[] authDescs = {
|
||||||
|
new AuthenticatorDescription("com.acct1", "com.android.settings",
|
||||||
|
R.string.account_settings_title, 0, 0, 0, false)
|
||||||
|
};
|
||||||
|
when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(authDescs);
|
||||||
|
|
||||||
|
// Resume should show the newly added account
|
||||||
|
mController.onResume();
|
||||||
|
|
||||||
|
verify(preferenceGroup).addPreference(argThat(new PreferenceMatcher("Acct1")));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
||||||
public void onResume_oneAccountRemoved_shouldRemoveOneAccountPreference() {
|
public void onResume_oneAccountRemoved_shouldRemoveOneAccountPreference() {
|
||||||
|
Reference in New Issue
Block a user