From e8c6c784145b0e8a46c5327391eeaeeb1eb78a5a Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Tue, 16 Feb 2021 09:26:05 -0800 Subject: Fix a bug in last access time computation. Bug: 177685444 Test: Manual Change-Id: I16f67b37e6e9013531ce1b480594e5d44c778966 --- .../com/android/settingslib/location/RecentLocationAccesses.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java b/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java index 81ca9eaf8e36..228de039fc1b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java +++ b/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java @@ -163,8 +163,12 @@ public class RecentLocationAccesses { long locationAccessFinishTime = 0L; // Earliest time for a location access to end and still be shown in list. long recentLocationCutoffTime = now - RECENT_TIME_INTERVAL_MILLIS; + // Compute the most recent access time from all op entries. for (AppOpsManager.OpEntry entry : entries) { - locationAccessFinishTime = entry.getLastAccessTime(TRUSTED_STATE_FLAGS); + long lastAccessTime = entry.getLastAccessTime(TRUSTED_STATE_FLAGS); + if (lastAccessTime > locationAccessFinishTime) { + locationAccessFinishTime = lastAccessTime; + } } // Bail out if the entry is out of date. if (locationAccessFinishTime < recentLocationCutoffTime) { -- cgit v1.2.3-59-g8ed1b