Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41edc210 authored by Zhen Zhang's avatar Zhen Zhang Committed by Automerger Merge Worker
Browse files

Merge "Refactor isAppHibernationEnabled check in AppHibernationService" into sc-dev am: c8db0a50

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14203210

Change-Id: I82de9ac8207f95c3c1b6ee0b2ae6630b0b44270f
parents 92fb1c2c c8db0a50
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ public final class AppHibernationService extends SystemService {
    private final boolean mOatArtifactDeletionEnabled;

    @VisibleForTesting
    boolean mIsServiceEnabled;
    static boolean sIsServiceEnabled;

    /**
     * Initializes the system service.
@@ -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(),
@@ -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;
            }
        }
@@ -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) {
@@ -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,
+2 −3
Original line number Diff line number Diff line
@@ -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
@@ -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);
        }
@@ -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));
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -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