summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wyatt Riley <wyattriley@google.com> 2020-01-23 19:08:20 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-01-23 19:08:20 +0000
commit1a55f2e7eeb09d60a621217a99d3ad7ecba5bf69 (patch)
tree748f0fcad1d5a788f65ec70913a1bdbd9194438f
parent6f527bfff553242bdde33a32a7c1667417a3dee3 (diff)
parentd6b82a6ceb48efefa481023d5857d6acf850f6c2 (diff)
Merge "Sorting Historical Location Request Stats in Dumpsys"
-rw-r--r--services/core/java/com/android/server/LocationManagerService.java7
-rw-r--r--services/core/java/com/android/server/location/LocationRequestStatistics.java14
2 files changed, 17 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index 003525c91c32..de0b6fcbd4ae 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -118,6 +118,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
import java.util.Set;
+import java.util.TreeMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.TimeUnit;
@@ -2886,10 +2887,12 @@ public class LocationManagerService extends ILocationManager.Stub {
ipw.println("Historical Records by Provider:");
ipw.increaseIndent();
+ TreeMap<PackageProviderKey, PackageStatistics> sorted = new TreeMap<>();
+ sorted.putAll(mRequestStatistics.statistics);
for (Map.Entry<PackageProviderKey, PackageStatistics> entry
- : mRequestStatistics.statistics.entrySet()) {
+ : sorted.entrySet()) {
PackageProviderKey key = entry.getKey();
- ipw.println(key.packageName + ": " + key.providerName + ": " + entry.getValue());
+ ipw.println(key.providerName + ": " + key.packageName + ": " + entry.getValue());
}
ipw.decreaseIndent();
diff --git a/services/core/java/com/android/server/location/LocationRequestStatistics.java b/services/core/java/com/android/server/location/LocationRequestStatistics.java
index 45c833498ac7..b191338970e9 100644
--- a/services/core/java/com/android/server/location/LocationRequestStatistics.java
+++ b/services/core/java/com/android/server/location/LocationRequestStatistics.java
@@ -92,7 +92,7 @@ public class LocationRequestStatistics {
/**
* A key that holds both package and provider names.
*/
- public static class PackageProviderKey {
+ public static class PackageProviderKey implements Comparable<PackageProviderKey> {
/**
* Name of package requesting location.
*/
@@ -108,6 +108,16 @@ public class LocationRequestStatistics {
}
@Override
+ public int compareTo(PackageProviderKey other) {
+ final int providerCompare = providerName.compareTo(other.providerName);
+ if (providerCompare != 0) {
+ return providerCompare;
+ } else {
+ return packageName.compareTo(other.packageName);
+ }
+ }
+
+ @Override
public boolean equals(Object other) {
if (!(other instanceof PackageProviderKey)) {
return false;
@@ -211,7 +221,7 @@ public class LocationRequestStatistics {
void dump(IndentingPrintWriter ipw, long systemElapsedOffsetMillis) {
StringBuilder s = new StringBuilder();
long systemTimeMillis = systemElapsedOffsetMillis + mElapsedRealtimeMillis;
- s.append("At ").append(TimeUtils.formatForLogging(systemTimeMillis)).append(": ")
+ s.append("At ").append(TimeUtils.logTimeOfDay(systemTimeMillis)).append(": ")
.append(mIntervalMillis == REQUEST_ENDED_INTERVAL ? "- " : "+ ")
.append(String.format("%7s", mProviderName)).append(" request from ")
.append(mPackageName);