Allow settings to change app inactive state

Change-Id: I57efb4b5fa69c9a268025fb1ef83de36c4cc83ca
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java
index c74bbdd..34699d8 100644
--- a/core/java/android/app/usage/UsageStatsManager.java
+++ b/core/java/android/app/usage/UsageStatsManager.java
@@ -234,4 +234,15 @@
         }
         return false;
     }
+
+    /**
+     * @hide
+     */
+    public void setAppInactive(String packageName, boolean inactive) {
+        try {
+            mService.setAppInactive(packageName, inactive, UserHandle.myUserId());
+        } catch (RemoteException e) {
+            // fall through
+        }
+    }
 }
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index bfd6cc0..f7bcf2a 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -100,7 +100,7 @@
 
     static final long DEFAULT_APP_IDLE_THRESHOLD_MILLIS = DEBUG ? ONE_MINUTE * 4
             : 1L * 24 * 60 * ONE_MINUTE; // 1 day
-    static final long DEFAULT_CHECK_IDLE_INTERVAL = DEBUG ? ONE_MINUTE / 4
+    static final long DEFAULT_CHECK_IDLE_INTERVAL = DEBUG ? ONE_MINUTE
             : 8 * 60 * ONE_MINUTE; // 8 hours
     static final long DEFAULT_PAROLE_INTERVAL = DEBUG ? ONE_MINUTE * 10
             : 24 * 60 * ONE_MINUTE; // 24 hours between paroles
@@ -336,6 +336,7 @@
 
     /** Check all running users' apps to see if they enter an idle state. */
     void checkIdleStates() {
+        if (DEBUG) Slog.d(TAG, "Checking idle state");
         final int[] runningUsers;
         try {
             runningUsers = ActivityManagerNative.getDefault().getRunningUserIds();