summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2016-02-22 18:47:02 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-02-22 18:47:03 +0000
commit3e439db8c829023645a54eee4cd531928bccb03d (patch)
treecf6c648fa9b9b96502dee78cfc6e15140828fda9 /core/java
parent20c518816a0946dff67a3b99b929bc30c9b0ad6c (diff)
parent9d89bd5cb891dbc9b45b72aa291cbb9fc39b023c (diff)
Merge "DO NOT MERGE ANYWHERE: Don't change screen on time on time changes" into mnc-dr-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/app/usage/UsageStats.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/app/usage/UsageStats.java b/core/java/android/app/usage/UsageStats.java
index 0fce4e2cd184..a88aa312550d 100644
--- a/core/java/android/app/usage/UsageStats.java
+++ b/core/java/android/app/usage/UsageStats.java
@@ -165,14 +165,18 @@ public final class UsageStats implements Parcelable {
mPackageName + "' with UsageStats for package '" + right.mPackageName + "'.");
}
- if (right.mEndTimeStamp > mEndTimeStamp) {
+ if (right.mBeginTimeStamp > mBeginTimeStamp) {
+ // The incoming UsageStat begins after this one, so use its last time used fields
+ // as the source of truth.
+ // We use the mBeginTimeStamp due to a bug where UsageStats files can overlap with
+ // regards to their mEndTimeStamp.
mLastEvent = right.mLastEvent;
- mEndTimeStamp = right.mEndTimeStamp;
mLastTimeUsed = right.mLastTimeUsed;
mBeginIdleTime = right.mBeginIdleTime;
mLastTimeSystemUsed = right.mLastTimeSystemUsed;
}
mBeginTimeStamp = Math.min(mBeginTimeStamp, right.mBeginTimeStamp);
+ mEndTimeStamp = Math.max(mEndTimeStamp, right.mEndTimeStamp);
mTotalTimeInForeground += right.mTotalTimeInForeground;
mLaunchCount += right.mLaunchCount;
}