Fix testcase error

Fixes: 144832138
Fixes: 144831580
Test: robolectric
Change-Id: I01efc467cf75b5beb2d2dd23188a8fa7d67f32ed
This commit is contained in:
Raff Tsai
2019-11-21 00:57:05 +08:00
parent bb32051ce0
commit 21c466ff5b
3 changed files with 31 additions and 3 deletions

View File

@@ -190,7 +190,8 @@ public class SecondaryUserController extends AbstractPreferenceController implem
}
}
private static class NoSecondaryUserController extends AbstractPreferenceController implements
@VisibleForTesting
static class NoSecondaryUserController extends AbstractPreferenceController implements
PreferenceControllerMixin {
public NoSecondaryUserController(Context context) {
super(context);
@@ -214,6 +215,5 @@ public class SecondaryUserController extends AbstractPreferenceController implem
public String getPreferenceKey() {
return null;
}
}
}

View File

@@ -30,11 +30,13 @@ import static org.mockito.Mockito.when;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.util.FeatureFlagUtils;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.android.settings.core.FeatureFlags;
import com.android.settings.core.OnActivityResultListener;
import com.android.settings.testutils.FakeFeatureFactory;
@@ -65,6 +67,8 @@ public class SettingsActivityTest {
mContext = RuntimeEnvironment.application;
mActivity = spy(new SettingsActivity());
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, false);
}
@Test

View File

@@ -29,12 +29,14 @@ import android.content.Context;
import android.content.pm.UserInfo;
import android.graphics.drawable.Drawable;
import android.os.UserManager;
import android.util.FeatureFlagUtils;
import android.util.SparseArray;
import androidx.preference.Preference;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.FeatureFlags;
import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.drawable.UserIconDrawable;
@@ -78,6 +80,8 @@ public class SecondaryUserControllerTest {
when(mScreen.getContext()).thenReturn(mContext);
when(mScreen.findPreference(anyString())).thenReturn(mGroup);
when(mGroup.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, false);
}
@Test
@@ -119,7 +123,8 @@ public class SecondaryUserControllerTest {
}
@Test
public void secondaryUserAddedIfHasDistinctId() {
public void getSecondaryUserControllers_notWorkProfile_addSecondaryUserController() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, false);
final ArrayList<UserInfo> userInfos = new ArrayList<>();
final UserInfo secondaryUser = new UserInfo();
secondaryUser.id = 10;
@@ -135,6 +140,25 @@ public class SecondaryUserControllerTest {
assertThat(controllers.get(0) instanceof SecondaryUserController).isTrue();
}
@Test
public void getSecondaryUserControllers_workProfile_addNoSecondaryUserController() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, true);
final ArrayList<UserInfo> userInfos = new ArrayList<>();
final UserInfo secondaryUser = new UserInfo();
secondaryUser.id = 10;
secondaryUser.profileGroupId = 101010; // this just has to be something not 0
userInfos.add(mPrimaryUser);
userInfos.add(secondaryUser);
when(mUserManager.getPrimaryUser()).thenReturn(mPrimaryUser);
when(mUserManager.getUsers()).thenReturn(userInfos);
final List<AbstractPreferenceController> controllers =
SecondaryUserController.getSecondaryUserControllers(mContext, mUserManager);
assertThat(controllers).hasSize(1);
assertThat(controllers.get(
0) instanceof SecondaryUserController.NoSecondaryUserController).isTrue();
}
@Test
public void profilesOfPrimaryUserAreNotIgnored() {
final ArrayList<UserInfo> userInfos = new ArrayList<>();