From 4d0bf0f92c5cec4eb1e512017fc97b50b5587ad2 Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Mon, 8 Jun 2020 16:42:53 -0700 Subject: [PATCH] Ensure beginTimeMillis is non-negative. It might become negative if system time is set to (near) epoch. Test: presubmit Fixes: 155853357 Change-Id: I9175f755861797f5a20704d7f685063438be3bef --- services/core/java/com/android/server/appop/AppOpsService.java | 2 +- .../com/android/server/stats/pull/StatsPullAtomService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 9f2714673cd62..c628e1d863bb8 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -6052,7 +6052,7 @@ public class AppOpsService extends IAppOpsService.Stub { List runtimeAppOpsList = getRuntimeAppOpsList(); AppOpsManager.HistoricalOpsRequest histOpsRequest = new AppOpsManager.HistoricalOpsRequest.Builder( - Instant.now().minus(7, ChronoUnit.DAYS).toEpochMilli(), + Math.max(Instant.now().minus(7, ChronoUnit.DAYS).toEpochMilli(), 0), Long.MAX_VALUE).setOpNames(runtimeAppOpsList).setFlags( OP_FLAG_SELF | OP_FLAG_TRUSTED_PROXIED).build(); appOps.getHistoricalOps(histOpsRequest, AsyncTask.THREAD_POOL_EXECUTOR, diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index c0c9b3220ae0b..0335b2cf43339 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -3358,7 +3358,7 @@ public class StatsPullAtomService extends SystemService { CompletableFuture ops = new CompletableFuture<>(); HistoricalOpsRequest histOpsRequest = new HistoricalOpsRequest.Builder( - Instant.now().minus(1, ChronoUnit.DAYS).toEpochMilli(), + Math.max(Instant.now().minus(1, ChronoUnit.DAYS).toEpochMilli(), 0), Long.MAX_VALUE).setFlags( OP_FLAGS_PULLED).build(); appOps.getHistoricalOps(histOpsRequest, AsyncTask.THREAD_POOL_EXECUTOR, ops::complete);