From cd47cec57d082aab910fd7a2094cd01baa4c65f3 Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Thu, 29 Sep 2016 19:06:26 -0700 Subject: [PATCH] Added test for enabling wifi for demo user Earlier change to resolve merge conflicts was breaking the current test because mocked context was used to get wifi manager. Mocking wifi manager to fix the test and added a check that setWifiEnabled is called when wifi is not already on. Test: adb shell am instrument -e class com.android.server.retaildemo.RetailDemoModeServiceTest -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner Bug: 31833031 Change-Id: Idd123d50df6ee6db51417645fc877abebe555dc0 --- .../server/retaildemo/RetailDemoModeService.java | 14 +++----------- .../retaildemo/RetailDemoModeServiceTest.java | 9 +++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java index f97e5574d5b32..004edecdc418d 100644 --- a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java +++ b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java @@ -466,8 +466,8 @@ public class RetailDemoModeService extends SystemService { mInjector.getSystemUsersConfiguration(), userId); mInjector.turnOffAllFlashLights(mCameraIdsWithFlash); muteVolumeStreams(); - if (!mInjector.isWifiEnabled()) { - mInjector.enableWifi(); + if (!mInjector.getWifiManager().isWifiEnabled()) { + mInjector.getWifiManager().setWifiEnabled(true); } // Disable lock screen for demo users. mInjector.getLockPatternUtils().setLockScreenDisabled(true, userId); @@ -535,7 +535,7 @@ public class RetailDemoModeService extends SystemService { return mContext; } - private WifiManager getWifiManager() { + WifiManager getWifiManager() { if (mWifiManager == null) { mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); } @@ -644,14 +644,6 @@ public class RetailDemoModeService extends SystemService { mWakeLock.release(); } - boolean isWifiEnabled() { - return getWifiManager().isWifiEnabled(); - } - - void enableWifi() { - getWifiManager().setWifiEnabled(true); - } - void logSessionDuration(int duration) { MetricsLogger.histogram(getContext(), DEMO_SESSION_DURATION, duration); } diff --git a/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java b/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java index 56a170c5cc0ea..afb11979f41ee 100644 --- a/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java @@ -46,6 +46,7 @@ import android.content.pm.UserInfo; import android.content.res.Configuration; import android.media.AudioManager; import android.net.Uri; +import android.net.wifi.WifiManager; import android.os.FileUtils; import android.os.Handler; import android.os.Looper; @@ -97,6 +98,7 @@ public class RetailDemoModeServiceTest { private @Mock NotificationManager mNm; private @Mock ActivityManagerInternal mAmi; private @Mock AudioManager mAudioManager; + private @Mock WifiManager mWifiManager; private @Mock LockPatternUtils mLockPatternUtils; private MockPreloadAppsInstaller mPreloadAppsInstaller; private MockContentResolver mContentResolver; @@ -227,6 +229,7 @@ public class RetailDemoModeServiceTest { final UserInfo userInfo = new UserInfo(TEST_DEMO_USER, "demo_user", UserInfo.FLAG_DEMO | UserInfo.FLAG_EPHEMERAL); when(mUm.getUserInfo(TEST_DEMO_USER)).thenReturn(userInfo); + when(mWifiManager.isWifiEnabled()).thenReturn(false); final int minVolume = -111; for (int stream : RetailDemoModeService.VOLUME_STREAMS_TO_MUTE) { when(mAudioManager.getStreamMinVolume(stream)).thenReturn(minVolume); @@ -238,6 +241,7 @@ public class RetailDemoModeServiceTest { verify(mAudioManager).setStreamVolume(stream, minVolume, 0); } verify(mLockPatternUtils).setLockScreenDisabled(true, TEST_DEMO_USER); + verify(mWifiManager).setWifiEnabled(true); } private void setCameraPackage(String pkgName) { @@ -320,6 +324,11 @@ public class RetailDemoModeServiceTest { return mUm; } + @Override + WifiManager getWifiManager() { + return mWifiManager; + } + @Override void switchUser(int userId) { if (mLatch != null) {