summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Ng <stevenckng@google.com> 2025-02-21 10:12:06 +0000
committer Steven Ng <stevenckng@google.com> 2025-02-21 02:18:17 -0800
commit04c486e3885ef59d003d4b4f637bd07bde115d0f (patch)
tree14a0ba663c4b5d250ccb4193e32191bc12b7dc7e
parentd1406116a6b342d5696e8d4594bf75202659c264 (diff)
Mock isDeviceEligibleForDesktopMode in WallpaperManagerServiceTests
Improve the robustness of WallpaperManagerServiceTests by mocking DesktopModeHelper#isDeviceEligibleForDesktopMode, preventing implementation changes in that method from causing test failures. Test: atests FrameworksMockingServicesTests:WallpaperManagerServiceTests Flag: EXEMPTED: tests only change Bug: 397611386 Change-Id: I3ba574ed5fa7d93de171946372382a6d86d4aa00
-rw-r--r--services/core/java/com/android/server/wm/DesktopModeHelper.java2
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java11
2 files changed, 5 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/DesktopModeHelper.java b/services/core/java/com/android/server/wm/DesktopModeHelper.java
index c2255d8d011a..dc42b32967e2 100644
--- a/services/core/java/com/android/server/wm/DesktopModeHelper.java
+++ b/services/core/java/com/android/server/wm/DesktopModeHelper.java
@@ -79,7 +79,7 @@ public final class DesktopModeHelper {
}
@VisibleForTesting
- static boolean isDeviceEligibleForDesktopMode(@NonNull Context context) {
+ public static boolean isDeviceEligibleForDesktopMode(@NonNull Context context) {
if (!shouldEnforceDeviceRestrictions()) {
return true;
}
diff --git a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
index 49f2e9d70287..b10502b76ea2 100644
--- a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
+++ b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
@@ -64,7 +64,6 @@ import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.content.pm.ParceledListSlice;
import android.content.pm.ServiceInfo;
-import android.content.res.Resources;
import android.graphics.Color;
import android.hardware.display.DisplayManager;
import android.hardware.display.DisplayManager.DisplayListener;
@@ -95,6 +94,7 @@ import com.android.internal.R;
import com.android.modules.utils.TypedXmlPullParser;
import com.android.modules.utils.TypedXmlSerializer;
import com.android.server.LocalServices;
+import com.android.server.wm.DesktopModeHelper;
import com.android.server.wm.WindowManagerInternal;
import org.hamcrest.CoreMatchers;
@@ -154,8 +154,6 @@ public class WallpaperManagerServiceTests {
private IPackageManager mIpm = AppGlobals.getPackageManager();
- private Resources mResources = sContext.getResources();
-
@Mock
private DisplayManager mDisplayManager;
@@ -177,6 +175,7 @@ public class WallpaperManagerServiceTests {
.spyStatic(WallpaperUtils.class)
.spyStatic(LocalServices.class)
.spyStatic(WallpaperManager.class)
+ .spyStatic(DesktopModeHelper.class)
.startMocking();
sWindowManagerInternal = mock(WindowManagerInternal.class);
@@ -245,6 +244,8 @@ public class WallpaperManagerServiceTests {
int userId = (invocation.getArgument(0));
return getWallpaperTestDir(userId);
}).when(() -> WallpaperUtils.getWallpaperDir(anyInt()));
+ ExtendedMockito.doAnswer(invocation -> true).when(
+ () -> DesktopModeHelper.isDeviceEligibleForDesktopMode(any()));
sContext.addMockSystemService(DisplayManager.class, mDisplayManager);
@@ -256,10 +257,6 @@ public class WallpaperManagerServiceTests {
doReturn(displays).when(mDisplayManager).getDisplays();
spyOn(mIpm);
- spyOn(mResources);
- doReturn(true).when(mResources).getBoolean(eq(R.bool.config_isDesktopModeSupported));
- doReturn(true).when(mResources).getBoolean(
- eq(R.bool.config_canInternalDisplayHostDesktops));
mService = new TestWallpaperManagerService(sContext);
spyOn(mService);
mService.systemReady();