diff options
| author | Sudheer Shanka <sudheersai@google.com> | 2018-02-13 23:44:56 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-02-13 23:44:56 +0000 |
| commit | f7431febe056dc6114d0d41e92a12b99088977fb (patch) | |
| tree | 9dfa602fec17802aefa853ba64fad00750e96dcf /core/java | |
| parent | f297b8d7e1e5b691dd440958dfe07951fc267683 (diff) | |
| parent | 318a67d81fb990b015ae96a3d15d74887f4860db (diff) | |
Merge "Update the internal state before sending the deltas to callback."
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/os/KernelUidCpuTimeReader.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/core/java/com/android/internal/os/KernelUidCpuTimeReader.java b/core/java/com/android/internal/os/KernelUidCpuTimeReader.java index 65615c0ffb02..444049e7e415 100644 --- a/core/java/com/android/internal/os/KernelUidCpuTimeReader.java +++ b/core/java/com/android/internal/os/KernelUidCpuTimeReader.java @@ -78,10 +78,11 @@ public class KernelUidCpuTimeReader { final long userTimeUs = Long.parseLong(splitter.next(), 10); final long systemTimeUs = Long.parseLong(splitter.next(), 10); + boolean notifyCallback = false; + long userTimeDeltaUs = userTimeUs; + long systemTimeDeltaUs = systemTimeUs; // Only report if there is a callback and if this is not the first read. if (callback != null && mLastTimeReadUs != 0) { - long userTimeDeltaUs = userTimeUs; - long systemTimeDeltaUs = systemTimeUs; int index = mLastUserTimeUs.indexOfKey(uid); if (index >= 0) { userTimeDeltaUs -= mLastUserTimeUs.valueAt(index); @@ -114,12 +115,13 @@ public class KernelUidCpuTimeReader { } } - if (userTimeDeltaUs != 0 || systemTimeDeltaUs != 0) { - callback.onUidCpuTime(uid, userTimeDeltaUs, systemTimeDeltaUs); - } + notifyCallback = (userTimeDeltaUs != 0 || systemTimeDeltaUs != 0); } mLastUserTimeUs.put(uid, userTimeUs); mLastSystemTimeUs.put(uid, systemTimeUs); + if (notifyCallback) { + callback.onUidCpuTime(uid, userTimeDeltaUs, systemTimeDeltaUs); + } } } catch (IOException e) { Slog.e(TAG, "Failed to read uid_cputime: " + e.getMessage()); |
