Loading services/core/java/com/android/server/apphibernation/AppHibernationService.java +9 −5 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ public final class AppHibernationService extends SystemService { private final boolean mOatArtifactDeletionEnabled; @VisibleForTesting boolean mIsServiceEnabled; static boolean sIsServiceEnabled; /** * Initializes the system service. Loading Loading @@ -165,7 +165,7 @@ public final class AppHibernationService extends SystemService { }); } if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) { mIsServiceEnabled = isAppHibernationEnabled(); sIsServiceEnabled = isDeviceConfigAppHibernationEnabled(); DeviceConfig.addOnPropertiesChangedListener( NAMESPACE_APP_HIBERNATION, ActivityThread.currentApplication().getMainExecutor(), Loading Loading @@ -536,7 +536,7 @@ public final class AppHibernationService extends SystemService { private void onDeviceConfigChanged(Properties properties) { for (String key : properties.getKeyset()) { if (TextUtils.equals(KEY_APP_HIBERNATION_ENABLED, key)) { mIsServiceEnabled = isAppHibernationEnabled(); sIsServiceEnabled = isDeviceConfigAppHibernationEnabled(); break; } } Loading Loading @@ -574,10 +574,10 @@ public final class AppHibernationService extends SystemService { } private boolean checkHibernationEnabled(String methodName) { if (!mIsServiceEnabled) { if (!sIsServiceEnabled) { Slog.w(TAG, String.format("Attempted to call %s on unsupported device.", methodName)); } return mIsServiceEnabled; return sIsServiceEnabled; } private void dump(PrintWriter pw) { Loading Loading @@ -725,6 +725,10 @@ public final class AppHibernationService extends SystemService { * @return true if enabled, false otherwise */ public static boolean isAppHibernationEnabled() { return sIsServiceEnabled; } private static boolean isDeviceConfigAppHibernationEnabled() { return DeviceConfig.getBoolean( NAMESPACE_APP_HIBERNATION, KEY_APP_HIBERNATION_ENABLED, Loading services/core/java/com/android/server/wm/ActivityMetricsLogger.java +2 −3 Original line number Diff line number Diff line Loading @@ -167,7 +167,6 @@ class ActivityMetricsLogger { @VisibleForTesting static final int LAUNCH_OBSERVER_ACTIVITY_RECORD_PROTO_CHUNK_SIZE = 512; private final ArrayMap<String, Boolean> mLastHibernationStates = new ArrayMap<>(); private AppHibernationManagerInternal mAppHibernationManagerInternal; private boolean mIsAppHibernationEnabled; /** * The information created when an intent is incoming but we do not yet know whether it will be Loading Loading @@ -796,8 +795,8 @@ class ActivityMetricsLogger { @Nullable private AppHibernationManagerInternal getAppHibernationManagerInternal() { if (!AppHibernationService.isAppHibernationEnabled()) return null; if (mAppHibernationManagerInternal == null) { mIsAppHibernationEnabled = AppHibernationService.isAppHibernationEnabled(); mAppHibernationManagerInternal = LocalServices.getService(AppHibernationManagerInternal.class); } Loading @@ -810,7 +809,7 @@ class ActivityMetricsLogger { */ void notifyBeforePackageUnstopped(@NonNull String packageName) { final AppHibernationManagerInternal ahmInternal = getAppHibernationManagerInternal(); if (ahmInternal != null && mIsAppHibernationEnabled) { if (ahmInternal != null) { mLastHibernationStates.put(packageName, ahmInternal.isHibernatingGlobally(packageName)); } } Loading services/tests/servicestests/src/com/android/server/apphibernation/AppHibernationServiceTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ public final class AppHibernationServiceTest { doReturn(true).when(mUserManager).isUserUnlockingOrUnlocked(USER_ID_1); mAppHibernationService.onUserUnlocking(new SystemService.TargetUser(userInfo)); mAppHibernationService.mIsServiceEnabled = true; mAppHibernationService.sIsServiceEnabled = true; } @Test Loading Loading
services/core/java/com/android/server/apphibernation/AppHibernationService.java +9 −5 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ public final class AppHibernationService extends SystemService { private final boolean mOatArtifactDeletionEnabled; @VisibleForTesting boolean mIsServiceEnabled; static boolean sIsServiceEnabled; /** * Initializes the system service. Loading Loading @@ -165,7 +165,7 @@ public final class AppHibernationService extends SystemService { }); } if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) { mIsServiceEnabled = isAppHibernationEnabled(); sIsServiceEnabled = isDeviceConfigAppHibernationEnabled(); DeviceConfig.addOnPropertiesChangedListener( NAMESPACE_APP_HIBERNATION, ActivityThread.currentApplication().getMainExecutor(), Loading Loading @@ -536,7 +536,7 @@ public final class AppHibernationService extends SystemService { private void onDeviceConfigChanged(Properties properties) { for (String key : properties.getKeyset()) { if (TextUtils.equals(KEY_APP_HIBERNATION_ENABLED, key)) { mIsServiceEnabled = isAppHibernationEnabled(); sIsServiceEnabled = isDeviceConfigAppHibernationEnabled(); break; } } Loading Loading @@ -574,10 +574,10 @@ public final class AppHibernationService extends SystemService { } private boolean checkHibernationEnabled(String methodName) { if (!mIsServiceEnabled) { if (!sIsServiceEnabled) { Slog.w(TAG, String.format("Attempted to call %s on unsupported device.", methodName)); } return mIsServiceEnabled; return sIsServiceEnabled; } private void dump(PrintWriter pw) { Loading Loading @@ -725,6 +725,10 @@ public final class AppHibernationService extends SystemService { * @return true if enabled, false otherwise */ public static boolean isAppHibernationEnabled() { return sIsServiceEnabled; } private static boolean isDeviceConfigAppHibernationEnabled() { return DeviceConfig.getBoolean( NAMESPACE_APP_HIBERNATION, KEY_APP_HIBERNATION_ENABLED, Loading
services/core/java/com/android/server/wm/ActivityMetricsLogger.java +2 −3 Original line number Diff line number Diff line Loading @@ -167,7 +167,6 @@ class ActivityMetricsLogger { @VisibleForTesting static final int LAUNCH_OBSERVER_ACTIVITY_RECORD_PROTO_CHUNK_SIZE = 512; private final ArrayMap<String, Boolean> mLastHibernationStates = new ArrayMap<>(); private AppHibernationManagerInternal mAppHibernationManagerInternal; private boolean mIsAppHibernationEnabled; /** * The information created when an intent is incoming but we do not yet know whether it will be Loading Loading @@ -796,8 +795,8 @@ class ActivityMetricsLogger { @Nullable private AppHibernationManagerInternal getAppHibernationManagerInternal() { if (!AppHibernationService.isAppHibernationEnabled()) return null; if (mAppHibernationManagerInternal == null) { mIsAppHibernationEnabled = AppHibernationService.isAppHibernationEnabled(); mAppHibernationManagerInternal = LocalServices.getService(AppHibernationManagerInternal.class); } Loading @@ -810,7 +809,7 @@ class ActivityMetricsLogger { */ void notifyBeforePackageUnstopped(@NonNull String packageName) { final AppHibernationManagerInternal ahmInternal = getAppHibernationManagerInternal(); if (ahmInternal != null && mIsAppHibernationEnabled) { if (ahmInternal != null) { mLastHibernationStates.put(packageName, ahmInternal.isHibernatingGlobally(packageName)); } } Loading
services/tests/servicestests/src/com/android/server/apphibernation/AppHibernationServiceTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ public final class AppHibernationServiceTest { doReturn(true).when(mUserManager).isUserUnlockingOrUnlocked(USER_ID_1); mAppHibernationService.onUserUnlocking(new SystemService.TargetUser(userInfo)); mAppHibernationService.mIsServiceEnabled = true; mAppHibernationService.sIsServiceEnabled = true; } @Test Loading