Merge "Refactor isAppHibernationEnabled check in AppHibernationService" into sc-dev
This commit is contained in:
@@ -109,7 +109,7 @@ public final class AppHibernationService extends SystemService {
|
|||||||
private final boolean mOatArtifactDeletionEnabled;
|
private final boolean mOatArtifactDeletionEnabled;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean mIsServiceEnabled;
|
static boolean sIsServiceEnabled;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the system service.
|
* Initializes the system service.
|
||||||
@@ -165,7 +165,7 @@ public final class AppHibernationService extends SystemService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
|
if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
|
||||||
mIsServiceEnabled = isAppHibernationEnabled();
|
sIsServiceEnabled = isDeviceConfigAppHibernationEnabled();
|
||||||
DeviceConfig.addOnPropertiesChangedListener(
|
DeviceConfig.addOnPropertiesChangedListener(
|
||||||
NAMESPACE_APP_HIBERNATION,
|
NAMESPACE_APP_HIBERNATION,
|
||||||
ActivityThread.currentApplication().getMainExecutor(),
|
ActivityThread.currentApplication().getMainExecutor(),
|
||||||
@@ -536,7 +536,7 @@ public final class AppHibernationService extends SystemService {
|
|||||||
private void onDeviceConfigChanged(Properties properties) {
|
private void onDeviceConfigChanged(Properties properties) {
|
||||||
for (String key : properties.getKeyset()) {
|
for (String key : properties.getKeyset()) {
|
||||||
if (TextUtils.equals(KEY_APP_HIBERNATION_ENABLED, key)) {
|
if (TextUtils.equals(KEY_APP_HIBERNATION_ENABLED, key)) {
|
||||||
mIsServiceEnabled = isAppHibernationEnabled();
|
sIsServiceEnabled = isDeviceConfigAppHibernationEnabled();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -574,10 +574,10 @@ public final class AppHibernationService extends SystemService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkHibernationEnabled(String methodName) {
|
private boolean checkHibernationEnabled(String methodName) {
|
||||||
if (!mIsServiceEnabled) {
|
if (!sIsServiceEnabled) {
|
||||||
Slog.w(TAG, String.format("Attempted to call %s on unsupported device.", methodName));
|
Slog.w(TAG, String.format("Attempted to call %s on unsupported device.", methodName));
|
||||||
}
|
}
|
||||||
return mIsServiceEnabled;
|
return sIsServiceEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dump(PrintWriter pw) {
|
private void dump(PrintWriter pw) {
|
||||||
@@ -725,6 +725,10 @@ public final class AppHibernationService extends SystemService {
|
|||||||
* @return true if enabled, false otherwise
|
* @return true if enabled, false otherwise
|
||||||
*/
|
*/
|
||||||
public static boolean isAppHibernationEnabled() {
|
public static boolean isAppHibernationEnabled() {
|
||||||
|
return sIsServiceEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isDeviceConfigAppHibernationEnabled() {
|
||||||
return DeviceConfig.getBoolean(
|
return DeviceConfig.getBoolean(
|
||||||
NAMESPACE_APP_HIBERNATION,
|
NAMESPACE_APP_HIBERNATION,
|
||||||
KEY_APP_HIBERNATION_ENABLED,
|
KEY_APP_HIBERNATION_ENABLED,
|
||||||
|
|||||||
@@ -167,7 +167,6 @@ class ActivityMetricsLogger {
|
|||||||
@VisibleForTesting static final int LAUNCH_OBSERVER_ACTIVITY_RECORD_PROTO_CHUNK_SIZE = 512;
|
@VisibleForTesting static final int LAUNCH_OBSERVER_ACTIVITY_RECORD_PROTO_CHUNK_SIZE = 512;
|
||||||
private final ArrayMap<String, Boolean> mLastHibernationStates = new ArrayMap<>();
|
private final ArrayMap<String, Boolean> mLastHibernationStates = new ArrayMap<>();
|
||||||
private AppHibernationManagerInternal mAppHibernationManagerInternal;
|
private AppHibernationManagerInternal mAppHibernationManagerInternal;
|
||||||
private boolean mIsAppHibernationEnabled;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The information created when an intent is incoming but we do not yet know whether it will be
|
* 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
|
@Nullable
|
||||||
private AppHibernationManagerInternal getAppHibernationManagerInternal() {
|
private AppHibernationManagerInternal getAppHibernationManagerInternal() {
|
||||||
|
if (!AppHibernationService.isAppHibernationEnabled()) return null;
|
||||||
if (mAppHibernationManagerInternal == null) {
|
if (mAppHibernationManagerInternal == null) {
|
||||||
mIsAppHibernationEnabled = AppHibernationService.isAppHibernationEnabled();
|
|
||||||
mAppHibernationManagerInternal =
|
mAppHibernationManagerInternal =
|
||||||
LocalServices.getService(AppHibernationManagerInternal.class);
|
LocalServices.getService(AppHibernationManagerInternal.class);
|
||||||
}
|
}
|
||||||
@@ -810,7 +809,7 @@ class ActivityMetricsLogger {
|
|||||||
*/
|
*/
|
||||||
void notifyBeforePackageUnstopped(@NonNull String packageName) {
|
void notifyBeforePackageUnstopped(@NonNull String packageName) {
|
||||||
final AppHibernationManagerInternal ahmInternal = getAppHibernationManagerInternal();
|
final AppHibernationManagerInternal ahmInternal = getAppHibernationManagerInternal();
|
||||||
if (ahmInternal != null && mIsAppHibernationEnabled) {
|
if (ahmInternal != null) {
|
||||||
mLastHibernationStates.put(packageName, ahmInternal.isHibernatingGlobally(packageName));
|
mLastHibernationStates.put(packageName, ahmInternal.isHibernatingGlobally(packageName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ public final class AppHibernationServiceTest {
|
|||||||
doReturn(true).when(mUserManager).isUserUnlockingOrUnlocked(USER_ID_1);
|
doReturn(true).when(mUserManager).isUserUnlockingOrUnlocked(USER_ID_1);
|
||||||
mAppHibernationService.onUserUnlocking(new SystemService.TargetUser(userInfo));
|
mAppHibernationService.onUserUnlocking(new SystemService.TargetUser(userInfo));
|
||||||
|
|
||||||
mAppHibernationService.mIsServiceEnabled = true;
|
mAppHibernationService.sIsServiceEnabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user