Merge "Prevent leaking Wi-Fi dialog on lock screen" into tm-qpr-dev am: bd41fe5a5b am: 3d6b632232

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

Change-Id: I66292ce19a0616253ec8f23a185d34aa7a03a977
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-07-19 20:24:42 +00:00
committed by Automerger Merge Worker
2 changed files with 91 additions and 3 deletions

View File

@@ -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();
}
}