@@ -19,45 +19,24 @@ package com.google.samples.apps.nowinandroid.startup
1919import androidx.benchmark.macro.BaselineProfileMode.Disable
2020import androidx.benchmark.macro.BaselineProfileMode.Require
2121import androidx.benchmark.macro.CompilationMode
22- import androidx.benchmark.macro.StartupMode
2322import androidx.benchmark.macro.StartupMode.COLD
24- import androidx.benchmark.macro.StartupMode.HOT
25- import androidx.benchmark.macro.StartupMode.WARM
2623import androidx.benchmark.macro.StartupTimingMetric
2724import androidx.benchmark.macro.junit4.MacrobenchmarkRule
2825import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
2926import com.google.samples.apps.nowinandroid.PACKAGE_NAME
27+ import com.google.samples.apps.nowinandroid.allowNotifications
3028import com.google.samples.apps.nowinandroid.foryou.forYouWaitForContent
3129import org.junit.Rule
3230import org.junit.Test
3331import org.junit.runner.RunWith
3432
3533/* *
34+ * Enables app startups from various states of baseline profile or [CompilationMode]s.
3635 * Run this benchmark from Studio to see startup measurements, and captured system traces
3736 * for investigating your app's performance from a cold state.
3837 */
3938@RunWith(AndroidJUnit4ClassRunner ::class )
40- class ColdStartupBenchmark : AbstractStartupBenchmark (COLD )
41-
42- /* *
43- * Run this benchmark from Studio to see startup measurements, and captured system traces
44- * for investigating your app's performance from a warm state.
45- */
46- @RunWith(AndroidJUnit4ClassRunner ::class )
47- class WarmStartupBenchmark : AbstractStartupBenchmark (WARM )
48-
49- /* *
50- * Run this benchmark from Studio to see startup measurements, and captured system traces
51- * for investigating your app's performance from a hot state.
52- */
53- @RunWith(AndroidJUnit4ClassRunner ::class )
54- class HotStartupBenchmark : AbstractStartupBenchmark (HOT )
55-
56- /* *
57- * Base class for benchmarks with different startup modes.
58- * Enables app startups from various states of baseline profile or [CompilationMode]s.
59- */
60- abstract class AbstractStartupBenchmark (private val startupMode : StartupMode ) {
39+ class StartupBenchmark {
6140 @get:Rule
6241 val benchmarkRule = MacrobenchmarkRule ()
6342
@@ -80,9 +59,10 @@ abstract class AbstractStartupBenchmark(private val startupMode: StartupMode) {
8059 metrics = listOf (StartupTimingMetric ()),
8160 compilationMode = compilationMode,
8261 iterations = 10 ,
83- startupMode = startupMode ,
62+ startupMode = COLD ,
8463 setupBlock = {
8564 pressHome()
65+ allowNotifications()
8666 },
8767 ) {
8868 startActivityAndWait()
0 commit comments