summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Yu <huiyu@google.com>2018-12-13 15:20:43 -0800
committerHui Yu <huiyu@google.com>2019-02-20 18:10:29 -0800
commitf6118b3d170a59d86a20c1e21f5878f0200dbd83 (patch)
tree9ef71f2edd01b2541888dce11e9025d5864a39ee
parentff5d286d092ca60945869120583c429348271e3c (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
-rw-r--r--services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java24
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsDatabase.java60
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsProto.java12
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsXmlV1.java7
-rw-r--r--tests/UsageStatsPerfTests/src/com/android/frameworks/perftests/usage/tests/UsageStatsDatabasePerfTest.java4
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;