Loading src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java +17 −1 Original line number Original line Diff line number Diff line Loading @@ -18,11 +18,14 @@ package com.android.settings.wifi.addappnetworks; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.IActivityManager; import android.app.IActivityManager; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.os.Bundle; import android.os.Bundle; import android.os.RemoteException; import android.os.RemoteException; import android.os.UserManager; import android.provider.Settings; import android.provider.Settings; import android.text.TextUtils; import android.text.TextUtils; import android.util.EventLog; import android.util.Log; import android.util.Log; import android.view.Gravity; import android.view.Gravity; import android.view.Window; import android.view.Window; Loading Loading @@ -85,7 +88,13 @@ public class AddAppNetworksActivity extends FragmentActivity { } } @VisibleForTesting @VisibleForTesting protected boolean showAddNetworksFragment() { boolean showAddNetworksFragment() { if (isGuestUser(getApplicationContext())) { Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!"); EventLog.writeEvent(0x534e4554, "224772678", -1 /* UID */, "User is a guest"); return false; } if (!isAddWifiConfigAllow()) { if (!isAddWifiConfigAllow()) { Log.d(TAG, "Not allowed by Enterprise Restriction"); Log.d(TAG, "Not allowed by Enterprise Restriction"); return false; return false; Loading Loading @@ -130,4 +139,11 @@ public class AddAppNetworksActivity extends FragmentActivity { boolean isAddWifiConfigAllow() { boolean isAddWifiConfigAllow() { return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this); return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this); } } private static boolean isGuestUser(Context context) { if (context == null) return false; final UserManager userManager = context.getSystemService(UserManager.class); if (userManager == null) return false; return userManager.isGuestUser(); } } } tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java +36 −5 Original line number Original line Diff line number Diff line Loading @@ -18,24 +18,38 @@ package com.android.settings.wifi.addappnetworks; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.IActivityManager; import android.app.IActivityManager; import android.content.Context; import android.os.RemoteException; import android.os.RemoteException; import android.os.UserManager; import static org.mockito.ArgumentMatchers.any; import androidx.test.core.app.ApplicationProvider; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.robolectric.Robolectric; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner; @RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class) public class AddAppNetworksActivityTest { public class AddAppNetworksActivityTest { @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule(); @Spy Context mContext = ApplicationProvider.getApplicationContext(); @Mock UserManager mUserManager; @Mock @Mock private IActivityManager mIActivityManager; private IActivityManager mIActivityManager; Loading @@ -43,10 +57,13 @@ public class AddAppNetworksActivityTest { @Before @Before public void setUp() { public void setUp() { MockitoAnnotations.initMocks(this); when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager); when(mUserManager.isGuestUser()).thenReturn(false); mActivity = Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get(); mActivity = spy(Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get()); when(mActivity.getApplicationContext()).thenReturn(mContext); mActivity.mActivityManager = mIActivityManager; mActivity.mActivityManager = mIActivityManager; fakeCallingPackage("com.android.settings"); } } @Test @Test Loading Loading @@ -84,6 +101,20 @@ public class AddAppNetworksActivityTest { assertThat(mActivity.showAddNetworksFragment()).isFalse(); assertThat(mActivity.showAddNetworksFragment()).isFalse(); } } @Test public void showAddNetworksFragment_isGuestUser_returnFalse() { when(mUserManager.isGuestUser()).thenReturn(true); assertThat(mActivity.showAddNetworksFragment()).isFalse(); } @Test public void showAddNetworksFragment_notGuestUser_returnTrue() { when(mUserManager.isGuestUser()).thenReturn(false); assertThat(mActivity.showAddNetworksFragment()).isTrue(); } private void fakeCallingPackage(@Nullable String packageName) { private void fakeCallingPackage(@Nullable String packageName) { try { try { when(mIActivityManager.getLaunchedFromPackage(any())).thenReturn(packageName); when(mIActivityManager.getLaunchedFromPackage(any())).thenReturn(packageName); Loading Loading
src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java +17 −1 Original line number Original line Diff line number Diff line Loading @@ -18,11 +18,14 @@ package com.android.settings.wifi.addappnetworks; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.IActivityManager; import android.app.IActivityManager; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.os.Bundle; import android.os.Bundle; import android.os.RemoteException; import android.os.RemoteException; import android.os.UserManager; import android.provider.Settings; import android.provider.Settings; import android.text.TextUtils; import android.text.TextUtils; import android.util.EventLog; import android.util.Log; import android.util.Log; import android.view.Gravity; import android.view.Gravity; import android.view.Window; import android.view.Window; Loading Loading @@ -85,7 +88,13 @@ public class AddAppNetworksActivity extends FragmentActivity { } } @VisibleForTesting @VisibleForTesting protected boolean showAddNetworksFragment() { boolean showAddNetworksFragment() { if (isGuestUser(getApplicationContext())) { Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!"); EventLog.writeEvent(0x534e4554, "224772678", -1 /* UID */, "User is a guest"); return false; } if (!isAddWifiConfigAllow()) { if (!isAddWifiConfigAllow()) { Log.d(TAG, "Not allowed by Enterprise Restriction"); Log.d(TAG, "Not allowed by Enterprise Restriction"); return false; return false; Loading Loading @@ -130,4 +139,11 @@ public class AddAppNetworksActivity extends FragmentActivity { boolean isAddWifiConfigAllow() { boolean isAddWifiConfigAllow() { return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this); return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this); } } private static boolean isGuestUser(Context context) { if (context == null) return false; final UserManager userManager = context.getSystemService(UserManager.class); if (userManager == null) return false; return userManager.isGuestUser(); } } }
tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java +36 −5 Original line number Original line Diff line number Diff line Loading @@ -18,24 +18,38 @@ package com.android.settings.wifi.addappnetworks; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.IActivityManager; import android.app.IActivityManager; import android.content.Context; import android.os.RemoteException; import android.os.RemoteException; import android.os.UserManager; import static org.mockito.ArgumentMatchers.any; import androidx.test.core.app.ApplicationProvider; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.robolectric.Robolectric; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner; @RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class) public class AddAppNetworksActivityTest { public class AddAppNetworksActivityTest { @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule(); @Spy Context mContext = ApplicationProvider.getApplicationContext(); @Mock UserManager mUserManager; @Mock @Mock private IActivityManager mIActivityManager; private IActivityManager mIActivityManager; Loading @@ -43,10 +57,13 @@ public class AddAppNetworksActivityTest { @Before @Before public void setUp() { public void setUp() { MockitoAnnotations.initMocks(this); when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager); when(mUserManager.isGuestUser()).thenReturn(false); mActivity = Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get(); mActivity = spy(Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get()); when(mActivity.getApplicationContext()).thenReturn(mContext); mActivity.mActivityManager = mIActivityManager; mActivity.mActivityManager = mIActivityManager; fakeCallingPackage("com.android.settings"); } } @Test @Test Loading Loading @@ -84,6 +101,20 @@ public class AddAppNetworksActivityTest { assertThat(mActivity.showAddNetworksFragment()).isFalse(); assertThat(mActivity.showAddNetworksFragment()).isFalse(); } } @Test public void showAddNetworksFragment_isGuestUser_returnFalse() { when(mUserManager.isGuestUser()).thenReturn(true); assertThat(mActivity.showAddNetworksFragment()).isFalse(); } @Test public void showAddNetworksFragment_notGuestUser_returnTrue() { when(mUserManager.isGuestUser()).thenReturn(false); assertThat(mActivity.showAddNetworksFragment()).isTrue(); } private void fakeCallingPackage(@Nullable String packageName) { private void fakeCallingPackage(@Nullable String packageName) { try { try { when(mIActivityManager.getLaunchedFromPackage(any())).thenReturn(packageName); when(mIActivityManager.getLaunchedFromPackage(any())).thenReturn(packageName); Loading