Fix broken hibernation test ag/14203210 made isAppHibernationEnabled use a cached value rather than query device config every time. This happened to break a test that relied on mocking the DeviceConfig value. We update the static value directly to ensure the feature is enabled in the test. Bug: 185730191 Test: atest PackageManagerServiceHibernationTests Change-Id: Icf7d5bedba69cc5af7df2d38bf5088cb08b5cfb6
diff --git a/services/core/java/com/android/server/apphibernation/AppHibernationService.java b/services/core/java/com/android/server/apphibernation/AppHibernationService.java index fd829fa..aa51800 100644 --- a/services/core/java/com/android/server/apphibernation/AppHibernationService.java +++ b/services/core/java/com/android/server/apphibernation/AppHibernationService.java
@@ -109,7 +109,7 @@ private final boolean mOatArtifactDeletionEnabled; @VisibleForTesting - static boolean sIsServiceEnabled; + public static boolean sIsServiceEnabled; /** * Initializes the system service.
diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/PackageManagerServiceHibernationTests.kt b/services/tests/mockingservicestests/src/com/android/server/pm/PackageManagerServiceHibernationTests.kt index 411c31c..72bc77e 100644 --- a/services/tests/mockingservicestests/src/com/android/server/pm/PackageManagerServiceHibernationTests.kt +++ b/services/tests/mockingservicestests/src/com/android/server/pm/PackageManagerServiceHibernationTests.kt
@@ -24,6 +24,7 @@ import android.testing.TestableLooper import android.testing.TestableLooper.RunWithLooper import com.android.server.apphibernation.AppHibernationManagerInternal +import com.android.server.apphibernation.AppHibernationService import com.android.server.extendedtestutils.wheneverStatic import com.android.server.testutils.whenever import org.junit.Assert.assertFalse @@ -61,6 +62,7 @@ MockitoAnnotations.initMocks(this) wheneverStatic { DeviceConfig.getBoolean( NAMESPACE_APP_HIBERNATION, KEY_APP_HIBERNATION_ENABLED, false) }.thenReturn(true) + AppHibernationService.sIsServiceEnabled = true rule.system().stageNominalSystemState() whenever(rule.mocks().injector.getLocalService(AppHibernationManagerInternal::class.java)) .thenReturn(appHibernationManager)