Bring view and compose target activities closer in line
Test: manually launching activities
Additionally, removed usage of reportFullyDrawn which aren't triggered
at correct time.
Change-Id: I3880bd0e209958a7c133a20efb5d36f5068d66db
diff --git a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/TrivialStartupActivity.kt b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/TrivialStartupActivity.kt
index 5cf2081..52792d1 100644
--- a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/TrivialStartupActivity.kt
+++ b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/TrivialStartupActivity.kt
@@ -16,11 +16,8 @@
package androidx.benchmark.integration.macrobenchmark.target
-import android.app.Activity
-import android.os.Build
import android.os.Bundle
import android.widget.TextView
-import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
class TrivialStartupActivity : AppCompatActivity() {
@@ -30,18 +27,5 @@
val notice = findViewById<TextView>(R.id.txtNotice)
notice.setText(R.string.app_notice)
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- KitkatActivityCompat.reportFullyDrawn(this)
- }
- }
-}
-
-/**
- * Wrapper avoids UnsafeApiCall lint
- */
-@RequiresApi(19)
-object KitkatActivityCompat {
- fun reportFullyDrawn(activity: Activity) {
- activity.reportFullyDrawn()
}
}
diff --git a/benchmark/integration-tests/macrobenchmark-target/src/main/res/layout/recycler_row.xml b/benchmark/integration-tests/macrobenchmark-target/src/main/res/layout/recycler_row.xml
index fa8493f..7e77ae3 100644
--- a/benchmark/integration-tests/macrobenchmark-target/src/main/res/layout/recycler_row.xml
+++ b/benchmark/integration-tests/macrobenchmark-target/src/main/res/layout/recycler_row.xml
@@ -13,46 +13,32 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
+<androidx.cardview.widget.CardView
+ xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="64dp"
- android:padding="8dp">
-
- <androidx.cardview.widget.CardView
- android:id="@+id/card"
+ android:layout_margin="8dp">
+ <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:padding="8dp">
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
- <androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/content"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp"
+ tools:text="Sample text" />
+ <Space
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" />
- <androidx.appcompat.widget.AppCompatCheckBox
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:layout_marginEnd="16dp"
- android:layout_marginRight="16dp"
- android:layout_marginTop="8dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/content"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="16dp"
- android:layout_marginStart="16dp"
- android:layout_marginTop="8dp"
- android:padding="8dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Sample text" />
- </androidx.constraintlayout.widget.ConstraintLayout>
- </androidx.cardview.widget.CardView>
-</LinearLayout>
\ No newline at end of file
+ <androidx.appcompat.widget.AppCompatCheckBox
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp" />
+ </androidx.appcompat.widget.LinearLayoutCompat>
+</androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/StartupUtils.kt b/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/StartupUtils.kt
index e8c152e..223a417 100644
--- a/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/StartupUtils.kt
+++ b/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/StartupUtils.kt
@@ -28,7 +28,7 @@
fun MacrobenchmarkRule.measureStartup(
profileCompiled: Boolean,
startupMode: StartupMode,
- iterations: Int = 5,
+ iterations: Int = 3,
setupIntent: Intent.() -> Unit = {}
) = measureStartupRepeated(
MacrobenchmarkConfig(
diff --git a/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt b/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt
index af3e850..de2900a 100644
--- a/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt
+++ b/benchmark/integration-tests/macrobenchmark/src/androidTest/java/androidx/benchmark/integration/macrobenchmark/TrivialStartupBenchmark.kt
@@ -32,7 +32,7 @@
@Test
fun startup() = benchmarkRule.measureStartup(
- profileCompiled = true,
+ profileCompiled = false,
startupMode = startupMode
) {
action = "androidx.benchmark.integration.macrobenchmark.target.TRIVIAL_STARTUP_ACTIVITY"
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyColumnActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyColumnActivity.kt
index a0461f4..8fa8f88 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyColumnActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyColumnActivity.kt
@@ -21,11 +21,15 @@
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumnFor
+import androidx.compose.material.Card
import androidx.compose.material.Checkbox
import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.setContent
+import androidx.compose.ui.unit.dp
class LazyColumnActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
@@ -39,17 +43,9 @@
Entry("Item $it")
},
modifier = Modifier.fillMaxWidth(),
- itemContent = { item ->
- Row {
- Text(text = item.contents)
- Spacer(modifier = Modifier.weight(1f, fill = true))
- Checkbox(checked = false, onCheckedChange = {})
- }
- }
+ itemContent = { ListRow(it) }
)
}
-
- reportFullyDrawn()
}
companion object {
@@ -57,4 +53,22 @@
}
}
+@Composable
+private fun ListRow(entry: Entry) {
+ Card(modifier = Modifier.padding(8.dp)) {
+ Row {
+ Text(
+ text = entry.contents,
+ modifier = Modifier.padding(16.dp)
+ )
+ Spacer(modifier = Modifier.weight(1f, fill = true))
+ Checkbox(
+ checked = false,
+ onCheckedChange = {},
+ modifier = Modifier.padding(16.dp)
+ )
+ }
+ }
+}
+
data class Entry(val contents: String)
\ No newline at end of file
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt
index ca32dc3..49dd58e 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt
@@ -28,7 +28,5 @@
setContent {
Text("Compose Macrobenchmark Target")
}
-
- reportFullyDrawn()
}
}
\ No newline at end of file
diff --git a/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/StartupUtils.kt b/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/StartupUtils.kt
index 4ef10ad4..50125cd 100644
--- a/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/StartupUtils.kt
+++ b/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/StartupUtils.kt
@@ -32,7 +32,7 @@
fun MacrobenchmarkRule.measureStartup(
profileCompiled: Boolean,
startupMode: StartupMode,
- iterations: Int = 5,
+ iterations: Int = 3,
setupIntent: Intent.() -> Unit = {}
) = measureStartupRepeated(
MacrobenchmarkConfig(
diff --git a/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt b/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt
index 0d92fdc..e6f7413 100644
--- a/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/androidTest/java/androidx/compose/integration/macrobenchmark/TrivialStartupBenchmark.kt
@@ -32,7 +32,7 @@
@Test
fun startup() = benchmarkRule.measureStartup(
- profileCompiled = true,
+ profileCompiled = false,
startupMode = startupMode
) {
action = "androidx.compose.integration.macrobenchmark.target.TRIVIAL_STARTUP_ACTIVITY"