Prevent leaking Wi-Fi dialog on lock screen
- The Wi-Fi dialog is designed to be displayed on the system UI - Dismiss Wi-Fi dialog to prevent leaking user data on lock screen Bug: 231583603 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=WifiDialogActivityTest Change-Id: Ie67ff1138ffeddd3e358331d8cef61e0629173e2
This commit is contained in:
@@ -33,6 +33,7 @@ import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.KeyguardManager;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
@@ -46,7 +47,6 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -82,6 +82,8 @@ public class WifiDialogActivityTest {
|
||||
Intent mResultData;
|
||||
@Mock
|
||||
WifiConfigController mController;
|
||||
@Mock
|
||||
KeyguardManager mKeyguardManager;
|
||||
|
||||
WifiDialogActivity mActivity;
|
||||
|
||||
@@ -99,6 +101,7 @@ public class WifiDialogActivityTest {
|
||||
mActivity = spy(Robolectric.setupActivity(WifiDialogActivity.class));
|
||||
when(mActivity.getSystemService(UserManager.class)).thenReturn(mUserManager);
|
||||
when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
|
||||
when(mActivity.getSystemService(KeyguardManager.class)).thenReturn(mKeyguardManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -294,4 +297,35 @@ public class WifiDialogActivityTest {
|
||||
|
||||
assertThat(result).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dismissDialog_hasDialog_dialogDismiss() {
|
||||
mActivity.mDialog = mWifiDialog;
|
||||
mActivity.mDialog2 = mWifiDialog2;
|
||||
|
||||
mActivity.dismissDialog();
|
||||
|
||||
verify(mWifiDialog).dismiss();
|
||||
verify(mWifiDialog2).dismiss();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onKeyguardLockedStateChanged_keyguardIsNotLocked_doNotDismissDialog() {
|
||||
WifiDialogActivity.LockScreenMonitor lockScreenMonitor =
|
||||
new WifiDialogActivity.LockScreenMonitor(mActivity);
|
||||
|
||||
lockScreenMonitor.onKeyguardLockedStateChanged(false /* isKeyguardLocked */);
|
||||
|
||||
verify(mActivity, never()).dismissDialog();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onKeyguardLockedStateChanged_keyguardIsLocked_dismissDialog() {
|
||||
WifiDialogActivity.LockScreenMonitor lockScreenMonitor =
|
||||
new WifiDialogActivity.LockScreenMonitor(mActivity);
|
||||
|
||||
lockScreenMonitor.onKeyguardLockedStateChanged(true /* isKeyguardLocked */);
|
||||
|
||||
verify(mActivity).dismissDialog();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user