Merge "Guest mode UX flow updates to user settings"

This commit is contained in:
Kedar Chitnis
2022-03-24 11:55:17 +00:00
committed by Android (Google) Code Review
13 changed files with 915 additions and 118 deletions

View File

@@ -56,6 +56,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import androidx.fragment.app.FragmentActivity;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
@@ -152,6 +153,8 @@ public class UserSettingsTest {
ReflectionHelpers.setField(mFragment, "mDefaultIconDrawable", mDefaultIconDrawable);
ReflectionHelpers.setField(mFragment, "mAddingUser", false);
ReflectionHelpers.setField(mFragment, "mMetricsFeatureProvider", mMetricsFeatureProvider);
ReflectionHelpers.setField(mFragment, "mRemoveGuestOnExitPreferenceController",
mock(RemoveGuestOnExitPreferenceController.class));
doReturn(mUserManager).when(mActivity).getSystemService(UserManager.class);
doReturn(mPackageManager).when(mActivity).getPackageManager();
@@ -178,6 +181,11 @@ public class UserSettingsTest {
mFragment.mAddSupervisedUser = mAddSupervisedUserPreference;
mFragment.mAddGuest = mAddGuestPreference;
mFragment.mUserListCategory = mock(PreferenceCategory.class);
mFragment.mGuestUserCategory = mock(PreferenceCategory.class);
mFragment.mGuestCategory = mock(PreferenceCategory.class);
mFragment.mGuestResetPreference = mock(Preference.class);
mFragment.mGuestExitPreference = mock(Preference.class);
mFragment.mGuestInfoPreference = mock(Preference.class);
}
@After
@@ -219,7 +227,7 @@ public class UserSettingsTest {
@Test
public void testExitGuest_ShouldLogAction() {
mUserCapabilities.mIsGuest = true;
mFragment.exitGuest();
mFragment.clearAndExitGuest();
verify(mMetricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED));
}
@@ -227,7 +235,7 @@ public class UserSettingsTest {
@Test
public void testExitGuestWhenNotGuest_ShouldNotLogAction() {
mUserCapabilities.mIsGuest = false;
mFragment.exitGuest();
mFragment.clearAndExitGuest();
verify(mMetricsFeatureProvider, never()).action(any(),
eq(SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED));
}
@@ -323,7 +331,6 @@ public class UserSettingsTest {
verify(mAddGuestPreference).setVisible(true);
verify(mAddGuestPreference).setEnabled(true);
verify(mAddGuestPreference).setIcon(any(Drawable.class));
verify(mAddGuestPreference).setSelectable(true);
}
@@ -371,7 +378,6 @@ public class UserSettingsTest {
verify(mAddGuestPreference).setVisible(true);
verify(mAddGuestPreference).setEnabled(false);
verify(mAddGuestPreference).setIcon(any(Drawable.class));
verify(mAddGuestPreference).setSelectable(true);
}
@@ -473,9 +479,9 @@ public class UserSettingsTest {
mFragment.updateUserList();
ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
verify(mFragment.mUserListCategory, times(2))
verify(mFragment.mGuestUserCategory, times(1))
.addPreference(captor.capture());
UserPreference guestPref = captor.getAllValues().get(1);
UserPreference guestPref = captor.getAllValues().get(0);
assertThat(guestPref.getUserId()).isEqualTo(INACTIVE_GUEST_USER_ID);
assertThat(guestPref.getTitle()).isEqualTo("Guest");
assertThat(guestPref.getIcon()).isNotNull();
@@ -595,9 +601,9 @@ public class UserSettingsTest {
mFragment.updateUserList();
ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
verify(mFragment.mUserListCategory, times(2))
verify(mFragment.mGuestUserCategory, times(1))
.addPreference(captor.capture());
UserPreference userPref = captor.getAllValues().get(1);
UserPreference userPref = captor.getAllValues().get(0);
assertThat(userPref.getUserId()).isEqualTo(INACTIVE_GUEST_USER_ID);
assertThat(userPref.getSummary()).isNull();
}