Merge "Restrict ProviderModelSlice for guest user" into tm-qpr-dev am: ea9b715e78
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18911434 Change-Id: I21514aba3524eeff34fccf3e31953f184f36fbda Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -34,6 +34,7 @@ import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.view.WindowManager.LayoutParams;
|
||||
|
||||
@@ -103,6 +104,12 @@ public class ProviderModelSlice extends WifiSlice {
|
||||
// Fifth section: Add the Wi-Fi items which are not connected.
|
||||
// Sixth section: Add the See All item.
|
||||
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
|
||||
if (isGuestUser(mContext)) {
|
||||
Log.e(TAG, "Guest user is not allowed to configure Internet!");
|
||||
EventLog.writeEvent(0x534e4554, "227470877", -1 /* UID */, "User is a guest");
|
||||
return listBuilder.build();
|
||||
}
|
||||
|
||||
int maxListSize = 0;
|
||||
final NetworkProviderWorker worker = getWorker();
|
||||
if (worker != null) {
|
||||
@@ -297,6 +304,8 @@ public class ProviderModelSlice extends WifiSlice {
|
||||
|
||||
@Override
|
||||
public Class getBackgroundWorkerClass() {
|
||||
if (isGuestUser(mContext)) return null;
|
||||
|
||||
return NetworkProviderWorker.class;
|
||||
}
|
||||
|
||||
|
@@ -42,6 +42,7 @@ import android.graphics.drawable.ColorDrawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Uri;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.UserManager;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
@@ -86,6 +87,8 @@ public class ProviderModelSliceTest {
|
||||
private ListBuilder mListBuilder;
|
||||
private MockNetworkProviderWorker mMockNetworkProviderWorker;
|
||||
|
||||
@Mock
|
||||
private UserManager mUserManager;
|
||||
@Mock
|
||||
private SubscriptionManager mSubscriptionManager;
|
||||
@Mock
|
||||
@@ -122,6 +125,8 @@ public class ProviderModelSliceTest {
|
||||
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
|
||||
.thenReturn(mWifiPickerTracker);
|
||||
|
||||
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
||||
when(mUserManager.isGuestUser()).thenReturn(false);
|
||||
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
|
||||
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
|
||||
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
|
||||
@@ -162,6 +167,17 @@ public class ProviderModelSliceTest {
|
||||
.isEqualTo(Intent.FLAG_RECEIVER_FOREGROUND);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_isGuestUser_shouldNotAddRow() {
|
||||
when(mUserManager.isGuestUser()).thenReturn(true);
|
||||
|
||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, never()).addRow(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_noWifiAndHasCarrierNoData_oneCarrier() {
|
||||
@@ -319,6 +335,21 @@ public class ProviderModelSliceTest {
|
||||
assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getBackgroundWorkerClass_isGuestUser_returnNull() {
|
||||
when(mUserManager.isGuestUser()).thenReturn(true);
|
||||
|
||||
assertThat(mMockProviderModelSlice.getBackgroundWorkerClass()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getBackgroundWorkerClass_notGuestUser_returnWorkerClass() {
|
||||
when(mUserManager.isGuestUser()).thenReturn(false);
|
||||
|
||||
assertThat(mMockProviderModelSlice.getBackgroundWorkerClass())
|
||||
.isEqualTo(NetworkProviderWorker.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void providerModelSlice_hasCorrectUri() {
|
||||
assertThat(mMockProviderModelSlice.getUri()).isEqualTo(PROVIDER_MODEL_SLICE_URI);
|
||||
|
Reference in New Issue
Block a user