Fix recent apps in appops.
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
diff --git a/src/com/android/settings/location/RecentLocationApps.java b/src/com/android/settings/location/RecentLocationApps.java
index 1fa8aac..65fef80 100644
--- a/src/com/android/settings/location/RecentLocationApps.java
+++ b/src/com/android/settings/location/RecentLocationApps.java
@@ -194,9 +194,10 @@
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;