OSDN Git Service

Fix recent apps in appops.
authorDavid Christie <dnchrist@google.com>
Fri, 13 Sep 2013 00:40:11 +0000 (17:40 -0700)
committerDavid Christie <dnchrist@google.com>
Fri, 13 Sep 2013 01:01:28 +0000 (18:01 -0700)
Prior to this fix all apps would disappear from settings->location
15 minutes after the request was first made (even if request
was ongoing).  Tested this out - apps requesting location longer
than the threshold stay in the list, and apps stay in the list exactly
the threshold time after the location request ENDS.

Change-Id: I7d4db25c615df2ec41e93b1b3191ba606d26719d

src/com/android/settings/location/RecentLocationApps.java

index 1fa8aac..65fef80 100644 (file)
@@ -194,9 +194,10 @@ public class RecentLocationApps {
         List<AppOpsManager.OpEntry> entries = ops.getOps();
         boolean highBattery = false;
         boolean normalBattery = false;
+        // Earliest time for a location request to end and still be shown in list.
+        long recentLocationCutoffTime = now - RECENT_TIME_INTERVAL_MILLIS;
         for (AppOpsManager.OpEntry entry : entries) {
-            // If previous location activity is older than designated interval, ignore this app.
-            if (now - entry.getTime() <= RECENT_TIME_INTERVAL_MILLIS) {
+            if (entry.isRunning() || entry.getTime() >= recentLocationCutoffTime) {
                 switch (entry.getOp()) {
                     case AppOpsManager.OP_MONITOR_LOCATION:
                         normalBattery = true;