Merge "Restrict WifiSlice functionality for guest user" into tm-qpr-dev am: 1c25ce1937

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18802566

Change-Id: Iaa2b5a26a3ee2b8490e116c5148a371651d32ee4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Weng Su
2022-06-15 16:54:00 +00:00
committed by Automerger Merge Worker
2 changed files with 50 additions and 1 deletions

View File

@@ -33,6 +33,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.UserManager;
import androidx.slice.Slice;
import androidx.slice.SliceItem;
@@ -84,6 +85,8 @@ public class WifiSliceTest {
@Spy
Context mContext = ApplicationProvider.getApplicationContext();
@Mock
private UserManager mUserManager;
@Mock
private WifiManager mWifiManager;
@Mock
private PackageManager mPackageManager;
@@ -98,6 +101,8 @@ public class WifiSliceTest {
@Before
public void setUp() {
doReturn(mResolver).when(mContext).getContentResolver();
doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
doReturn(false).when(mUserManager).isGuestUser();
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
when(mContext.getPackageManager()).thenReturn(mPackageManager);
@@ -113,6 +118,33 @@ public class WifiSliceTest {
mWifiSlice = new WifiSlice(mContext, mWifiRestriction);
}
@Test
public void getWifiSlice_isGuestUser_shouldReturnNoToggle() {
doReturn(true).when(mUserManager).isGuestUser();
final Slice wifiSlice = mWifiSlice.getSlice();
final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
final List<SliceAction> toggles = metadata.getToggles();
assertThat(toggles).hasSize(0);
final int rows = SliceQuery.findAll(wifiSlice, FORMAT_SLICE, HINT_LIST_ITEM,
null /* nonHints */).size();
// Title row
assertThat(rows).isEqualTo(1);
}
@Test
public void getWifiSlice_isNotGuestUser_shouldHaveTitleAndToggle() {
doReturn(false).when(mUserManager).isGuestUser();
final Slice wifiSlice = mWifiSlice.getSlice();
assertThat(wifiSlice).isNotNull();
final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
final List<SliceAction> toggles = metadata.getToggles();
assertThat(toggles).hasSize(1);
}
@Test
public void getWifiSlice_fromSIPackage_shouldHaveTitleAndToggle() {
when(mPackageManager.getPackagesForUid(USER_ID)).thenReturn(new String[]{mSIPackageName});