diff options
author | Hui Yu <huiyu@google.com> | 2018-10-04 15:05:21 -0700 |
---|---|---|
committer | Hui Yu <huiyu@google.com> | 2018-11-12 17:41:03 -0800 |
commit | e361a23bba60ae77fc5e09666c44f9159eb8a0d0 (patch) | |
tree | 566ab038052384728df63952af3a2190f80f451b /tests/UsageStatsPerfTests/src | |
parent | 581cccdde99adfae7d05b51fa86acdb83d80b1bf (diff) |
Add UsageStats events for foreground service start/stop.
1. Send FOREGROUND_SERVICE_START event when foreground service starts.
Send FOREGROUND_SERVICE_STOP event when foreground service stops.
2. One app can multiple foreground services and multiple services can be
started. Because this, in UsageStats, change mLastForegroundEvent to
className to event map, do this for both activity and foreground
service. Change UsageStatsProto and UsageStatsXmlV1 to support this
change.
3. Add more test cases in UsageStatsTest.java.
Test: start music player which is foreground service, observce these
two events when start play and pause play.
Change-Id: I3dc14f5b73cc114a53b8c51f90d3011d9ace35ac
Bug: 112002260
Test: atest UsageStatsTest#testForegroundService
atest frameworks/base/services/tests/servicestests/src/com/android/server/usage/UsageStatsDatabaseTest.java
atest frameworks/base/core/tests/coretests/src/android/app/usage/UsageStatsTest.java
Diffstat (limited to 'tests/UsageStatsPerfTests/src')
-rw-r--r-- | tests/UsageStatsPerfTests/src/com/android/frameworks/perftests/usage/tests/UsageStatsDatabasePerfTest.java | 14 |
1 files changed, 8 insertions, 6 deletions
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 8467bee819cb..be74a6d162ae 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,10 +18,6 @@ package com.android.frameworks.perftests.usage.tests; import static junit.framework.Assert.assertEquals; -import com.android.server.usage.UsageStatsDatabase; -import com.android.server.usage.UsageStatsDatabase.StatCombiner; -import com.android.server.usage.IntervalStats; - import android.app.usage.EventList; import android.app.usage.UsageEvents; import android.app.usage.UsageStatsManager; @@ -29,10 +25,14 @@ import android.content.Context; import android.os.SystemClock; import android.perftests.utils.ManualBenchmarkState; import android.perftests.utils.PerfManualStatusReporter; -import android.support.test.filters.LargeTest; import android.support.test.InstrumentationRegistry; +import android.support.test.filters.LargeTest; import android.support.test.runner.AndroidJUnit4; +import com.android.server.usage.IntervalStats; +import com.android.server.usage.UsageStatsDatabase; +import com.android.server.usage.UsageStatsDatabase.StatCombiner; + import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; @@ -90,11 +90,13 @@ public class UsageStatsDatabasePerfTest { for (int pkg = 0; pkg < packageCount; pkg++) { UsageEvents.Event event = new UsageEvents.Event(); event.mPackage = "fake.package.name" + pkg; + event.mClass = event.mPackage + ".class1"; event.mTimeStamp = 1; event.mEventType = UsageEvents.Event.MOVE_TO_FOREGROUND; for (int evt = 0; evt < eventsPerPackage; evt++) { intervalStats.events.insert(event); - intervalStats.update(event.mPackage, event.mTimeStamp, event.mEventType); + intervalStats.update(event.mPackage, event.mClass, event.mTimeStamp, + event.mEventType); } } } |