Merge "Replace SystemUser checks with MainUser."

This commit is contained in:
Victor Truong
2023-02-02 02:51:26 +00:00
committed by Android (Google) Code Review
7 changed files with 78 additions and 29 deletions

View File

@@ -46,6 +46,7 @@ import android.net.LinkProperties;
import android.net.Network;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.DiskInfo;
import android.os.storage.StorageManager;
@@ -299,4 +300,43 @@ public class UtilsTest {
assertThat(Utils.isSettingsIntelligence(mContext)).isFalse();
}
@Test
public void canCurrentUserDream_isMainUser_returnTrue() {
Context mockContext = mock(Context.class);
UserManager mockUserManager = mock(UserManager.class);
when(mockContext.getSystemService(UserManager.class)).thenReturn(mockUserManager);
// mock MainUser
UserHandle mainUser = new UserHandle(10);
when(mockUserManager.getMainUser()).thenReturn(mainUser);
when(mockUserManager.isUserForeground()).thenReturn(true);
when(mockContext.createContextAsUser(mainUser, 0)).thenReturn(mockContext);
assertThat(Utils.canCurrentUserDream(mockContext)).isTrue();
}
@Test
public void canCurrentUserDream_nullMainUser_returnFalse() {
Context mockContext = mock(Context.class);
UserManager mockUserManager = mock(UserManager.class);
when(mockContext.getSystemService(UserManager.class)).thenReturn(mockUserManager);
when(mockUserManager.getMainUser()).thenReturn(null);
assertThat(Utils.canCurrentUserDream(mockContext)).isFalse();
}
@Test
public void canCurrentUserDream_notMainUser_returnFalse() {
Context mockContext = mock(Context.class);
UserManager mockUserManager = mock(UserManager.class);
when(mockContext.getSystemService(UserManager.class)).thenReturn(mockUserManager);
when(mockUserManager.isUserForeground()).thenReturn(false);
assertThat(Utils.canCurrentUserDream(mockContext)).isFalse();
}
}

View File

@@ -32,6 +32,7 @@ import android.provider.Settings;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.fuelgauge.BatteryBackupHelperTest.ShadowUserHandle;
import com.android.settings.testutils.shadow.ShadowSecureSettings;
@@ -106,15 +107,17 @@ public class TimeoutToDockUserPreferenceControllerTest {
}
@Test
public void getAvailabilityStatus_isCurrentlyUserZero_returnDisabledForUser() {
ShadowUserHandle.setUid(UserHandle.USER_SYSTEM);
public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() {
when(Utils.canCurrentUserDream(mContext)).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.DISABLED_FOR_USER);
}
@Test
public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonUserZero_returnAvailable() {
public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() {
when(Utils.canCurrentUserDream(mContext)).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.AVAILABLE);
}