Merge "Remove api_legacy files" into androidx-main
diff --git a/activity/activity-compose/build.gradle b/activity/activity-compose/build.gradle
index f763d59..907ed2e 100644
--- a/activity/activity-compose/build.gradle
+++ b/activity/activity-compose/build.gradle
@@ -26,13 +26,13 @@
}
dependencies {
- kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc01"
+ kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc02"
implementation(libs.kotlinStdlib)
- api "androidx.compose.runtime:runtime:1.0.0-rc01"
- api "androidx.compose.runtime:runtime-saveable:1.0.0-rc01"
+ api "androidx.compose.runtime:runtime:1.0.0-rc02"
+ api "androidx.compose.runtime:runtime-saveable:1.0.0-rc02"
api(projectOrArtifact(":activity:activity-ktx"))
- api("androidx.compose.ui:ui:1.0.0-rc01")
+ api("androidx.compose.ui:ui:1.0.0-rc02")
androidTestImplementation projectOrArtifact(":compose:ui:ui-test-junit4")
androidTestImplementation projectOrArtifact(":compose:material:material")
diff --git a/activity/activity-compose/samples/build.gradle b/activity/activity-compose/samples/build.gradle
index 7848084..e5e84a5 100644
--- a/activity/activity-compose/samples/build.gradle
+++ b/activity/activity-compose/samples/build.gradle
@@ -25,14 +25,14 @@
}
dependencies {
- kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc01"
+ kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc02"
implementation(libs.kotlinStdlib)
compileOnly projectOrArtifact(":annotation:annotation-sampled")
- implementation "androidx.compose.foundation:foundation:1.0.0-rc01"
+ implementation "androidx.compose.foundation:foundation:1.0.0-rc02"
implementation projectOrArtifact(":activity:activity-compose")
implementation projectOrArtifact(":activity:activity-ktx")
- implementation "androidx.compose.material:material:1.0.0-rc01"
+ implementation "androidx.compose.material:material:1.0.0-rc02"
}
androidx {
diff --git a/appcompat/appcompat/build.gradle b/appcompat/appcompat/build.gradle
index ef97181..962d0ca 100644
--- a/appcompat/appcompat/build.gradle
+++ b/appcompat/appcompat/build.gradle
@@ -17,8 +17,8 @@
implementation(project(":emoji2:emoji2-views-helper"))
implementation("androidx.collection:collection:1.0.0")
api("androidx.cursoradapter:cursoradapter:1.0.0")
- api("androidx.activity:activity:1.2.3")
- api("androidx.fragment:fragment:1.3.4")
+ api("androidx.activity:activity:1.2.4")
+ api("androidx.fragment:fragment:1.3.6")
api(project(":appcompat:appcompat-resources"))
api("androidx.drawerlayout:drawerlayout:1.0.0")
implementation("androidx.lifecycle:lifecycle-runtime:2.3.1")
diff --git a/benchmark/common/api/1.0.0-beta01.txt b/benchmark/benchmark-common/api/1.0.0-beta01.txt
similarity index 100%
rename from benchmark/common/api/1.0.0-beta01.txt
rename to benchmark/benchmark-common/api/1.0.0-beta01.txt
diff --git a/benchmark/common/api/1.0.0-rc01.txt b/benchmark/benchmark-common/api/1.0.0-rc01.txt
similarity index 100%
rename from benchmark/common/api/1.0.0-rc01.txt
rename to benchmark/benchmark-common/api/1.0.0-rc01.txt
diff --git a/benchmark/common/api/current.ignore b/benchmark/benchmark-common/api/current.ignore
similarity index 100%
rename from benchmark/common/api/current.ignore
rename to benchmark/benchmark-common/api/current.ignore
diff --git a/benchmark/common/api/current.txt b/benchmark/benchmark-common/api/current.txt
similarity index 100%
rename from benchmark/common/api/current.txt
rename to benchmark/benchmark-common/api/current.txt
diff --git a/benchmark/common/api/public_plus_experimental_1.0.0-beta01.txt b/benchmark/benchmark-common/api/public_plus_experimental_1.0.0-beta01.txt
similarity index 100%
rename from benchmark/common/api/public_plus_experimental_1.0.0-beta01.txt
rename to benchmark/benchmark-common/api/public_plus_experimental_1.0.0-beta01.txt
diff --git a/benchmark/common/api/public_plus_experimental_1.0.0-rc01.txt b/benchmark/benchmark-common/api/public_plus_experimental_1.0.0-rc01.txt
similarity index 100%
rename from benchmark/common/api/public_plus_experimental_1.0.0-rc01.txt
rename to benchmark/benchmark-common/api/public_plus_experimental_1.0.0-rc01.txt
diff --git a/benchmark/common/api/public_plus_experimental_current.txt b/benchmark/benchmark-common/api/public_plus_experimental_current.txt
similarity index 100%
rename from benchmark/common/api/public_plus_experimental_current.txt
rename to benchmark/benchmark-common/api/public_plus_experimental_current.txt
diff --git a/benchmark/common/api/res-1.0.0-beta01.txt b/benchmark/benchmark-common/api/res-1.0.0-beta01.txt
similarity index 100%
rename from benchmark/common/api/res-1.0.0-beta01.txt
rename to benchmark/benchmark-common/api/res-1.0.0-beta01.txt
diff --git a/benchmark/common/api/res-1.0.0-rc01.txt b/benchmark/benchmark-common/api/res-1.0.0-rc01.txt
similarity index 100%
rename from benchmark/common/api/res-1.0.0-rc01.txt
rename to benchmark/benchmark-common/api/res-1.0.0-rc01.txt
diff --git a/benchmark/common/api/res-current.txt b/benchmark/benchmark-common/api/res-current.txt
similarity index 100%
rename from benchmark/common/api/res-current.txt
rename to benchmark/benchmark-common/api/res-current.txt
diff --git a/benchmark/common/api/restricted_1.0.0-beta01.txt b/benchmark/benchmark-common/api/restricted_1.0.0-beta01.txt
similarity index 100%
rename from benchmark/common/api/restricted_1.0.0-beta01.txt
rename to benchmark/benchmark-common/api/restricted_1.0.0-beta01.txt
diff --git a/benchmark/common/api/restricted_1.0.0-rc01.txt b/benchmark/benchmark-common/api/restricted_1.0.0-rc01.txt
similarity index 100%
rename from benchmark/common/api/restricted_1.0.0-rc01.txt
rename to benchmark/benchmark-common/api/restricted_1.0.0-rc01.txt
diff --git a/benchmark/common/api/restricted_current.ignore b/benchmark/benchmark-common/api/restricted_current.ignore
similarity index 100%
rename from benchmark/common/api/restricted_current.ignore
rename to benchmark/benchmark-common/api/restricted_current.ignore
diff --git a/benchmark/common/api/restricted_current.txt b/benchmark/benchmark-common/api/restricted_current.txt
similarity index 100%
rename from benchmark/common/api/restricted_current.txt
rename to benchmark/benchmark-common/api/restricted_current.txt
diff --git a/benchmark/common/build.gradle b/benchmark/benchmark-common/build.gradle
similarity index 100%
rename from benchmark/common/build.gradle
rename to benchmark/benchmark-common/build.gradle
diff --git a/benchmark/common/src/androidTest/AndroidManifest.xml b/benchmark/benchmark-common/src/androidTest/AndroidManifest.xml
similarity index 100%
rename from benchmark/common/src/androidTest/AndroidManifest.xml
rename to benchmark/benchmark-common/src/androidTest/AndroidManifest.xml
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/Allocator.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/Allocator.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/Allocator.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/Allocator.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/CpuInfoTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/CpuInfoTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/CpuInfoTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/CpuInfoTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/InstrumentationResultsTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/InstrumentationResultsTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/InstrumentationResultsTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/InstrumentationResultsTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/MetricCaptureTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricCaptureTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/MetricCaptureTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricCaptureTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/OutputsTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/ProfilerTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ProfilerTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/ProfilerTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ProfilerTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/ShellTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/ShellTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/StatsTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/StatsTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/StatsTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/StatsTest.kt
diff --git a/benchmark/common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt
similarity index 100%
rename from benchmark/common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt
rename to benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt
diff --git a/benchmark/common/src/main/AndroidManifest.xml b/benchmark/benchmark-common/src/main/AndroidManifest.xml
similarity index 100%
rename from benchmark/common/src/main/AndroidManifest.xml
rename to benchmark/benchmark-common/src/main/AndroidManifest.xml
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Api21.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api21.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Api21.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Api21.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Api24.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api24.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Api24.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Api24.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Api27.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api27.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Api27.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Api27.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Api29.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api29.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Api29.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Api29.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Arguments.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Arguments.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/BenchmarkResult.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkResult.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/BenchmarkResult.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkResult.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/BenchmarkState.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkState.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/BenchmarkState.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkState.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/CpuInfo.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/CpuInfo.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/CpuInfo.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/CpuInfo.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Errors.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Errors.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Errors.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Errors.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/InstrumentationResults.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/InstrumentationResults.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/InstrumentationResults.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/InstrumentationResults.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/IsolationActivity.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/IsolationActivity.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/IsolationActivity.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/IsolationActivity.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/MemInfo.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MemInfo.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/MemInfo.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/MemInfo.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/MetricCapture.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricCapture.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/MetricCapture.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricCapture.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/MetricNameUtils.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricNameUtils.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/MetricNameUtils.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricNameUtils.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/MetricsContainer.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricsContainer.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/MetricsContainer.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricsContainer.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Outputs.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Outputs.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Outputs.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Outputs.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Profiler.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Profiler.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Profiler.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Profiler.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/ResultWriter.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ResultWriter.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/ResultWriter.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/ResultWriter.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Shell.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Shell.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Shell.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Shell.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/Stats.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Stats.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/Stats.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/Stats.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/ThreadPriority.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ThreadPriority.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/ThreadPriority.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/ThreadPriority.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/ThrottleDetector.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ThrottleDetector.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/ThrottleDetector.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/ThrottleDetector.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/WarmupManager.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/WarmupManager.kt
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/WarmupManager.kt
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/WarmupManager.kt
diff --git a/benchmark/common/src/main/java/androidx/benchmark/simpleperf/ProfileSession.java b/benchmark/benchmark-common/src/main/java/androidx/benchmark/simpleperf/ProfileSession.java
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/simpleperf/ProfileSession.java
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/simpleperf/ProfileSession.java
diff --git a/benchmark/common/src/main/java/androidx/benchmark/simpleperf/RecordOptions.java b/benchmark/benchmark-common/src/main/java/androidx/benchmark/simpleperf/RecordOptions.java
similarity index 100%
rename from benchmark/common/src/main/java/androidx/benchmark/simpleperf/RecordOptions.java
rename to benchmark/benchmark-common/src/main/java/androidx/benchmark/simpleperf/RecordOptions.java
diff --git a/benchmark/common/src/main/res/drawable-nodpi/logo.png b/benchmark/benchmark-common/src/main/res/drawable-nodpi/logo.png
similarity index 100%
rename from benchmark/common/src/main/res/drawable-nodpi/logo.png
rename to benchmark/benchmark-common/src/main/res/drawable-nodpi/logo.png
Binary files differ
diff --git a/benchmark/common/src/main/res/layout/isolation_activity.xml b/benchmark/benchmark-common/src/main/res/layout/isolation_activity.xml
similarity index 100%
rename from benchmark/common/src/main/res/layout/isolation_activity.xml
rename to benchmark/benchmark-common/src/main/res/layout/isolation_activity.xml
diff --git a/benchmark/junit4/api/1.0.0-beta01.txt b/benchmark/benchmark-junit4/api/1.0.0-beta01.txt
similarity index 100%
rename from benchmark/junit4/api/1.0.0-beta01.txt
rename to benchmark/benchmark-junit4/api/1.0.0-beta01.txt
diff --git a/benchmark/junit4/api/1.0.0-rc01.txt b/benchmark/benchmark-junit4/api/1.0.0-rc01.txt
similarity index 100%
rename from benchmark/junit4/api/1.0.0-rc01.txt
rename to benchmark/benchmark-junit4/api/1.0.0-rc01.txt
diff --git a/benchmark/junit4/api/current.txt b/benchmark/benchmark-junit4/api/current.txt
similarity index 100%
rename from benchmark/junit4/api/current.txt
rename to benchmark/benchmark-junit4/api/current.txt
diff --git a/benchmark/junit4/api/public_plus_experimental_1.0.0-beta01.txt b/benchmark/benchmark-junit4/api/public_plus_experimental_1.0.0-beta01.txt
similarity index 100%
rename from benchmark/junit4/api/public_plus_experimental_1.0.0-beta01.txt
rename to benchmark/benchmark-junit4/api/public_plus_experimental_1.0.0-beta01.txt
diff --git a/benchmark/junit4/api/public_plus_experimental_1.0.0-rc01.txt b/benchmark/benchmark-junit4/api/public_plus_experimental_1.0.0-rc01.txt
similarity index 100%
rename from benchmark/junit4/api/public_plus_experimental_1.0.0-rc01.txt
rename to benchmark/benchmark-junit4/api/public_plus_experimental_1.0.0-rc01.txt
diff --git a/benchmark/junit4/api/public_plus_experimental_current.txt b/benchmark/benchmark-junit4/api/public_plus_experimental_current.txt
similarity index 100%
rename from benchmark/junit4/api/public_plus_experimental_current.txt
rename to benchmark/benchmark-junit4/api/public_plus_experimental_current.txt
diff --git a/benchmark/junit4/api/res-1.0.0-beta01.txt b/benchmark/benchmark-junit4/api/res-1.0.0-beta01.txt
similarity index 100%
rename from benchmark/junit4/api/res-1.0.0-beta01.txt
rename to benchmark/benchmark-junit4/api/res-1.0.0-beta01.txt
diff --git a/benchmark/junit4/api/res-1.0.0-rc01.txt b/benchmark/benchmark-junit4/api/res-1.0.0-rc01.txt
similarity index 100%
rename from benchmark/junit4/api/res-1.0.0-rc01.txt
rename to benchmark/benchmark-junit4/api/res-1.0.0-rc01.txt
diff --git a/benchmark/macro-junit4/api/res-current.txt b/benchmark/benchmark-junit4/api/res-current.txt
similarity index 100%
copy from benchmark/macro-junit4/api/res-current.txt
copy to benchmark/benchmark-junit4/api/res-current.txt
diff --git a/benchmark/junit4/api/restricted_1.0.0-beta01.txt b/benchmark/benchmark-junit4/api/restricted_1.0.0-beta01.txt
similarity index 100%
rename from benchmark/junit4/api/restricted_1.0.0-beta01.txt
rename to benchmark/benchmark-junit4/api/restricted_1.0.0-beta01.txt
diff --git a/benchmark/junit4/api/restricted_1.0.0-rc01.txt b/benchmark/benchmark-junit4/api/restricted_1.0.0-rc01.txt
similarity index 100%
rename from benchmark/junit4/api/restricted_1.0.0-rc01.txt
rename to benchmark/benchmark-junit4/api/restricted_1.0.0-rc01.txt
diff --git a/benchmark/junit4/api/restricted_current.txt b/benchmark/benchmark-junit4/api/restricted_current.txt
similarity index 100%
rename from benchmark/junit4/api/restricted_current.txt
rename to benchmark/benchmark-junit4/api/restricted_current.txt
diff --git a/benchmark/junit4/build.gradle b/benchmark/benchmark-junit4/build.gradle
similarity index 100%
rename from benchmark/junit4/build.gradle
rename to benchmark/benchmark-junit4/build.gradle
diff --git a/benchmark/junit4/src/androidTest/AndroidManifest.xml b/benchmark/benchmark-junit4/src/androidTest/AndroidManifest.xml
similarity index 100%
rename from benchmark/junit4/src/androidTest/AndroidManifest.xml
rename to benchmark/benchmark-junit4/src/androidTest/AndroidManifest.xml
diff --git a/benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/ActivityBenchmarkTests.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ActivityBenchmarkTests.kt
similarity index 100%
rename from benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/ActivityBenchmarkTests.kt
rename to benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ActivityBenchmarkTests.kt
diff --git a/benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/AndroidBenchmarkRunnerTest.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/AndroidBenchmarkRunnerTest.kt
similarity index 100%
rename from benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/AndroidBenchmarkRunnerTest.kt
rename to benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/AndroidBenchmarkRunnerTest.kt
diff --git a/benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt
similarity index 100%
rename from benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt
rename to benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt
diff --git a/benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleAnnotationTest.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleAnnotationTest.kt
similarity index 100%
rename from benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleAnnotationTest.kt
rename to benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleAnnotationTest.kt
diff --git a/benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt
similarity index 100%
rename from benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt
rename to benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt
diff --git a/benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt
similarity index 100%
rename from benchmark/junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt
rename to benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt
diff --git a/benchmark/junit4/src/main/AndroidManifest.xml b/benchmark/benchmark-junit4/src/main/AndroidManifest.xml
similarity index 100%
rename from benchmark/junit4/src/main/AndroidManifest.xml
rename to benchmark/benchmark-junit4/src/main/AndroidManifest.xml
diff --git a/benchmark/junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt
similarity index 100%
rename from benchmark/junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt
rename to benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt
diff --git a/benchmark/junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
similarity index 100%
rename from benchmark/junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
rename to benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
diff --git a/benchmark/junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt
similarity index 100%
rename from benchmark/junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt
rename to benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt
diff --git a/benchmark/macro-junit4/api/current.txt b/benchmark/benchmark-macro-junit4/api/current.txt
similarity index 100%
rename from benchmark/macro-junit4/api/current.txt
rename to benchmark/benchmark-macro-junit4/api/current.txt
diff --git a/benchmark/macro-junit4/api/public_plus_experimental_current.txt b/benchmark/benchmark-macro-junit4/api/public_plus_experimental_current.txt
similarity index 100%
rename from benchmark/macro-junit4/api/public_plus_experimental_current.txt
rename to benchmark/benchmark-macro-junit4/api/public_plus_experimental_current.txt
diff --git a/benchmark/macro-junit4/api/res-current.txt b/benchmark/benchmark-macro-junit4/api/res-current.txt
similarity index 100%
rename from benchmark/macro-junit4/api/res-current.txt
rename to benchmark/benchmark-macro-junit4/api/res-current.txt
diff --git a/benchmark/macro-junit4/api/restricted_current.txt b/benchmark/benchmark-macro-junit4/api/restricted_current.txt
similarity index 100%
rename from benchmark/macro-junit4/api/restricted_current.txt
rename to benchmark/benchmark-macro-junit4/api/restricted_current.txt
diff --git a/benchmark/macro-junit4/build.gradle b/benchmark/benchmark-macro-junit4/build.gradle
similarity index 100%
rename from benchmark/macro-junit4/build.gradle
rename to benchmark/benchmark-macro-junit4/build.gradle
diff --git a/benchmark/macro-junit4/src/androidTest/java/androidx/benchmark/macro/test/PerfettoRuleTest.kt b/benchmark/benchmark-macro-junit4/src/androidTest/java/androidx/benchmark/macro/test/PerfettoRuleTest.kt
similarity index 100%
rename from benchmark/macro-junit4/src/androidTest/java/androidx/benchmark/macro/test/PerfettoRuleTest.kt
rename to benchmark/benchmark-macro-junit4/src/androidTest/java/androidx/benchmark/macro/test/PerfettoRuleTest.kt
diff --git a/benchmark/macro-junit4/src/main/AndroidManifest.xml b/benchmark/benchmark-macro-junit4/src/main/AndroidManifest.xml
similarity index 100%
rename from benchmark/macro-junit4/src/main/AndroidManifest.xml
rename to benchmark/benchmark-macro-junit4/src/main/AndroidManifest.xml
diff --git a/benchmark/macro-junit4/src/main/java/androidx/benchmark/macro/junit4/MacrobenchmarkRule.kt b/benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/MacrobenchmarkRule.kt
similarity index 100%
rename from benchmark/macro-junit4/src/main/java/androidx/benchmark/macro/junit4/MacrobenchmarkRule.kt
rename to benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/MacrobenchmarkRule.kt
diff --git a/benchmark/macro-junit4/src/main/java/androidx/benchmark/macro/junit4/PerfettoRule.kt b/benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/PerfettoRule.kt
similarity index 100%
rename from benchmark/macro-junit4/src/main/java/androidx/benchmark/macro/junit4/PerfettoRule.kt
rename to benchmark/benchmark-macro-junit4/src/main/java/androidx/benchmark/macro/junit4/PerfettoRule.kt
diff --git a/benchmark/macro/api/current.txt b/benchmark/benchmark-macro/api/current.txt
similarity index 100%
rename from benchmark/macro/api/current.txt
rename to benchmark/benchmark-macro/api/current.txt
diff --git a/benchmark/macro/api/public_plus_experimental_current.txt b/benchmark/benchmark-macro/api/public_plus_experimental_current.txt
similarity index 100%
rename from benchmark/macro/api/public_plus_experimental_current.txt
rename to benchmark/benchmark-macro/api/public_plus_experimental_current.txt
diff --git a/benchmark/macro/api/res-current.txt b/benchmark/benchmark-macro/api/res-current.txt
similarity index 100%
rename from benchmark/macro/api/res-current.txt
rename to benchmark/benchmark-macro/api/res-current.txt
diff --git a/benchmark/macro/api/restricted_current.txt b/benchmark/benchmark-macro/api/restricted_current.txt
similarity index 100%
rename from benchmark/macro/api/restricted_current.txt
rename to benchmark/benchmark-macro/api/restricted_current.txt
diff --git a/benchmark/macro/build.gradle b/benchmark/benchmark-macro/build.gradle
similarity index 100%
rename from benchmark/macro/build.gradle
rename to benchmark/benchmark-macro/build.gradle
diff --git a/benchmark/macro/src/androidTest/AndroidManifest.xml b/benchmark/benchmark-macro/src/androidTest/AndroidManifest.xml
similarity index 100%
rename from benchmark/macro/src/androidTest/AndroidManifest.xml
rename to benchmark/benchmark-macro/src/androidTest/AndroidManifest.xml
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/CompilationModeTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/CompilationModeTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/CompilationModeTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/CompilationModeTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/ConfigurableActivity.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/ConfigurableActivity.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/ConfigurableActivity.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/ConfigurableActivity.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/ConfigurationErrorTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/ConfigurationErrorTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/ConfigurationErrorTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/ConfigurationErrorTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/OutputsTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/OutputsTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/OutputsTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/OutputsTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/TrivialStartupActivity.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TrivialStartupActivity.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/TrivialStartupActivity.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/TrivialStartupActivity.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessorTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessorTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessorTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessorTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/ShellUtilsTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/ShellUtilsTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/ShellUtilsTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/ShellUtilsTest.kt
diff --git a/benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/UiStateTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/UiStateTest.kt
similarity index 100%
rename from benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/UiStateTest.kt
rename to benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/UiStateTest.kt
diff --git a/benchmark/macro/src/main/AndroidManifest.xml b/benchmark/benchmark-macro/src/main/AndroidManifest.xml
similarity index 100%
rename from benchmark/macro/src/main/AndroidManifest.xml
rename to benchmark/benchmark-macro/src/main/AndroidManifest.xml
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/Api29.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Api29.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/Api29.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Api29.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/ConfigurationError.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/ConfigurationError.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/ConfigurationError.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/ConfigurationError.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/DeviceInfo.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/DeviceInfo.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/DeviceInfo.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/DeviceInfo.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/IdeSummaryString.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/IdeSummaryString.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/IdeSummaryString.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/IdeSummaryString.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/JankCollectionHelper.java b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/JankCollectionHelper.java
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/JankCollectionHelper.java
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/JankCollectionHelper.java
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/MacrobenchmarkScope.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MacrobenchmarkScope.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/MacrobenchmarkScope.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MacrobenchmarkScope.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/Metric.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/Metric.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/StartupMode.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/StartupMode.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/StartupMode.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/StartupMode.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/Tag.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Tag.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/Tag.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Tag.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoResultsParser.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoResultsParser.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoResultsParser.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoResultsParser.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessor.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessor.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessor.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoTraceProcessor.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/ShellUtils.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/ShellUtils.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/ShellUtils.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/ShellUtils.kt
diff --git a/benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/UiState.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/UiState.kt
similarity index 100%
rename from benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/UiState.kt
rename to benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/UiState.kt
diff --git a/benchmark/macro/src/main/java/perfetto/protos/package-info.java b/benchmark/benchmark-macro/src/main/java/perfetto/protos/package-info.java
similarity index 100%
rename from benchmark/macro/src/main/java/perfetto/protos/package-info.java
rename to benchmark/benchmark-macro/src/main/java/perfetto/protos/package-info.java
diff --git a/benchmark/macro/src/main/proto/perfetto_trace.proto b/benchmark/benchmark-macro/src/main/proto/perfetto_trace.proto
similarity index 100%
rename from benchmark/macro/src/main/proto/perfetto_trace.proto
rename to benchmark/benchmark-macro/src/main/proto/perfetto_trace.proto
diff --git a/benchmark/macro/src/main/res/raw/trace_config.textproto b/benchmark/benchmark-macro/src/main/res/raw/trace_config.textproto
similarity index 100%
rename from benchmark/macro/src/main/res/raw/trace_config.textproto
rename to benchmark/benchmark-macro/src/main/res/raw/trace_config.textproto
diff --git a/benchmark/junit4/api/res-current.txt b/benchmark/junit4/api/res-current.txt
deleted file mode 100644
index e69de29..0000000
--- a/benchmark/junit4/api/res-current.txt
+++ /dev/null
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXComposePlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXComposePlugin.kt
index 010aacd..0db20be 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXComposePlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXComposePlugin.kt
@@ -142,10 +142,11 @@
private fun Project.configureAndroidCommonOptions(testedExtension: TestedExtension) {
testedExtension.defaultConfig.minSdk = 21
- afterEvaluate { project ->
- val isPublished = project.extensions.findByType(AndroidXExtension::class.java)
+ val finalizeDsl: () -> Unit = {
+ val isPublished = extensions.findByType(AndroidXExtension::class.java)
?.type == LibraryType.PUBLISHED_LIBRARY
+ @Suppress("DEPRECATION") // lintOptions methods
testedExtension.lintOptions.apply {
// Too many Kotlin features require synthetic accessors - we want to rely on R8 to
// remove these accessors
@@ -198,6 +199,12 @@
}
}
+ // TODO(aurimas): migrate away from this when upgrading to AGP 7.1.0-alpha03 or newer
+ @Suppress("UnstableApiUsage", "DEPRECATION")
+ extensions.findByType(
+ com.android.build.api.extension.AndroidComponentsExtension::class.java
+ )!!.finalizeDsl { finalizeDsl() }
+
// TODO(148540713): remove this exclusion when Lint can support using multiple lint jars
configurations.getByName("lintChecks").exclude(
mapOf("module" to "lint-checks")
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlaygroundRootPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlaygroundRootPlugin.kt
index c7269ae..6ba97fe 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlaygroundRootPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlaygroundRootPlugin.kt
@@ -91,6 +91,7 @@
is LibraryPlugin -> {
val libraryExtension = extensions.getByType<LibraryExtension>()
afterEvaluate {
+ @Suppress("DEPRECATION") // lintOptions methods
libraryExtension.lintOptions.apply {
disable("InvalidFragmentVersionForActivityResult")
}
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
index d72986e..d883d22 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
@@ -45,6 +45,7 @@
import com.android.build.gradle.TestExtension
import com.android.build.gradle.TestPlugin
import com.android.build.gradle.TestedExtension
+import com.android.build.gradle.internal.tasks.AnalyticsRecordingTask
import org.gradle.api.GradleException
import org.gradle.api.JavaVersion.VERSION_1_8
import org.gradle.api.Plugin
@@ -512,6 +513,12 @@
// lives alongside the project's buildDir.
externalNativeBuild.cmake.buildStagingDirectory =
File(project.buildDir, "../nativeBuildStaging")
+
+ // disable analytics recording
+ // It's always out-of-date, and we don't release any apps in this repo
+ project.tasks.withType(AnalyticsRecordingTask::class.java).configureEach { task ->
+ task.enabled = false
+ }
}
/**
@@ -578,6 +585,7 @@
versionName = "1.0"
}
+ @Suppress("DEPRECATION") // lintOptions methods
lintOptions.apply {
isAbortOnError = true
diff --git a/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt b/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt
index 38d1e22..24b3049 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LintConfiguration.kt
@@ -118,6 +118,7 @@
}
}
+@Suppress("DEPRECATION") // lintOptions methods
fun Project.configureLint(lintOptions: LintOptions, extension: AndroidXExtension) {
project.dependencies.add(
"lintChecks",
@@ -184,9 +185,6 @@
// Broken in 7.0.0-alpha15 due to b/180408990
disable("RestrictedApi")
- // Broken in 7.0.0-alpha15 due to b/187343720
- disable("UnusedResources")
-
// Broken in 7.0.0-alpha15 due to b/187418637
disable("EnforceSampledAnnotation")
@@ -223,6 +221,9 @@
disable("BanUncheckedReflection")
}
+ // Broken in 7.0.0-alpha15 due to b/187343720
+ disable("UnusedResources")
+
// Only run certain checks where API tracking is important.
if (extension.type.checkApi is RunApiTasks.No) {
disable("IllegalExperimentalApiUsage")
diff --git a/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt
index b7cf31c..fb91af7 100644
--- a/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt
@@ -619,6 +619,7 @@
"androidx/recommendation/**",
"androidx/recyclerview/**",
"androidx/remotecallback/**",
+ "androidx/resourceinspection/**",
"androidx/room/**",
"androidx/savedstate/**",
"androidx/security/**",
diff --git a/buildSrc/src/main/kotlin/androidx/build/uptodatedness/TaskUpToDateValidator.kt b/buildSrc/src/main/kotlin/androidx/build/uptodatedness/TaskUpToDateValidator.kt
index d166949..b039c25 100644
--- a/buildSrc/src/main/kotlin/androidx/build/uptodatedness/TaskUpToDateValidator.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/uptodatedness/TaskUpToDateValidator.kt
@@ -46,7 +46,6 @@
// Entries in this set do still get rerun because they might produce files that are needed by
// subsequent tasks
val ALLOW_RERUNNING_TASKS = setOf(
- "analyticsRecordingRelease",
"buildOnServer",
"checkExternalLicenses",
"createArchive",
@@ -182,6 +181,8 @@
"lintAnalyzeDebug",
"lintDebug",
"lintVitalRelease",
+ "lintWithExpandProjectionDebug",
+ "lintWithoutExpandProjectionDebug",
)
abstract class TaskUpToDateValidator :
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java b/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java
index 9c0cd22..da7724b 100644
--- a/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java
+++ b/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java
@@ -120,12 +120,12 @@
}
/**
- * No error. The recording succeeds.
+ * The recording succeeded with no error.
*/
public static final int ERROR_NONE = 0;
/**
- * Unknown error.
+ * An unknown error occurred.
*/
public static final int ERROR_UNKNOWN = 1;
@@ -151,22 +151,34 @@
* <p>One case is that camera has been closed due to lifecycle has stopped, so video
* recording cannot be started.
*/
- public static final int ERROR_CAMERA_CLOSED = 4;
+ // TODO(b/193575052): Make this public if/when it is used.
+ static final int ERROR_CAMERA_CLOSED = 4;
/**
- * The recording failed due to the output options are invalid.
+ * The recording failed due to invalid output options.
+ *
+ * <p>This error is generated when invalid output options have been used while preparing a
+ * recording, such as with the {@link Recorder#prepareRecording(MediaStoreOutputOptions)}
+ * method. The error will depend on the {@linkplain OutputOptions#getType() type} of options
+ * used, and more information about the error can be retrieved from {@link Finalize#getCause()}.
*/
public static final int ERROR_INVALID_OUTPUT_OPTIONS = 5;
/**
* The recording failed while encoding.
+ *
+ * <p>This error may be generated when the video or audio codec encounters an error during
+ * encoding. See {@link Finalize#getCause()} for more information about the error encountered
+ * by the codec.
*/
public static final int ERROR_ENCODING_FAILED = 6;
/**
- * The recording failed due to the recorder encountered errors.
+ * The recording failed because the {@link Recorder} is in an unrecoverable error state.
*
- * <p>Usually it can only be recovered by recreating a recorder and recordings with it.
+ * <p>More information about the error can be retrieved from {@link Finalize#getCause()}.
+ * Such an error will usually require creating a new {@link Recorder} object to start a
+ * new recording.
*/
public static final int ERROR_RECORDER_ERROR = 7;
@@ -182,10 +194,11 @@
*
* @hide
*/
+ // TODO(b/193575052): Uncomment ERROR_CAMERA_CLOSED if/when it is used.
@RestrictTo(RestrictTo.Scope.LIBRARY)
@Retention(RetentionPolicy.SOURCE)
@IntDef(value = {ERROR_NONE, ERROR_UNKNOWN, ERROR_FILE_SIZE_LIMIT_REACHED,
- ERROR_INSUFFICIENT_DISK, ERROR_CAMERA_CLOSED, ERROR_INVALID_OUTPUT_OPTIONS,
+ ERROR_INSUFFICIENT_DISK, /*ERROR_CAMERA_CLOSED,*/ ERROR_INVALID_OUTPUT_OPTIONS,
ERROR_ENCODING_FAILED, ERROR_RECORDER_ERROR, ERROR_RECORDER_UNINITIALIZED})
public @interface VideoRecordError {
}
@@ -334,10 +347,10 @@
*
* <p>Possible values are {@link #ERROR_NONE}, {@link #ERROR_UNKNOWN},
* {@link #ERROR_FILE_SIZE_LIMIT_REACHED}, {@link #ERROR_INSUFFICIENT_DISK},
- * {@link #ERROR_CAMERA_CLOSED}, {@link #ERROR_INVALID_OUTPUT_OPTIONS},
- * {@link #ERROR_ENCODING_FAILED}, {@link #ERROR_RECORDER_ERROR} and
- * {@link #ERROR_RECORDER_UNINITIALIZED}.
+ * {@link #ERROR_INVALID_OUTPUT_OPTIONS}, {@link #ERROR_ENCODING_FAILED},
+ * {@link #ERROR_RECORDER_ERROR} and {@link #ERROR_RECORDER_UNINITIALIZED}.
*/
+ // TODO(b/193575052): Add ERROR_CAMERA_CLOSED to the above list if/when it is used.
@VideoRecordError
public int getError() {
return mError;
diff --git a/car/app/app-automotive/src/main/aidl/androidx/car/app/activity/renderer/ICarAppActivity.aidl b/car/app/app-automotive/src/main/aidl/androidx/car/app/activity/renderer/ICarAppActivity.aidl
index a4bbd28..5d65847 100644
--- a/car/app/app-automotive/src/main/aidl/androidx/car/app/activity/renderer/ICarAppActivity.aidl
+++ b/car/app/app-automotive/src/main/aidl/androidx/car/app/activity/renderer/ICarAppActivity.aidl
@@ -46,4 +46,7 @@
/** Requests the activity to finish itself. */
void finishCarApp() = 7;
+
+ /** Notifies that there has been a selection update for the currently active input. */
+ void onUpdateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd) = 8;
}
diff --git a/car/app/app-automotive/src/main/java/androidx/car/app/activity/CarAppActivity.java b/car/app/app-automotive/src/main/java/androidx/car/app/activity/CarAppActivity.java
index 9d70074..a1c5f13 100644
--- a/car/app/app-automotive/src/main/java/androidx/car/app/activity/CarAppActivity.java
+++ b/car/app/app-automotive/src/main/java/androidx/car/app/activity/CarAppActivity.java
@@ -183,6 +183,14 @@
Log.d(LogTags.TAG, "finishCarApp");
finish();
}
+
+ @Override
+ public void onUpdateSelection(int oldSelStart, int oldSelEnd, int newSelStart,
+ int newSelEnd) {
+ Log.d(LogTags.TAG, "onUpdateSelection");
+ ThreadUtils.runOnMain(() -> mSurfaceView.onUpdateSelection(oldSelStart,
+ oldSelEnd, newSelStart, newSelEnd));
+ }
};
@Override
diff --git a/car/app/app-automotive/src/main/java/androidx/car/app/activity/renderer/surface/TemplateSurfaceView.java b/car/app/app-automotive/src/main/java/androidx/car/app/activity/renderer/surface/TemplateSurfaceView.java
index f7484f3..0258acc 100644
--- a/car/app/app-automotive/src/main/java/androidx/car/app/activity/renderer/surface/TemplateSurfaceView.java
+++ b/car/app/app-automotive/src/main/java/androidx/car/app/activity/renderer/surface/TemplateSurfaceView.java
@@ -218,6 +218,11 @@
}
}
+ /** Notifies that there has been a text selection update. */
+ public void onUpdateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd) {
+ mInputMethodManager.updateSelection(this, oldSelStart, oldSelEnd, newSelStart, newSelEnd);
+ }
+
@Override
public boolean onCheckIsTextEditor() {
return mIsInInputMode;
diff --git a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/ContentProviderIconsDemoScreen.java b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/ContentProviderIconsDemoScreen.java
index cf8061b..82c327c 100644
--- a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/ContentProviderIconsDemoScreen.java
+++ b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/ContentProviderIconsDemoScreen.java
@@ -21,7 +21,9 @@
import android.net.Uri;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.car.app.CarContext;
+import androidx.car.app.HostInfo;
import androidx.car.app.Screen;
import androidx.car.app.model.CarIcon;
import androidx.car.app.model.ItemList;
@@ -33,6 +35,8 @@
/** Creates a screen that demonstrate the image loading in the library using a content provider. */
public final class ContentProviderIconsDemoScreen extends Screen {
+ @Nullable
+ private final String mHostPackageName;
private static final int[] ICON_DRAWABLES = {
R.drawable.arrow_right_turn, R.drawable.arrow_straight, R.drawable.ic_i5,
@@ -41,6 +45,9 @@
public ContentProviderIconsDemoScreen(@NonNull CarContext carContext) {
super(carContext);
+
+ HostInfo hostInfo = carContext.getHostInfo();
+ mHostPackageName = hostInfo == null ? null : hostInfo.getPackageName();
}
@NonNull
@@ -48,19 +55,27 @@
public Template onGetTemplate() {
ItemList.Builder listBuilder = new ItemList.Builder();
- for (int i = 0; i < ICON_DRAWABLES.length; i++) {
- int resId = ICON_DRAWABLES[i];
- Uri uri = DelayedFileProvider.getUriForResource(getCarContext(), resId);
- listBuilder.addItem(
- new Row.Builder()
- .setImage(
- new CarIcon.Builder(
- IconCompat.createWithContentUri(uri))
- .build())
- .setTitle("Icon " + i)
- .build());
+ String hostPackageName = mHostPackageName;
+ if (hostPackageName == null) {
+ // Cannot get the host package name, show an error message.
+ listBuilder.setNoItemsMessage("Images cannot be displayed for an unknown host");
+ } else {
+ for (int i = 0; i < ICON_DRAWABLES.length; i++) {
+ int resId = ICON_DRAWABLES[i];
+ Uri uri = DelayedFileProvider.getUriForResource(getCarContext(), hostPackageName,
+ resId);
+ listBuilder.addItem(
+ new Row.Builder()
+ .setImage(
+ new CarIcon.Builder(
+ IconCompat.createWithContentUri(uri))
+ .build())
+ .setTitle("Icon " + i)
+ .build());
+ }
}
+
return new ListTemplate.Builder()
.setSingleList(listBuilder.build())
.setTitle("Content Provider Icons Demo")
diff --git a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/DelayedFileProvider.java b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/DelayedFileProvider.java
index c953bb5..38f7673 100644
--- a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/DelayedFileProvider.java
+++ b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/textandicons/DelayedFileProvider.java
@@ -35,10 +35,6 @@
/** A simple file provider that returns files after a random delay. */
public class DelayedFileProvider extends FileProvider {
- private static final String ANDROID_AUTO_PACKAGE_NAME =
- "com.google.android.projection.gearhead";
- private static final String AAOS_HOST_PACKAGE_NAME =
- "com.google.android.apps.automotive.templates.host";
private static final String FILE_PROVIDER_AUTHORITY = "com.showcase.fileprovider";
private static final String RESOURCE_DIR = "res";
private static final long MIN_DELAY_MILLIS = 1000;
@@ -46,7 +42,8 @@
/** Creates a file from the given resource id and returns the URI for it. */
@NonNull
- public static Uri getUriForResource(@NonNull Context context, int resId) {
+ public static Uri getUriForResource(@NonNull Context context,
+ @NonNull String hostPackageName, int resId) {
File resourceFile =
new File(context.getFilesDir().getAbsolutePath(), RESOURCE_DIR + "/" + resId);
if (!resourceFile.exists()) {
@@ -63,9 +60,7 @@
// FileProvider requires the app to grant temporary access to the car hosts for the file.
// A URI from a content provider may not need to do this if its contents are public.
- context.grantUriPermission(ANDROID_AUTO_PACKAGE_NAME, uri,
- Intent.FLAG_GRANT_READ_URI_PERMISSION);
- context.grantUriPermission(AAOS_HOST_PACKAGE_NAME, uri,
+ context.grantUriPermission(hostPackageName, uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION);
return uri;
diff --git a/car/app/app/api/current.txt b/car/app/app/api/current.txt
index c252929..1b1031a 100644
--- a/car/app/app/api/current.txt
+++ b/car/app/app/api/current.txt
@@ -45,6 +45,7 @@
method public Object getCarService(String);
method public <T extends androidx.car.app.managers.Manager> T getCarService(Class<T!>);
method public String getCarServiceName(Class<? extends androidx.car.app.managers.Manager>);
+ method public androidx.car.app.HostInfo? getHostInfo();
method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
method public boolean isDarkMode();
method public void requestPermissions(java.util.List<java.lang.String!>, androidx.car.app.OnRequestPermissionsListener);
diff --git a/car/app/app/api/public_plus_experimental_current.txt b/car/app/app/api/public_plus_experimental_current.txt
index 8136625..d13d7cc 100644
--- a/car/app/app/api/public_plus_experimental_current.txt
+++ b/car/app/app/api/public_plus_experimental_current.txt
@@ -45,6 +45,7 @@
method public Object getCarService(String);
method public <T extends androidx.car.app.managers.Manager> T getCarService(Class<T!>);
method public String getCarServiceName(Class<? extends androidx.car.app.managers.Manager>);
+ method public androidx.car.app.HostInfo? getHostInfo();
method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
method public boolean isDarkMode();
method public void requestPermissions(java.util.List<java.lang.String!>, androidx.car.app.OnRequestPermissionsListener);
diff --git a/car/app/app/api/restricted_current.txt b/car/app/app/api/restricted_current.txt
index c252929..1b1031a 100644
--- a/car/app/app/api/restricted_current.txt
+++ b/car/app/app/api/restricted_current.txt
@@ -45,6 +45,7 @@
method public Object getCarService(String);
method public <T extends androidx.car.app.managers.Manager> T getCarService(Class<T!>);
method public String getCarServiceName(Class<? extends androidx.car.app.managers.Manager>);
+ method public androidx.car.app.HostInfo? getHostInfo();
method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
method public boolean isDarkMode();
method public void requestPermissions(java.util.List<java.lang.String!>, androidx.car.app.OnRequestPermissionsListener);
diff --git a/car/app/app/src/main/java/androidx/car/app/CarAppService.java b/car/app/app/src/main/java/androidx/car/app/CarAppService.java
index c54c35e..c69c254 100644
--- a/car/app/app/src/main/java/androidx/car/app/CarAppService.java
+++ b/car/app/app/src/main/java/androidx/car/app/CarAppService.java
@@ -365,7 +365,9 @@
setCurrentSession(session);
}
- session.configure(CarAppService.this, requireNonNull(getHandshakeInfo()),
+ session.configure(CarAppService.this,
+ requireNonNull(getHandshakeInfo()),
+ requireNonNull(getHostInfo()),
carHost, configuration);
// Whenever the host unbinds, the screens in the stack are destroyed. If
diff --git a/car/app/app/src/main/java/androidx/car/app/CarContext.java b/car/app/app/src/main/java/androidx/car/app/CarContext.java
index 1107d0c..4f576d4 100644
--- a/car/app/app/src/main/java/androidx/car/app/CarContext.java
+++ b/car/app/app/src/main/java/androidx/car/app/CarContext.java
@@ -171,6 +171,9 @@
@CarAppApiLevel
private int mCarAppApiLevel = CarAppApiLevels.UNKNOWN;
+ @Nullable
+ private HostInfo mHostInfo = null;
+
/** @hide */
@NonNull
@RestrictTo(LIBRARY)
@@ -481,6 +484,17 @@
}
/**
+ * Returns information about the host attached to this service.
+ *
+ * @return The {@link HostInfo} of the connected host, or {@code null} if it is not available.
+ * @see HostInfo
+ */
+ @Nullable
+ public HostInfo getHostInfo() {
+ return mHostInfo;
+ }
+
+ /**
* Requests the provided {@code permissions} from the user, calling the provided {@code
* listener} in the main thread.
*
@@ -588,11 +602,22 @@
*/
@RestrictTo(LIBRARY)
@MainThread
- void updateHandshakeInfo(HandshakeInfo handshakeInfo) {
+ void updateHandshakeInfo(@NonNull HandshakeInfo handshakeInfo) {
mCarAppApiLevel = handshakeInfo.getHostCarAppApiLevel();
}
/**
+ * Updates host information based on the information provided during connection handshake
+ *
+ * @hide
+ */
+ @RestrictTo(LIBRARY)
+ @MainThread
+ void updateHostInfo(@NonNull HostInfo hostInfo) {
+ mHostInfo = hostInfo;
+ }
+
+ /**
* Attaches the base {@link Context} for this {@link CarContext} by creating a new display
* context using {@link #createDisplayContext} with a {@link VirtualDisplay} created using
* the metrics from the provided {@link Configuration}, and then also calling {@link
diff --git a/car/app/app/src/main/java/androidx/car/app/Session.java b/car/app/app/src/main/java/androidx/car/app/Session.java
index 0138f4d..de5960f 100644
--- a/car/app/app/src/main/java/androidx/car/app/Session.java
+++ b/car/app/app/src/main/java/androidx/car/app/Session.java
@@ -193,10 +193,13 @@
* <p>This should be invoked during onAppCreate to initialize the {@link Session} and its
* underlying {@link Context} properly.
*/
- void configure(@NonNull Context baseContext, @NonNull HandshakeInfo handshakeInfo,
+ void configure(@NonNull Context baseContext,
+ @NonNull HandshakeInfo handshakeInfo,
+ @NonNull HostInfo hostInfo,
@NonNull ICarHost carHost,
@NonNull Configuration configuration) {
mCarContext.updateHandshakeInfo(handshakeInfo);
+ mCarContext.updateHostInfo(hostInfo);
mCarContext.attachBaseContext(baseContext, configuration);
mCarContext.setCarHost(carHost);
}
diff --git a/car/app/app/src/test/java/androidx/car/app/CarAppServiceTest.java b/car/app/app/src/test/java/androidx/car/app/CarAppServiceTest.java
index faf1163..3a28d9e 100644
--- a/car/app/app/src/test/java/androidx/car/app/CarAppServiceTest.java
+++ b/car/app/app/src/test/java/androidx/car/app/CarAppServiceTest.java
@@ -113,10 +113,12 @@
"blah");
mCarAppService.setAppInfo(appInfo);
- // Sets a default handshake info. OnAppCreate depends on this being non-null.
+ // Sets default handshake and host info. OnAppCreate depends on these being non-null.
String hostPackageName = "com.google.projection.gearhead";
HandshakeInfo handshakeInfo = new HandshakeInfo(hostPackageName,
CarAppApiLevels.getLatest());
+ HostInfo hostInfo = new HostInfo(hostPackageName, 1);
+ mCarAppService.setHostInfo(hostInfo);
mCarAppService.setHandshakeInfo(handshakeInfo);
}
@@ -159,6 +161,21 @@
}
@Test
+ public void onAppCreate_updatesContextHostInfo()
+ throws RemoteException, BundlerException, InterruptedException {
+ String hostPackageName = "com.google.projection.gearhead";
+ ICarApp carApp = (ICarApp) mCarAppService.onBind(null);
+ HandshakeInfo handshakeInfo = new HandshakeInfo(hostPackageName, CarAppApiLevels.LEVEL_1);
+
+ mCarAppService.setCurrentSession(null);
+ carApp.onHandshakeCompleted(Bundleable.create(handshakeInfo), mMockOnDoneCallback);
+ carApp.onAppCreate(mMockCarHost, null, new Configuration(), mMockOnDoneCallback);
+
+ assertThat(mCarAppService.getCurrentSession()
+ .getCarContext().getHostInfo().getPackageName()).isEqualTo(hostPackageName);
+ }
+
+ @Test
public void onAppCreate_createsFirstScreen() throws RemoteException {
ICarApp carApp = (ICarApp) mCarAppService.onBind(null);
carApp.onAppCreate(mMockCarHost, null, new Configuration(), mMockOnDoneCallback);
@@ -304,6 +321,7 @@
HandshakeInfo handshakeInfo = new HandshakeInfo(hostPackageName, CarAppApiLevels.LEVEL_1);
carApp.onHandshakeCompleted(Bundleable.create(handshakeInfo), mMockOnDoneCallback);
+ carApp.onAppCreate(mMockCarHost, null, new Configuration(), mMockOnDoneCallback);
assertThat(mCarAppService.getHostInfo().getPackageName()).isEqualTo(hostPackageName);
}
diff --git a/core/core-ktx/src/main/java/androidx/core/graphics/drawable/Drawable.kt b/core/core-ktx/src/main/java/androidx/core/graphics/drawable/Drawable.kt
index bb9a42b..be4a115 100644
--- a/core/core-ktx/src/main/java/androidx/core/graphics/drawable/Drawable.kt
+++ b/core/core-ktx/src/main/java/androidx/core/graphics/drawable/Drawable.kt
@@ -48,7 +48,7 @@
if (config == null || bitmap.config == config) {
// Fast-path to return original. Bitmap.createScaledBitmap will do this check, but it
// involves allocation and two jumps into native code so we perform the check ourselves.
- if (width == intrinsicWidth && height == intrinsicHeight) {
+ if (width == bitmap.width && height == bitmap.height) {
return bitmap
}
return Bitmap.createScaledBitmap(bitmap, width, height, true)
diff --git a/docs-tip-of-tree/build.gradle b/docs-tip-of-tree/build.gradle
index 1f398f4..2baef92 100644
--- a/docs-tip-of-tree/build.gradle
+++ b/docs-tip-of-tree/build.gradle
@@ -205,6 +205,7 @@
docs(project(":recyclerview:recyclerview"))
docs(project(":recyclerview:recyclerview-selection"))
docs(project(":remotecallback:remotecallback"))
+ docs(project(":resourceinspection:resourceinspection-annotation"))
docs(project(":room:room-common"))
docs(project(":room:room-guava"))
docs(project(":room:room-ktx"))
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java b/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
index 20cf2c6..5633c21 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
@@ -563,9 +563,11 @@
awaitingContainerChanges.remove(operation);
// Then schedule the actual hide of the fragment's view,
// essentially doing what applyState() would do for us
+ ArrayList<View> transitioningViewsToHide =
+ new ArrayList<>(transitioningViews);
+ transitioningViewsToHide.remove(operation.getFragment().mView);
transitionImpl.scheduleHideFragmentView(transition,
- operation.getFragment().mView,
- transitioningViews);
+ operation.getFragment().mView, transitioningViewsToHide);
// This OneShotPreDrawListener gets fired before the delayed start of
// the Transition and changes the visibility of any exiting child views
// that *ARE NOT* shared element transitions. The TransitionManager then
diff --git a/hilt/hilt-navigation-compose/build.gradle b/hilt/hilt-navigation-compose/build.gradle
index 9d2163b..f3466f2 100644
--- a/hilt/hilt-navigation-compose/build.gradle
+++ b/hilt/hilt-navigation-compose/build.gradle
@@ -35,12 +35,12 @@
}
dependencies {
- kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc01"
+ kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc02"
implementation(libs.kotlinStdlib)
api("androidx.hilt:hilt-navigation:1.0.0")
- api("androidx.compose.runtime:runtime:1.0.0-rc01")
- api("androidx.compose.ui:ui:1.0.0-rc01")
+ api("androidx.compose.runtime:runtime:1.0.0-rc02")
+ api("androidx.compose.ui:ui:1.0.0-rc02")
api("androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07")
api(projectOrArtifact(":navigation:navigation-compose"))
diff --git a/hilt/hilt-navigation-compose/samples/build.gradle b/hilt/hilt-navigation-compose/samples/build.gradle
index a048a87..71b0238 100644
--- a/hilt/hilt-navigation-compose/samples/build.gradle
+++ b/hilt/hilt-navigation-compose/samples/build.gradle
@@ -27,7 +27,7 @@
}
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
implementation(libs.kotlinStdlib)
compileOnly(projectOrArtifact(":annotation:annotation-sampled"))
diff --git a/lifecycle/lifecycle-viewmodel-compose/build.gradle b/lifecycle/lifecycle-viewmodel-compose/build.gradle
index 3884556..711d186 100644
--- a/lifecycle/lifecycle-viewmodel-compose/build.gradle
+++ b/lifecycle/lifecycle-viewmodel-compose/build.gradle
@@ -27,11 +27,11 @@
}
dependencies {
- kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc01"
+ kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc02"
api "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0"
- api "androidx.compose.runtime:runtime:1.0.0-rc01"
- api "androidx.compose.ui:ui:1.0.0-rc01"
+ api "androidx.compose.runtime:runtime:1.0.0-rc02"
+ api "androidx.compose.ui:ui:1.0.0-rc02"
implementation(libs.kotlinStdlib)
diff --git a/lifecycle/lifecycle-viewmodel-compose/samples/build.gradle b/lifecycle/lifecycle-viewmodel-compose/samples/build.gradle
index 21b9220..1b620ea 100644
--- a/lifecycle/lifecycle-viewmodel-compose/samples/build.gradle
+++ b/lifecycle/lifecycle-viewmodel-compose/samples/build.gradle
@@ -26,7 +26,7 @@
}
dependencies {
- kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc01"
+ kotlinPlugin "androidx.compose.compiler:compiler:1.0.0-rc02"
implementation(libs.kotlinStdlib)
implementation projectOrArtifact(":lifecycle:lifecycle-viewmodel-compose")
}
diff --git a/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaControlView_WithPlayerTest.java b/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaControlView_WithPlayerTest.java
index c3d0127..a26e9fd 100644
--- a/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaControlView_WithPlayerTest.java
+++ b/media2/media2-widget/src/androidTest/java/androidx/media2/widget/MediaControlView_WithPlayerTest.java
@@ -44,6 +44,7 @@
import androidx.media2.common.SessionPlayer;
import androidx.media2.common.SessionPlayer.TrackInfo;
import androidx.media2.session.MediaController;
+import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
import org.junit.After;
@@ -327,6 +328,7 @@
onView(allOf(withId(R.id.next), isCompletelyDisplayed())).check(matches(isEnabled()));
}
+ @FlakyTest(bugId = 179623359)
@Test
public void setMetadataForNonMusicFile() throws Throwable {
final String title = "BigBuckBunny";
diff --git a/navigation/navigation-compose/build.gradle b/navigation/navigation-compose/build.gradle
index 2a687f8..7b68615 100644
--- a/navigation/navigation-compose/build.gradle
+++ b/navigation/navigation-compose/build.gradle
@@ -26,15 +26,15 @@
}
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
implementation(libs.kotlinStdlib)
- implementation("androidx.compose.foundation:foundation-layout:1.0.0-rc01")
- api("androidx.activity:activity-compose:1.3.0-rc01")
- api("androidx.compose.animation:animation:1.0.0-rc01")
- api("androidx.compose.runtime:runtime:1.0.0-rc01")
- api("androidx.compose.runtime:runtime-saveable:1.0.0-rc01")
- api("androidx.compose.ui:ui:1.0.0-rc01")
+ implementation("androidx.compose.foundation:foundation-layout:1.0.0-rc02")
+ api("androidx.activity:activity-compose:1.3.0-rc02")
+ api("androidx.compose.animation:animation:1.0.0-rc02")
+ api("androidx.compose.runtime:runtime:1.0.0-rc02")
+ api("androidx.compose.runtime:runtime-saveable:1.0.0-rc02")
+ api("androidx.compose.ui:ui:1.0.0-rc02")
api("androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07")
api(projectOrArtifact(":navigation:navigation-runtime-ktx"))
diff --git a/navigation/navigation-compose/samples/build.gradle b/navigation/navigation-compose/samples/build.gradle
index 7c4732c..b2c1ca6 100644
--- a/navigation/navigation-compose/samples/build.gradle
+++ b/navigation/navigation-compose/samples/build.gradle
@@ -25,13 +25,13 @@
}
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
implementation(libs.kotlinStdlib)
compileOnly(projectOrArtifact(":annotation:annotation-sampled"))
- implementation("androidx.compose.foundation:foundation:1.0.0-rc01")
+ implementation("androidx.compose.foundation:foundation:1.0.0-rc02")
implementation(projectOrArtifact(":navigation:navigation-compose"))
- implementation("androidx.compose.material:material:1.0.0-rc01")
+ implementation("androidx.compose.material:material:1.0.0-rc02")
}
androidx {
diff --git a/paging/paging-compose/build.gradle b/paging/paging-compose/build.gradle
index 7f8f452..9c8ab08 100644
--- a/paging/paging-compose/build.gradle
+++ b/paging/paging-compose/build.gradle
@@ -28,10 +28,10 @@
}
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
implementation(libs.kotlinStdlib)
- api("androidx.compose.foundation:foundation:1.0.0-rc01")
+ api("androidx.compose.foundation:foundation:1.0.0-rc02")
api("androidx.paging:paging-common:3.0.0")
androidTestImplementation(projectOrArtifact(":compose:ui:ui-test-junit4"))
diff --git a/paging/paging-compose/samples/build.gradle b/paging/paging-compose/samples/build.gradle
index 842b182..83fcaf5 100644
--- a/paging/paging-compose/samples/build.gradle
+++ b/paging/paging-compose/samples/build.gradle
@@ -26,12 +26,12 @@
}
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
implementation(libs.kotlinStdlib)
compileOnly(projectOrArtifact(":annotation:annotation-sampled"))
- implementation("androidx.compose.foundation:foundation:1.0.0-rc01")
- implementation("androidx.compose.material:material:1.0.0-rc01")
+ implementation("androidx.compose.foundation:foundation:1.0.0-rc02")
+ implementation("androidx.compose.material:material:1.0.0-rc02")
implementation(projectOrArtifact(":paging:paging-compose"))
}
diff --git a/playground-common/playground.properties b/playground-common/playground.properties
index 0e24733..1ef9184 100644
--- a/playground-common/playground.properties
+++ b/playground-common/playground.properties
@@ -26,7 +26,7 @@
kotlin.code.style=official
# Disable docs
androidx.enableDocumentation=false
-androidx.playground.snapshotBuildId=7500872
+androidx.playground.snapshotBuildId=7549684
androidx.playground.metalavaBuildId=7481334
androidx.playground.dokkaBuildId=7472101
androidx.studio.type=playground
diff --git a/room/integration-tests/kotlintestapp/build.gradle b/room/integration-tests/kotlintestapp/build.gradle
index 18bd746..6ef3c81 100644
--- a/room/integration-tests/kotlintestapp/build.gradle
+++ b/room/integration-tests/kotlintestapp/build.gradle
@@ -57,32 +57,31 @@
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
-// TODO re-enable flavors when b/153917176 is fixed
-// flavorDimensions "processorConfiguration"
-// productFlavors {
-// withExpandProjection {
-// dimension "processorConfiguration"
-// javaCompileOptions {
-// annotationProcessorOptions {
-// arguments = [
-// "room.schemaLocation" : "$projectDir/schemas".toString(),
-// "room.expandProjection" : "true"
-// ]
-// }
-// }
-// }
-// withoutExpandProjection {
-// dimension "processorConfiguration"
-// javaCompileOptions {
-// annotationProcessorOptions {
-// arguments = [
-// "room.schemaLocation" : "$projectDir/schemas".toString(),
-// "room.expandProjection" : "false"
-// ]
-// }
-// }
-// }
-// }
+ flavorDimensions "processorConfiguration"
+ productFlavors {
+ withExpandProjection {
+ dimension "processorConfiguration"
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [
+ "room.schemaLocation" : "$projectDir/schemas".toString(),
+ "room.expandProjection" : "true"
+ ]
+ }
+ }
+ }
+ withoutExpandProjection {
+ dimension "processorConfiguration"
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [
+ "room.schemaLocation" : "$projectDir/schemas".toString(),
+ "room.expandProjection" : "false"
+ ]
+ }
+ }
+ }
+ }
}
dependencies {
diff --git a/room/integration-tests/testapp/build.gradle b/room/integration-tests/testapp/build.gradle
index 0733b6d..b68217d 100644
--- a/room/integration-tests/testapp/build.gradle
+++ b/room/integration-tests/testapp/build.gradle
@@ -44,32 +44,31 @@
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
androidTest.assets.srcDirs += files("$projectDir/databases".toString())
}
-// TODO re-enable flavors when b/153917176 is fixed
-// flavorDimensions "processorConfiguration"
-// productFlavors {
-// withExpandProjection {
-// dimension "processorConfiguration"
-// javaCompileOptions {
-// annotationProcessorOptions {
-// arguments = [
-// "room.schemaLocation" : "$projectDir/schemas".toString(),
-// "room.expandProjection" : "true"
-// ]
-// }
-// }
-// }
-// withoutExpandProjection {
-// dimension "processorConfiguration"
-// javaCompileOptions {
-// annotationProcessorOptions {
-// arguments = [
-// "room.schemaLocation" : "$projectDir/schemas".toString(),
-// "room.expandProjection" : "false"
-// ]
-// }
-// }
-// }
-// }
+ flavorDimensions "processorConfiguration"
+ productFlavors {
+ withExpandProjection {
+ dimension "processorConfiguration"
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [
+ "room.schemaLocation" : "$projectDir/schemas".toString(),
+ "room.expandProjection" : "true"
+ ]
+ }
+ }
+ }
+ withoutExpandProjection {
+ dimension "processorConfiguration"
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [
+ "room.schemaLocation" : "$projectDir/schemas".toString(),
+ "room.expandProjection" : "false"
+ ]
+ }
+ }
+ }
+ }
}
dependencies {
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableParameterElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableParameterElement.kt
index 8e7ed20..1303624 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableParameterElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableParameterElement.kt
@@ -19,4 +19,13 @@
/**
* Parameter of a method.
*/
-interface XExecutableParameterElement : XVariableElement
+interface XExecutableParameterElement : XVariableElement {
+ /**
+ * `true` if the parameter has a default value, `false` otherwise.
+ *
+ * Note that when @JvmOverloads is used in a kotlin function with KAPT, only the original
+ * function's parameter might have a default value. For the generated overload methods, this
+ * will always return `false`.
+ */
+ val hasDefaultValue: Boolean
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacExecutableElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacExecutableElement.kt
index ffca24b..100182f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacExecutableElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacExecutableElement.kt
@@ -39,7 +39,7 @@
element.descriptor()
}
- override val parameters: List<JavacVariableElement> by lazy {
+ override val parameters: List<JavacMethodParameter> by lazy {
element.parameters.mapIndexed { index, variable ->
JavacMethodParameter(
env = env,
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodParameter.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodParameter.kt
index 71cb24c..0b03ca4 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodParameter.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodParameter.kt
@@ -16,6 +16,7 @@
package androidx.room.compiler.processing.javac
+import androidx.room.compiler.processing.XExecutableParameterElement
import androidx.room.compiler.processing.javac.kotlin.KmType
import androidx.room.compiler.processing.javac.kotlin.KmValueParameter
import androidx.room.compiler.processing.util.sanitizeAsJavaParameterName
@@ -28,13 +29,19 @@
element: VariableElement,
val kotlinMetadata: KmValueParameter?,
val argIndex: Int
-) : JavacVariableElement(env, containing, element) {
+) : JavacVariableElement(env, containing, element), XExecutableParameterElement {
+
override val name: String
get() = (kotlinMetadata?.name ?: super.name).sanitizeAsJavaParameterName(
argIndex = argIndex
)
+
override val kotlinType: KmType?
get() = kotlinMetadata?.type
+
+ override val hasDefaultValue: Boolean
+ get() = kotlinMetadata?.hasDefault() ?: false
+
override val fallbackLocationText: String
get() = if (executable is JavacMethodElement && executable.isSuspendFunction() &&
this === executable.parameters.last()
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacVariableElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacVariableElement.kt
index 69c9342..e999b14 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacVariableElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacVariableElement.kt
@@ -16,8 +16,8 @@
package androidx.room.compiler.processing.javac
-import androidx.room.compiler.processing.XExecutableParameterElement
import androidx.room.compiler.processing.XType
+import androidx.room.compiler.processing.XVariableElement
import androidx.room.compiler.processing.javac.kotlin.KmType
import com.google.auto.common.MoreTypes
import javax.lang.model.element.VariableElement
@@ -26,7 +26,7 @@
env: JavacProcessingEnv,
val containing: JavacTypeElement,
override val element: VariableElement
-) : JavacElement(env, element), XExecutableParameterElement {
+) : JavacElement(env, element), XVariableElement {
abstract val kotlinType: KmType?
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
index d5cccc5..30f0cac 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
@@ -99,9 +99,11 @@
*/
internal data class KmValueParameter(
val name: String,
- val type: KmType
+ val type: KmType,
+ private val flags: Int
) {
fun isNullable() = type.isNullable()
+ fun hasDefault() = Flag.ValueParameter.DECLARES_DEFAULT_VALUE(flags)
}
internal data class KmClassTypeInfo(
@@ -113,7 +115,7 @@
mutableListOf<KmFunction>().apply { accept(FunctionReader(this)) }
private class FunctionReader(val result: MutableList<KmFunction>) : KmClassVisitor() {
- override fun visitFunction(flags: Flags, name: String): KmFunctionVisitor? {
+ override fun visitFunction(flags: Flags, name: String): KmFunctionVisitor {
return object : KmFunctionVisitor() {
lateinit var descriptor: String
@@ -123,13 +125,13 @@
override fun visitValueParameter(
flags: Flags,
name: String
- ): KmValueParameterVisitor? {
- return ValueParameterReader(name) {
+ ): KmValueParameterVisitor {
+ return ValueParameterReader(name, flags) {
parameters.add(it)
}
}
- override fun visitExtensions(type: KmExtensionType): KmFunctionExtensionVisitor? {
+ override fun visitExtensions(type: KmExtensionType): KmFunctionExtensionVisitor {
if (type != JvmFunctionExtensionVisitor.TYPE) {
error("Unsupported extension type: $type")
}
@@ -140,7 +142,7 @@
}
}
- override fun visitReturnType(flags: Flags): KmTypeVisitor? {
+ override fun visitReturnType(flags: Flags): KmTypeVisitor {
return TypeReader(flags) {
returnType = it
}
@@ -157,7 +159,7 @@
mutableListOf<KmConstructor>().apply { accept(ConstructorReader(this)) }
private class ConstructorReader(val result: MutableList<KmConstructor>) : KmClassVisitor() {
- override fun visitConstructor(flags: Flags): KmConstructorVisitor? {
+ override fun visitConstructor(flags: Flags): KmConstructorVisitor {
return object : KmConstructorVisitor() {
lateinit var descriptor: String
@@ -166,13 +168,13 @@
override fun visitValueParameter(
flags: Flags,
name: String
- ): KmValueParameterVisitor? {
- return ValueParameterReader(name) {
+ ): KmValueParameterVisitor {
+ return ValueParameterReader(name, flags) {
parameters.add(it)
}
}
- override fun visitExtensions(type: KmExtensionType): KmConstructorExtensionVisitor? {
+ override fun visitExtensions(type: KmExtensionType): KmConstructorExtensionVisitor {
if (type != JvmConstructorExtensionVisitor.TYPE) {
error("Unsupported extension type: $type")
}
@@ -236,7 +238,7 @@
name: String,
getterFlags: Flags,
setterFlags: Flags
- ): KmPropertyVisitor? {
+ ): KmPropertyVisitor {
return object : KmPropertyVisitor() {
lateinit var returnType: KmType
override fun visitEnd() {
@@ -248,7 +250,7 @@
)
}
- override fun visitReturnType(flags: Flags): KmTypeVisitor? {
+ override fun visitReturnType(flags: Flags): KmTypeVisitor {
return TypeReader(flags) {
returnType = it
}
@@ -266,7 +268,7 @@
) : KmTypeVisitor() {
private val typeArguments = mutableListOf<KmType>()
private var extendsBound: KmType? = null
- override fun visitArgument(flags: Flags, variance: KmVariance): KmTypeVisitor? {
+ override fun visitArgument(flags: Flags, variance: KmVariance): KmTypeVisitor {
return TypeReader(flags) {
typeArguments.add(it)
}
@@ -275,7 +277,7 @@
override fun visitFlexibleTypeUpperBound(
flags: Flags,
typeFlexibilityId: String?
- ): KmTypeVisitor? {
+ ): KmTypeVisitor {
return TypeReader(flags) {
extendsBound = it
}
@@ -297,10 +299,11 @@
*/
private class ValueParameterReader(
val name: String,
+ val flags: Flags,
val output: (KmValueParameter) -> Unit
) : KmValueParameterVisitor() {
lateinit var type: KmType
- override fun visitType(flags: Flags): KmTypeVisitor? {
+ override fun visitType(flags: Flags): KmTypeVisitor {
return TypeReader(flags) {
type = it
}
@@ -310,7 +313,8 @@
output(
KmValueParameter(
name = name,
- type = type
+ type = type,
+ flags = flags
)
)
}
@@ -334,13 +338,13 @@
name: String,
id: Int,
variance: KmVariance
- ): KmTypeParameterVisitor? {
+ ): KmTypeParameterVisitor {
return TypeParameterReader(name, flags) {
typeParameters.add(it)
}
}
- override fun visitSupertype(flags: Flags): KmTypeVisitor? {
+ override fun visitSupertype(flags: Flags): KmTypeVisitor {
return TypeReader(flags) {
superType = it
}
@@ -378,7 +382,7 @@
)
}
- override fun visitUpperBound(flags: Flags): KmTypeVisitor? {
+ override fun visitUpperBound(flags: Flags): KmTypeVisitor {
return TypeReader(flags) {
upperBound = it
}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt
index 496364a..168d33a 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspExecutableParameterElement.kt
@@ -36,6 +36,9 @@
override val name: String
get() = parameter.name?.asString() ?: "_no_param_name"
+ override val hasDefaultValue: Boolean
+ get() = parameter.hasDefault
+
override val type: KspType by lazy {
parameter.typeAsMemberOf(
functionDeclaration = method.declaration,
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt
index a32e70f..2e12e3b 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticContinuationParameterElement.kt
@@ -61,6 +61,9 @@
arrayOf("continuation", containing)
}
+ override val hasDefaultValue: Boolean
+ get() = false
+
override val type: XType by lazy {
val continuation = env.resolver.requireContinuationClass()
val contType = continuation.asType(
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
index d01cec9..ca2508b 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
@@ -210,6 +210,9 @@
override val fallbackLocationText: String
get() = "$name in ${origin.fallbackLocationText}"
+ override val hasDefaultValue: Boolean
+ get() = false
+
override fun asMemberOf(other: XType): XType {
return origin.field.asMemberOf(other)
}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
index 78e2a11..9f9a1df 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
@@ -610,6 +610,97 @@
}
@Test
+ fun defaultMethodParameters() {
+ fun buildSource(pkg: String) = Source.kotlin(
+ "Foo.kt",
+ """
+ package $pkg
+ class Subject {
+ var prop:Int = 1
+ fun method1(arg:Int = 0, arg2:Int) {}
+ fun method2(arg:Int, arg2:Int = 0) {}
+ fun varargMethod1(x:Int = 3, vararg y:Int) {}
+ fun varargMethod2(x:Int, vararg y:Int = intArrayOf(1,2,3)) {}
+ suspend fun suspendMethod() {}
+ @JvmOverloads
+ fun jvmOverloadsMethod(
+ x:Int,
+ y:Int = 1,
+ z:String = "foo"
+ ) {}
+ }
+ """.trimIndent()
+ )
+
+ fun XExecutableElement.defaults() = parameters.map { it.hasDefaultValue }
+ runProcessorTest(
+ sources = listOf(buildSource(pkg = "app")),
+ classpath = compileFiles(listOf(buildSource(pkg = "lib")))
+ ) { invocation ->
+ listOf("app", "lib").map {
+ invocation.processingEnv.requireTypeElement("$it.Subject")
+ }.forEach { subject ->
+ subject.getMethod("method1").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults()).containsExactly(true, false).inOrder()
+ }
+ subject.getMethod("method2").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults()).containsExactly(false, true).inOrder()
+ }
+ subject.getMethod("varargMethod1").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults()).containsExactly(true, false).inOrder()
+ }
+ subject.getMethod("varargMethod2").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults()).containsExactly(false, true).inOrder()
+ }
+ subject.getMethod("suspendMethod").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults()).containsExactly(false)
+ }
+ subject.getMethod("setProp").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults()).containsExactly(false)
+ }
+ val jvmOverloadedMethodCount = subject.getDeclaredMethods().count {
+ it.name == "jvmOverloadsMethod"
+ }
+ if (invocation.isKsp) {
+ assertWithMessage(subject.fallbackLocationText)
+ .that(jvmOverloadedMethodCount).isEqualTo(1)
+ subject.getMethod("jvmOverloadsMethod").let { method ->
+ assertWithMessage(method.fallbackLocationText)
+ .that(method.defaults())
+ .containsExactly(false, true, true).inOrder()
+ }
+ } else {
+ assertWithMessage(subject.fallbackLocationText)
+ .that(jvmOverloadedMethodCount).isEqualTo(3)
+ val actuals = subject.getDeclaredMethods().filter {
+ it.name == "jvmOverloadsMethod"
+ }.associateBy(
+ keySelector = { it.parameters.size },
+ valueTransform = { it.defaults() }
+ )
+ // JVM overloads is not part of the java stub or metadata, hence we cannot
+ // detect it
+ assertWithMessage(subject.fallbackLocationText)
+ .that(actuals)
+ .containsExactlyEntriesIn(
+ mapOf(
+ 1 to listOf(false),
+ 2 to listOf(false, false),
+ 3 to listOf(false, true, true)
+ )
+ )
+ }
+ }
+ }
+ }
+
+ @Test
fun thrownTypes() {
fun buildSources(pkg: String) = listOf(
Source.java(
diff --git a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt
index 0954498..e0e120c 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt
@@ -29,6 +29,7 @@
import androidx.room.util.CursorUtil
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.FlakyTest
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.runBlocking
@@ -488,6 +489,7 @@
}
}
+ @FlakyTest(bugId = 193653151)
@Test
fun prepend_invalidResult() {
val pagingSource = LimitOffsetPagingSourceImpl(database)
diff --git a/settings.gradle b/settings.gradle
index 87a385d..c176b0f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -211,11 +211,11 @@
includeProject(":asynclayoutinflater:asynclayoutinflater", "asynclayoutinflater/asynclayoutinflater", [BuildType.MAIN])
includeProject(":autofill:autofill", "autofill/autofill", [BuildType.MAIN])
includeProject(":benchmark:benchmark-benchmark", "benchmark/benchmark", [BuildType.MAIN, BuildType.COMPOSE])
-includeProject(":benchmark:benchmark-common", "benchmark/common")
+includeProject(":benchmark:benchmark-common", "benchmark/benchmark-common")
includeProject(":benchmark:benchmark-gradle-plugin", "benchmark/gradle-plugin", [BuildType.MAIN])
-includeProject(":benchmark:benchmark-junit4", "benchmark/junit4")
-includeProject(":benchmark:benchmark-macro", "benchmark/macro", [BuildType.MAIN, BuildType.COMPOSE])
-includeProject(":benchmark:benchmark-macro-junit4", "benchmark/macro-junit4", [BuildType.MAIN, BuildType.COMPOSE])
+includeProject(":benchmark:benchmark-junit4", "benchmark/benchmark-junit4")
+includeProject(":benchmark:benchmark-macro", "benchmark/benchmark-macro", [BuildType.MAIN, BuildType.COMPOSE])
+includeProject(":benchmark:benchmark-macro-junit4", "benchmark/benchmark-macro-junit4", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":benchmark:integration-tests:dry-run-benchmark", "benchmark/integration-tests/dry-run-benchmark", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:macrobenchmark", "benchmark/integration-tests/macrobenchmark", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":benchmark:integration-tests:macrobenchmark-target", "benchmark/integration-tests/macrobenchmark-target", [BuildType.MAIN, BuildType.COMPOSE])
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt
index aa8f66f..2e4e226 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt
@@ -23,7 +23,6 @@
import androidx.slidingpanelayout.widget.helpers.findViewX
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.FlakyTest
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
import androidx.window.FoldingFeature.Orientation.Companion.VERTICAL
@@ -57,7 +56,6 @@
/**
* Test split views in middle when fold vertically
*/
- @FlakyTest(bugId = 190609880)
@Test
public fun testFoldVertical() {
TestActivity.onActivityCreated = { activity ->
@@ -97,7 +95,6 @@
/**
* Test split views when fold pane is smaller than required min width
*/
- @FlakyTest(bugId = 190609880)
@Test
public fun testFoldExceedMinWidth() {
val detailViewExtraWidth = 200
diff --git a/wear/compose/foundation/build.gradle b/wear/compose/foundation/build.gradle
index b0d3670..e4d5601 100644
--- a/wear/compose/foundation/build.gradle
+++ b/wear/compose/foundation/build.gradle
@@ -28,16 +28,16 @@
AndroidXComposePlugin.applyAndConfigureKotlinPlugin(project)
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
if(!AndroidXComposePlugin.isMultiplatformEnabled(project)) {
- api("androidx.compose.foundation:foundation:1.0.0-rc01")
- api("androidx.compose.ui:ui:1.0.0-rc01")
- api("androidx.compose.ui:ui-text:1.0.0-rc01")
- api("androidx.compose.runtime:runtime:1.0.0-rc01")
+ api("androidx.compose.foundation:foundation:1.0.0-rc02")
+ api("androidx.compose.ui:ui:1.0.0-rc02")
+ api("androidx.compose.ui:ui-text:1.0.0-rc02")
+ api("androidx.compose.runtime:runtime:1.0.0-rc02")
implementation(libs.kotlinStdlib)
- implementation("androidx.compose.foundation:foundation-layout:1.0.0-rc01")
+ implementation("androidx.compose.foundation:foundation-layout:1.0.0-rc02")
androidTestImplementation project(path: ':compose:ui:ui-test')
androidTestImplementation project(path: ':compose:ui:ui-test-junit4')
diff --git a/wear/compose/material/build.gradle b/wear/compose/material/build.gradle
index 17e443f..35f6046 100644
--- a/wear/compose/material/build.gradle
+++ b/wear/compose/material/build.gradle
@@ -28,17 +28,17 @@
AndroidXComposePlugin.applyAndConfigureKotlinPlugin(project)
dependencies {
- kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc01")
+ kotlinPlugin("androidx.compose.compiler:compiler:1.0.0-rc02")
if(!AndroidXComposePlugin.isMultiplatformEnabled(project)) {
- api("androidx.compose.foundation:foundation:1.0.0-rc01")
- api("androidx.compose.ui:ui:1.0.0-rc01")
- api("androidx.compose.ui:ui-text:1.0.0-rc01")
- api("androidx.compose.runtime:runtime:1.0.0-rc01")
+ api("androidx.compose.foundation:foundation:1.0.0-rc02")
+ api("androidx.compose.ui:ui:1.0.0-rc02")
+ api("androidx.compose.ui:ui-text:1.0.0-rc02")
+ api("androidx.compose.runtime:runtime:1.0.0-rc02")
implementation(libs.kotlinStdlib)
- implementation("androidx.compose.material:material:1.0.0-rc01")
- implementation("androidx.compose.material:material-ripple:1.0.0-rc01")
+ implementation("androidx.compose.material:material:1.0.0-rc02")
+ implementation("androidx.compose.material:material-ripple:1.0.0-rc02")
androidTestImplementation project(path: ':compose:ui:ui-test')
androidTestImplementation project(path: ':compose:ui:ui-test-junit4')