Loading services/core/java/com/android/server/am/ActivityManagerService.java +6 −0 Original line number Diff line number Diff line Loading @@ -250,6 +250,7 @@ import android.app.assist.AssistStructure; import android.app.backup.IBackupManager; import android.app.servertransaction.ConfigurationChangeItem; import android.app.usage.UsageEvents; import android.app.usage.UsageStats; import android.app.usage.UsageStatsManagerInternal; import android.appwidget.AppWidgetManager; import android.content.ActivityNotFoundException; Loading Loading @@ -20224,6 +20225,11 @@ public class ActivityManagerService extends IActivityManager.Stub // Instrumentation can kill and relaunch even persistent processes forceStopPackageLocked(ii.targetPackage, -1, true, false, true, true, false, userId, "start instr"); // Inform usage stats to make the target package active if (mUsageStatsService != null) { mUsageStatsService.reportEvent(ii.targetPackage, userId, UsageEvents.Event.SYSTEM_INTERACTION); } ProcessRecord app = addAppLocked(ai, defProcess, false, abiOverride); app.instr = activeInstr; activeInstr.mFinished = false; services/usage/java/com/android/server/usage/AppStandbyController.java +14 −2 Original line number Diff line number Diff line Loading @@ -16,10 +16,12 @@ package com.android.server.usage; import static android.app.usage.UsageStatsManager.REASON_DEFAULT; import static android.app.usage.UsageStatsManager.REASON_FORCED; import static android.app.usage.UsageStatsManager.REASON_TIMEOUT; import static android.app.usage.UsageStatsManager.REASON_USAGE; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_ACTIVE; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_EXEMPTED; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_FREQUENT; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_RARE; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_WORKING_SET; Loading Loading @@ -378,8 +380,12 @@ public class AppStandbyController { Slog.d(TAG, " Checking idle state for " + packageName); } if (isSpecial) { synchronized (mAppIdleLock) { mAppIdleHistory.setAppStandbyBucket(packageName, userId, elapsedRealtime, STANDBY_BUCKET_EXEMPTED, REASON_DEFAULT); } maybeInformListeners(packageName, userId, elapsedRealtime, STANDBY_BUCKET_ACTIVE); STANDBY_BUCKET_EXEMPTED); } else { synchronized (mAppIdleLock) { String bucketingReason = mAppIdleHistory.getAppStandbyReason(packageName, Loading @@ -389,7 +395,8 @@ public class AppStandbyController { continue; } // If the bucket was moved up due to usage, let the timeouts apply. if (REASON_USAGE.equals(bucketingReason) if (REASON_DEFAULT.equals(bucketingReason) || REASON_USAGE.equals(bucketingReason) || REASON_TIMEOUT.equals(bucketingReason)) { int oldBucket = mAppIdleHistory.getAppStandbyBucket(packageName, userId, elapsedRealtime); Loading Loading @@ -886,6 +893,11 @@ public class AppStandbyController { String packageName = pi.packageName; if (pi.applicationInfo != null && pi.applicationInfo.isSystemApp()) { mAppIdleHistory.reportUsage(packageName, userId, elapsedRealtime); if (isAppSpecial(packageName, UserHandle.getAppId(pi.applicationInfo.uid), userId)) { mAppIdleHistory.setAppStandbyBucket(packageName, userId, elapsedRealtime, STANDBY_BUCKET_EXEMPTED, REASON_DEFAULT); } } } } Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +6 −0 Original line number Diff line number Diff line Loading @@ -250,6 +250,7 @@ import android.app.assist.AssistStructure; import android.app.backup.IBackupManager; import android.app.servertransaction.ConfigurationChangeItem; import android.app.usage.UsageEvents; import android.app.usage.UsageStats; import android.app.usage.UsageStatsManagerInternal; import android.appwidget.AppWidgetManager; import android.content.ActivityNotFoundException; Loading Loading @@ -20224,6 +20225,11 @@ public class ActivityManagerService extends IActivityManager.Stub // Instrumentation can kill and relaunch even persistent processes forceStopPackageLocked(ii.targetPackage, -1, true, false, true, true, false, userId, "start instr"); // Inform usage stats to make the target package active if (mUsageStatsService != null) { mUsageStatsService.reportEvent(ii.targetPackage, userId, UsageEvents.Event.SYSTEM_INTERACTION); } ProcessRecord app = addAppLocked(ai, defProcess, false, abiOverride); app.instr = activeInstr; activeInstr.mFinished = false;
services/usage/java/com/android/server/usage/AppStandbyController.java +14 −2 Original line number Diff line number Diff line Loading @@ -16,10 +16,12 @@ package com.android.server.usage; import static android.app.usage.UsageStatsManager.REASON_DEFAULT; import static android.app.usage.UsageStatsManager.REASON_FORCED; import static android.app.usage.UsageStatsManager.REASON_TIMEOUT; import static android.app.usage.UsageStatsManager.REASON_USAGE; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_ACTIVE; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_EXEMPTED; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_FREQUENT; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_RARE; import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_WORKING_SET; Loading Loading @@ -378,8 +380,12 @@ public class AppStandbyController { Slog.d(TAG, " Checking idle state for " + packageName); } if (isSpecial) { synchronized (mAppIdleLock) { mAppIdleHistory.setAppStandbyBucket(packageName, userId, elapsedRealtime, STANDBY_BUCKET_EXEMPTED, REASON_DEFAULT); } maybeInformListeners(packageName, userId, elapsedRealtime, STANDBY_BUCKET_ACTIVE); STANDBY_BUCKET_EXEMPTED); } else { synchronized (mAppIdleLock) { String bucketingReason = mAppIdleHistory.getAppStandbyReason(packageName, Loading @@ -389,7 +395,8 @@ public class AppStandbyController { continue; } // If the bucket was moved up due to usage, let the timeouts apply. if (REASON_USAGE.equals(bucketingReason) if (REASON_DEFAULT.equals(bucketingReason) || REASON_USAGE.equals(bucketingReason) || REASON_TIMEOUT.equals(bucketingReason)) { int oldBucket = mAppIdleHistory.getAppStandbyBucket(packageName, userId, elapsedRealtime); Loading Loading @@ -886,6 +893,11 @@ public class AppStandbyController { String packageName = pi.packageName; if (pi.applicationInfo != null && pi.applicationInfo.isSystemApp()) { mAppIdleHistory.reportUsage(packageName, userId, elapsedRealtime); if (isAppSpecial(packageName, UserHandle.getAppId(pi.applicationInfo.uid), userId)) { mAppIdleHistory.setAppStandbyBucket(packageName, userId, elapsedRealtime, STANDBY_BUCKET_EXEMPTED, REASON_DEFAULT); } } } } Loading