diff options
author | Hui Yu <huiyu@google.com> | 2018-12-13 15:20:43 -0800 |
---|---|---|
committer | Hui Yu <huiyu@google.com> | 2019-02-20 18:10:29 -0800 |
commit | f6118b3d170a59d86a20c1e21f5878f0200dbd83 (patch) | |
tree | 9ef71f2edd01b2541888dce11e9025d5864a39ee | |
parent | ff5d286d092ca60945869120583c429348271e3c (diff) |
Remove extra null-check on IntervalStats.events.
Now IntervalStats.events field is initialized at construction of
IntervalStats object, we can remove the extra null-check on
IntervalStats.events, make code more clean and readable.
Test: atest UsageStatsDatabaseTest.java
Change-Id: I2580509f41593c1fdf380ba56ebc7a5b6c6f0c5f
5 files changed, 37 insertions, 70 deletions
diff --git a/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java b/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java index fe4825c1241c..e74b959b6abe 100644 --- a/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java +++ b/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java @@ -22,7 +22,6 @@ import static junit.framework.TestCase.fail; import static org.testng.Assert.assertEquals; -import android.app.usage.EventList; import android.app.usage.TimeSparseArray; import android.app.usage.UsageEvents.Event; import android.app.usage.UsageStats; @@ -130,10 +129,6 @@ public class UsageStatsDatabaseTest { mIntervalStats.keyguardHiddenTracker.count = 5; mIntervalStats.keyguardHiddenTracker.duration = 4444444; - if (mIntervalStats.events == null) { - mIntervalStats.events = new EventList(); - } - for (int i = 0; i < numberOfEvents; i++) { Event event = new Event(); final int packageInt = ((i / 3) % 7); //clusters of 3 events from 7 "apps" @@ -320,20 +315,9 @@ public class UsageStatsDatabaseTest { } } assertEquals(stats1.activeConfiguration, stats2.activeConfiguration); - - if (stats1.events == null) { - // If stats1 events are null, stats2 should be null or empty - if (stats2.events != null) { - assertEquals(stats2.events.size(), 0); - } - } else if (stats2.events == null) { - // If stats2 events are null, stats1 should be null or empty - assertEquals(stats1.events.size(), 0); - } else { - assertEquals(stats1.events.size(), stats2.events.size()); - for (int i = 0; i < stats1.events.size(); i++) { - compareUsageEvent(stats1.events.get(i), stats2.events.get(i), i, minVersion); - } + assertEquals(stats1.events.size(), stats2.events.size()); + for (int i = 0; i < stats1.events.size(); i++) { + compareUsageEvent(stats1.events.get(i), stats2.events.get(i), i, minVersion); } } @@ -421,7 +405,7 @@ public class UsageStatsDatabaseTest { // Clear non backed up data from expected IntervalStats mIntervalStats.activeConfiguration = null; mIntervalStats.configurations.clear(); - if (mIntervalStats.events != null) mIntervalStats.events.clear(); + mIntervalStats.events.clear(); // The written and read IntervalStats should match compareIntervalStats(mIntervalStats, stats.get(0), version); diff --git a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java index dff680944525..4756fb4d4948 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java +++ b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java @@ -930,39 +930,37 @@ public class UsageStatsDatabase { } } - if (statsOut.events != null) { - final int eventSize = statsOut.events.size(); - for (int i = 0; i < eventSize; i++) { - final UsageEvents.Event event = statsOut.events.get(i); - if (event.mPackage.isEmpty()) { - if (failures++ < failureLogLimit) { - sb.append("\nUnexpected empty empty package name loaded"); - } + final int eventSize = statsOut.events.size(); + for (int i = 0; i < eventSize; i++) { + final UsageEvents.Event event = statsOut.events.get(i); + if (event.mPackage.isEmpty()) { + if (failures++ < failureLogLimit) { + sb.append("\nUnexpected empty empty package name loaded"); } - if (event.mTimeStamp < statsOut.beginTime || event.mTimeStamp > statsOut.endTime) { - if (failures++ < failureLogLimit) { - sb.append("\nUnexpected event timestamp "); - sb.append(event.mTimeStamp); - sb.append(" loaded (beginTime : "); - sb.append(statsOut.beginTime); - sb.append(", endTime : "); - sb.append(statsOut.endTime); - sb.append(")"); - } + } + if (event.mTimeStamp < statsOut.beginTime || event.mTimeStamp > statsOut.endTime) { + if (failures++ < failureLogLimit) { + sb.append("\nUnexpected event timestamp "); + sb.append(event.mTimeStamp); + sb.append(" loaded (beginTime : "); + sb.append(statsOut.beginTime); + sb.append(", endTime : "); + sb.append(statsOut.endTime); + sb.append(")"); } - if (event.mEventType < 0 || event.mEventType > UsageEvents.Event.MAX_EVENT_TYPE) { - if (failures++ < failureLogLimit) { - sb.append("\nUnexpected event type "); - sb.append(event.mEventType); - sb.append(" loaded"); - } + } + if (event.mEventType < 0 || event.mEventType > UsageEvents.Event.MAX_EVENT_TYPE) { + if (failures++ < failureLogLimit) { + sb.append("\nUnexpected event type "); + sb.append(event.mEventType); + sb.append(" loaded"); } - if ((event.mFlags & ~UsageEvents.Event.VALID_FLAG_BITS) != 0) { - if (failures++ < failureLogLimit) { - sb.append("\nUnexpected event flag bit 0b"); - sb.append(Integer.toBinaryString(event.mFlags)); - sb.append(" loaded"); - } + } + if ((event.mFlags & ~UsageEvents.Event.VALID_FLAG_BITS) != 0) { + if (failures++ < failureLogLimit) { + sb.append("\nUnexpected event flag bit 0b"); + sb.append(Integer.toBinaryString(event.mFlags)); + sb.append(" loaded"); } } } @@ -1198,7 +1196,7 @@ public class UsageStatsDatabase { if (stats == null) return; stats.activeConfiguration = null; stats.configurations.clear(); - if (stats.events != null) stats.events.clear(); + stats.events.clear(); } private byte[] serializeIntervalStats(IntervalStats stats, int version) { diff --git a/services/usage/java/com/android/server/usage/UsageStatsProto.java b/services/usage/java/com/android/server/usage/UsageStatsProto.java index 11d49eb40bc0..63bf7e7629a9 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsProto.java +++ b/services/usage/java/com/android/server/usage/UsageStatsProto.java @@ -16,7 +16,6 @@ package com.android.server.usage; import android.app.usage.ConfigurationStats; -import android.app.usage.EventList; import android.app.usage.UsageEvents; import android.app.usage.UsageStats; import android.content.res.Configuration; @@ -303,10 +302,6 @@ final class UsageStatsProto { if (event.mPackage == null) { throw new ProtocolException("no package field present"); } - - if (statsOut.events == null) { - statsOut.events = new EventList(); - } statsOut.events.insert(event); } @@ -514,10 +509,7 @@ final class UsageStatsProto { statsOut.packageStats.clear(); statsOut.configurations.clear(); statsOut.activeConfiguration = null; - - if (statsOut.events != null) { - statsOut.events.clear(); - } + statsOut.events.clear(); while (true) { switch (proto.nextField()) { @@ -607,7 +599,7 @@ final class UsageStatsProto { writeConfigStats(proto, IntervalStatsProto.CONFIGURATIONS, stats, stats.configurations.valueAt(i), active); } - final int eventCount = stats.events != null ? stats.events.size() : 0; + final int eventCount = stats.events.size(); for (int i = 0; i < eventCount; i++) { writeEvent(proto, IntervalStatsProto.EVENT_LOG, stats, stats.events.get(i)); } diff --git a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java index eddf8f9b7254..e39cd87f2314 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java +++ b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java @@ -384,10 +384,7 @@ final class UsageStatsXmlV1 { statsOut.packageStats.clear(); statsOut.configurations.clear(); statsOut.activeConfiguration = null; - - if (statsOut.events != null) { - statsOut.events.clear(); - } + statsOut.events.clear(); statsOut.endTime = statsOut.beginTime + XmlUtils.readLongAttribute(parser, END_TIME_ATTR); try { @@ -481,7 +478,7 @@ final class UsageStatsXmlV1 { xml.endTag(null, CONFIGURATIONS_TAG); xml.startTag(null, EVENT_LOG_TAG); - final int eventCount = stats.events != null ? stats.events.size() : 0; + final int eventCount = stats.events.size(); for (int i = 0; i < eventCount; i++) { writeEvent(xml, stats, stats.events.get(i)); } diff --git a/tests/UsageStatsPerfTests/src/com/android/frameworks/perftests/usage/tests/UsageStatsDatabasePerfTest.java b/tests/UsageStatsPerfTests/src/com/android/frameworks/perftests/usage/tests/UsageStatsDatabasePerfTest.java index 7a5e7325ad22..e2a4c26606bf 100644 --- a/tests/UsageStatsPerfTests/src/com/android/frameworks/perftests/usage/tests/UsageStatsDatabasePerfTest.java +++ b/tests/UsageStatsPerfTests/src/com/android/frameworks/perftests/usage/tests/UsageStatsDatabasePerfTest.java @@ -18,7 +18,6 @@ package com.android.frameworks.perftests.usage.tests; import static junit.framework.Assert.assertEquals; -import android.app.usage.EventList; import android.app.usage.UsageEvents; import android.app.usage.UsageStatsManager; import android.content.Context; @@ -84,9 +83,6 @@ public class UsageStatsDatabasePerfTest { private static void populateIntervalStats(IntervalStats intervalStats, int packageCount, int eventsPerPackage) { - if (intervalStats.events == null) { - intervalStats.events = new EventList(); - } for (int pkg = 0; pkg < packageCount; pkg++) { UsageEvents.Event event = new UsageEvents.Event(); event.mPackage = "fake.package.name" + pkg; |