Merge "Remove the EXIF and VP8X chunks from webp_without_exif test file" into androidx-main
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityCallbacksTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityCallbacksTest.kt
index 39dbf89..f773be2 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityCallbacksTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityCallbacksTest.kt
@@ -27,6 +27,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
@@ -37,7 +38,7 @@
class ComponentActivityCallbacksTest {
@Test
fun onConfigurationChanged() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
var receivedFontScale = withActivity {
resources.configuration.fontScale
}
@@ -59,7 +60,7 @@
@Test
fun onConfigurationChangedRemove() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
var receivedFontScale = withActivity {
resources.configuration.fontScale
}
@@ -90,7 +91,7 @@
@Test
fun onConfigurationChangedReentrant() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val activity = withActivity { this }
var receivedFontScale = withActivity {
resources.configuration.fontScale
@@ -123,7 +124,7 @@
@Test
fun onTrimMemory() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
var receivedLevel = -1
val listener = Consumer<Int> { level ->
@@ -140,7 +141,7 @@
@Test
fun onTrimMemoryRemove() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
var receivedLevel = -1
val listener = Consumer<Int> { level ->
@@ -165,7 +166,7 @@
@Test
fun onTrimMemoryRemoveReentrant() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val activity = withActivity { this }
var receivedLevel = -1
@@ -191,7 +192,7 @@
@Test
fun onNewIntent() {
- with(ActivityScenario.launch(SingleTopActivity::class.java)) {
+ withUse(ActivityScenario.launch(SingleTopActivity::class.java)) {
val receivedIntents = mutableListOf<Intent>()
val listener = Consumer<Intent> { intent ->
@@ -215,7 +216,7 @@
@Test
fun onNewIntentRemove() {
- with(ActivityScenario.launch(SingleTopActivity::class.java)) {
+ withUse(ActivityScenario.launch(SingleTopActivity::class.java)) {
val receivedIntents = mutableListOf<Intent>()
val listener = Consumer<Intent> { intent ->
@@ -250,7 +251,7 @@
@Test
fun onNewIntentReentrant() {
- with(ActivityScenario.launch(SingleTopActivity::class.java)) {
+ withUse(ActivityScenario.launch(SingleTopActivity::class.java)) {
val activity = withActivity { this }
val receivedIntents = mutableListOf<Intent>()
@@ -286,7 +287,7 @@
@Suppress("DEPRECATION")
@Test
fun onMultiWindowModeChanged() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
lateinit var receivedInfo: MultiWindowModeChangedInfo
val listener = Consumer<MultiWindowModeChangedInfo> { info ->
@@ -304,7 +305,7 @@
@SdkSuppress(minSdkVersion = 26)
@Test
fun onMultiWindowModeChangedWithConfig() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
lateinit var receivedInfo: MultiWindowModeChangedInfo
var dispatchCount = 0
@@ -328,7 +329,7 @@
@Suppress("DEPRECATION")
@Test
fun onMultiWindowModeChangedRemove() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
lateinit var receivedInfo: MultiWindowModeChangedInfo
val listener = Consumer<MultiWindowModeChangedInfo> { info ->
@@ -354,7 +355,7 @@
@Suppress("DEPRECATION")
@Test
fun onMultiWindowModeChangedRemoveReentrant() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val activity = withActivity { this }
lateinit var receivedInfo: MultiWindowModeChangedInfo
@@ -381,7 +382,7 @@
@Suppress("DEPRECATION")
@Test
fun onPictureInPictureModeChanged() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
lateinit var receivedInfo: PictureInPictureModeChangedInfo
val listener = Consumer<PictureInPictureModeChangedInfo> { info ->
@@ -399,7 +400,7 @@
@SdkSuppress(minSdkVersion = 26)
@Test
fun onPictureInPictureModeChangedWithConfig() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
lateinit var receivedInfo: PictureInPictureModeChangedInfo
var dispatchCount = 0
@@ -423,7 +424,7 @@
@Suppress("DEPRECATION")
@Test
fun onPictureInPictureModeChangedRemove() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
lateinit var receivedInfo: PictureInPictureModeChangedInfo
val listener = Consumer<PictureInPictureModeChangedInfo> { info ->
@@ -449,7 +450,7 @@
@Suppress("DEPRECATION")
@Test
fun onPictureInPictureModeChangedRemoveReentrant() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val activity = withActivity { this }
lateinit var receivedInfo: PictureInPictureModeChangedInfo
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityMenuTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityMenuTest.kt
index eec5594..4062812 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityMenuTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityMenuTest.kt
@@ -39,6 +39,7 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import java.util.concurrent.CountDownLatch
@@ -54,7 +55,7 @@
@Test
fun inflatesMenu() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val menuHost: ComponentActivity = withActivity { this }
@@ -87,7 +88,7 @@
@Test
fun onPrepareMenu() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val menuHost: ComponentActivity = withActivity { this }
var menuPrepared: Boolean
@@ -114,7 +115,7 @@
@Test
fun menuItemSelected() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val menuHost: ComponentActivity = withActivity { this }
var itemSelectedId: Int? = null
@@ -163,7 +164,7 @@
@Test
fun onMenuClosed() {
- with(ActivityScenario.launch(ComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ComponentActivity::class.java)) {
val menuHost: ComponentActivity = withActivity { this }
var menuClosed = false
@@ -189,7 +190,7 @@
@Test
fun onPanelClosed() {
- with(ActivityScenario.launch(ContextMenuComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(ContextMenuComponentActivity::class.java)) {
onView(withText("Context Menu")).perform(longClick())
onView(withText("Item1")).check(matches(isDisplayed()))
onView(withText("Item2")).check(matches(isDisplayed()))
@@ -204,7 +205,7 @@
@Test
fun menuAPIsCalledWithoutCallingSuper() {
- with(ActivityScenario.launch(OptionMenuNoSuperActivity::class.java)) {
+ withUse(ActivityScenario.launch(OptionMenuNoSuperActivity::class.java)) {
val menuHost: ComponentActivity = withActivity { this }
var itemSelectedId: Int? = null
var menuPrepared = false
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt
index 251a035..8e67e4f 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityOverrideLifecycleTest.kt
@@ -23,6 +23,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Assert.fail
import org.junit.Test
@@ -45,7 +46,7 @@
@Test
fun testOverrideLifecycle() {
- with(ActivityScenario.launch(LazyOverrideLifecycleComponentActivity::class.java)) {
+ withUse(ActivityScenario.launch(LazyOverrideLifecycleComponentActivity::class.java)) {
assertThat(withActivity { lifecycle.currentState })
.isEqualTo(Lifecycle.State.RESUMED)
}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt
index 70e6672..c0a91ed 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityReportFullyDrawnTest.kt
@@ -20,6 +20,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import org.junit.Test
import org.junit.runner.RunWith
@@ -29,7 +30,7 @@
@Test
fun testReportFullyDrawn() {
- with(ActivityScenario.launch(ReportFullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(ReportFullyDrawnActivity::class.java)) {
withActivity {
// This test makes sure that this method does not throw an exception on devices
// running API 19 (without UPDATE_DEVICE_STATS permission) and earlier
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
index acd7813..e89edfa 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
@@ -24,6 +24,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -40,7 +41,7 @@
@Test
fun test() {
- with(ActivityScenario.launch(AutoRestarterActivity::class.java)) {
+ withUse(ActivityScenario.launch(AutoRestarterActivity::class.java)) {
withActivity {
savedStateRegistry.runOnNextRecreation(Restarted2::class.java)
}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt
index 1972554..238b742 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivitySavedStateTest.kt
@@ -25,6 +25,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.After
import org.junit.Test
@@ -51,7 +52,7 @@
@Test
@Throws(Throwable::class)
fun savedState() {
- with(ActivityScenario.launch(SavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(SavedStateActivity::class.java)) {
assertThat(initializeSavedState()).isTrue()
recreate()
moveToState(Lifecycle.State.CREATED)
@@ -66,7 +67,7 @@
@Test
@Throws(Throwable::class)
fun savedStateLateInit() {
- with(ActivityScenario.launch(SavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(SavedStateActivity::class.java)) {
assertThat(initializeSavedState()).isTrue()
recreate()
val registry = withActivity { savedStateRegistry }
@@ -77,7 +78,7 @@
@Test
@Throws(Throwable::class)
fun savedStateEarlyRegisterOnCreate() {
- with(ActivityScenario.launch(SavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(SavedStateActivity::class.java)) {
assertThat(initializeSavedState()).isTrue()
SavedStateActivity.checkEnabledInOnCreate = true
recreate()
@@ -87,7 +88,7 @@
@Test
@Throws(Throwable::class)
fun savedStateEarlyRegisterOnContextAvailable() {
- with(ActivityScenario.launch(SavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(SavedStateActivity::class.java)) {
assertThat(initializeSavedState()).isTrue()
SavedStateActivity.checkEnabledInOnContextAvailable = true
recreate()
@@ -97,7 +98,7 @@
@Test
@Throws(Throwable::class)
fun savedStateEarlyRegisterInitAddedLifecycleObserver() {
- with(ActivityScenario.launch(SavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(SavedStateActivity::class.java)) {
assertThat(initializeSavedState()).isTrue()
SavedStateActivity.checkEnabledInInitAddedLifecycleObserver = true
recreate()
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
index 33417d3..4b9b9e6 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
@@ -28,6 +28,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
@@ -46,7 +47,7 @@
@Test
fun testSameViewModelStorePrePostOnCreate() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val originalStore = withActivity { preOnCreateViewModelStore }
assertWithMessage(
"Pre-onCreate() ViewModelStore should equal the post-onCreate() ViewModelStore"
@@ -65,7 +66,7 @@
@Test
fun testSameActivityViewModels() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val activityModel = withActivity { activityModel }
val defaultActivityModel = withActivity { defaultActivityModel }
assertThat(defaultActivityModel).isNotSameInstanceAs(activityModel)
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt
index 352dc8b..5eaa89cb 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt
@@ -23,6 +23,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
@@ -34,7 +35,7 @@
class ComponentDialogTest {
@Test
fun testLifecycle() {
- with(ActivityScenario.launch(EmptyContentActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyContentActivity::class.java)) {
val dialog = withActivity {
ComponentDialog(this)
}
@@ -59,7 +60,7 @@
@Test
fun testOnBackPressed() {
- with(ActivityScenario.launch(EmptyContentActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyContentActivity::class.java)) {
val dialog = withActivity {
DoubleTapBackDialog(this).also {
it.show()
@@ -83,7 +84,7 @@
@Test
fun testViewTreeOnBackPressedDispatcherOwner() {
- with(ActivityScenario.launch(EmptyContentActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyContentActivity::class.java)) {
val dialog = withActivity {
ViewOwnerDialog(this).also {
it.show()
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt
index d2e080c..1908896 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ContentViewTest.kt
@@ -28,6 +28,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
@@ -39,7 +40,7 @@
@Test
fun testLifecycleObserver() {
- with(ActivityScenario.launch(ContentViewActivity::class.java)) {
+ withUse(ActivityScenario.launch(ContentViewActivity::class.java)) {
val inflatedTextView: TextView = withActivity { findViewById(R.id.inflated_text_view) }
assertThat(inflatedTextView)
.isNotNull()
@@ -48,7 +49,7 @@
@Test
fun testViewTreeInflation() {
- with(ActivityScenario.launch(ContentViewActivity::class.java)) {
+ withUse(ActivityScenario.launch(ContentViewActivity::class.java)) {
val inflatedTextView: TextView = withActivity { findViewById(R.id.inflated_text_view) }
withActivity {
@@ -80,7 +81,7 @@
message: String,
attach: ComponentActivity.(View) -> Unit
) {
- with(ActivityScenario.launch(EmptyContentActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyContentActivity::class.java)) {
withActivity {
val view = View(this)
diff --git a/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt b/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt
index c91af81..2d7ff0a 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt
@@ -24,6 +24,7 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
@@ -40,7 +41,7 @@
class FullyDrawnReporterTest {
@Test
fun findFullyDrawnReporterOwner() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
val provider1 = object : FullyDrawnReporterOwner {
override val fullyDrawnReporter: FullyDrawnReporter
get() = withActivity { fullyDrawnReporter }
@@ -69,7 +70,7 @@
@Test
fun reportWhenComplete() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
lateinit var fullyDrawnReporter: FullyDrawnReporter
withActivity {
val view = View(this)
@@ -99,7 +100,7 @@
@Test
fun addReporter() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
val fullyDrawnReporter = withActivity { fullyDrawnReporter }
fullyDrawnReporter.addReporter()
fullyDrawnReporter.addReporter()
@@ -117,7 +118,7 @@
@Test
fun reporterAndReportWhen() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
val fullyDrawnReporter = withActivity { fullyDrawnReporter }
fullyDrawnReporter.addReporter()
val mutex = Mutex(true)
@@ -145,7 +146,7 @@
@Test
fun reportWhenAndReporter() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
val fullyDrawnReporter = withActivity { fullyDrawnReporter }
fullyDrawnReporter.addReporter()
val mutex = Mutex(true)
@@ -173,7 +174,7 @@
@Test
fun reportListener() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
var report1 = false
var report2 = false
var report3 = false
@@ -205,7 +206,7 @@
*/
@Test
fun fakeoutReport() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
withActivity {
setContentView(View(this))
}
@@ -233,7 +234,7 @@
*/
@Test
fun reportedInOnDraw() {
- with(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
+ withUse(ActivityScenario.launch(FullyDrawnActivity::class.java)) {
withActivity {
setContentView(View(this))
}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt b/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
index e5a2b92..3a75468 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
@@ -24,6 +24,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SmallTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Before
import org.junit.Test
@@ -382,7 +383,7 @@
@LargeTest
@Test
fun testCallOnBackPressedWhenStopped() {
- with(ActivityScenario.launch(ContentViewActivity::class.java)) {
+ withUse(ActivityScenario.launch(ContentViewActivity::class.java)) {
val realDispatcher = withActivity { onBackPressedDispatcher }
moveToState(Lifecycle.State.CREATED)
withActivity { realDispatcher.onBackPressed() }
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
index c54e415..aa98691 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
@@ -165,6 +165,7 @@
)
}
additionalTestOutputDir = arguments.getString("additionalTestOutputDir")
+ Log.d(BenchmarkState.TAG, "additionalTestOutputDir=$additionalTestOutputDir")
killProcessDelayMillis =
arguments.getBenchmarkArgument("killProcessDelayMillis")?.toLong() ?: 0L
diff --git a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/BenchmarkReportTask.kt b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/BenchmarkReportTask.kt
index a820130..339d8cec 100644
--- a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/BenchmarkReportTask.kt
+++ b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/BenchmarkReportTask.kt
@@ -112,15 +112,27 @@
* Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
*/
private fun getReportDirForDevice(adb: Adb, deviceId: String): String {
- // _data NOT LIKE '%files/Download' filters app-scoped shared external storage.
- val cmd = "shell content query --uri content://media/external/file --projection _data" +
- " --where \"_data LIKE '%/Download' AND _data NOT LIKE '%files/Download'\""
- // NOTE: stdout of the above command is of the form:
- // Row: 0 _data=/storage/emulated/0/Download
+ val cmd = "shell content query --uri content://media/external/file --projection _data"
+
+ // With Android >= 10 `LIKE` is no longer supported when specifying a `WHERE` clause so we
+ // need to manually filter the output here.
+ // Note that stdout of the above command is of the form:
+ // Row: 0 _data=/storage/emulated
+ // Row: 1 _data=/storage/emulated/0
+ // Row: 2 _data=/storage/emulated/0/Music
+ // Row: 3 _data=/storage/emulated/0/Podcasts
+ // Row: 4 _data=/storage/emulated/0/Ringtones
+ // Row: 5 _data=/storage/emulated/0/Alarms
+ // Row: 5 _data=/storage/emulated/0/Download
+ // etc
+
+ // There are 2 filters: the first filters all the rows ending with `Download`, while
+ // the second excludes app-scoped shared external storage.
return adb.execSync(cmd, deviceId).stdout
.split("\n")
- .first()
+ .filter { it.matches(regex = Regex(".*/Download")) }
+ .first { !it.matches(regex = Regex(".*files/Download")) }
.trim()
.split(Regex("\\s+"))
.last()
diff --git a/browser/browser/build.gradle b/browser/browser/build.gradle
index 70e78d7..69034ed 100644
--- a/browser/browser/build.gradle
+++ b/browser/browser/build.gradle
@@ -18,7 +18,7 @@
dependencies {
api("androidx.core:core:1.1.0")
- api("androidx.annotation:annotation:1.1.0")
+ api("androidx.annotation:annotation:1.2.0")
api(libs.guavaListenableFuture)
implementation("androidx.collection:collection:1.1.0")
diff --git a/browser/browser/src/main/java/androidx/browser/customtabs/CustomTabsIntent.java b/browser/browser/src/main/java/androidx/browser/customtabs/CustomTabsIntent.java
index 1383108..9792aff 100644
--- a/browser/browser/src/main/java/androidx/browser/customtabs/CustomTabsIntent.java
+++ b/browser/browser/src/main/java/androidx/browser/customtabs/CustomTabsIntent.java
@@ -26,8 +26,12 @@
import android.graphics.Bitmap;
import android.graphics.Color;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
+import android.os.LocaleList;
+import android.provider.Browser;
+import android.text.TextUtils;
import android.util.SparseArray;
import android.view.View;
import android.widget.RemoteViews;
@@ -35,9 +39,11 @@
import androidx.annotation.AnimRes;
import androidx.annotation.ColorInt;
import androidx.annotation.Dimension;
+import androidx.annotation.DoNotInline;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.core.app.ActivityOptionsCompat;
import androidx.core.app.BundleCompat;
@@ -453,6 +459,11 @@
private static final int MAX_TOOLBAR_CORNER_RADIUS_DP = 16;
/**
+ * The name of the accept language HTTP header.
+ */
+ private static final String HTTP_ACCEPT_LANGUAGE = "Accept-Language";
+
+ /**
* An {@link Intent} used to start the Custom Tabs Activity.
*/
@NonNull public final Intent intent;
@@ -1069,8 +1080,29 @@
}
mIntent.putExtra(EXTRA_SHARE_STATE, mShareState);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ setCurrentLocaleAsDefaultAcceptLanguage();
+ }
+
return new CustomTabsIntent(mIntent, mStartAnimationBundle);
}
+
+ /**
+ * Sets the current app's locale as default Accept-Language. If the app has its own locale,
+ * we set it to Accept-Language, otherwise use the system locale.
+ */
+ @RequiresApi(api = Build.VERSION_CODES.N)
+ private void setCurrentLocaleAsDefaultAcceptLanguage() {
+ String defaultLocale = Api24Impl.getDefaultLocale();
+ if (!TextUtils.isEmpty(defaultLocale)) {
+ Bundle header = mIntent.hasExtra(Browser.EXTRA_HEADERS) ?
+ mIntent.getBundleExtra(Browser.EXTRA_HEADERS) : new Bundle();
+ if (!header.containsKey(HTTP_ACCEPT_LANGUAGE)) {
+ header.putString(HTTP_ACCEPT_LANGUAGE, defaultLocale);
+ mIntent.putExtra(Browser.EXTRA_HEADERS, header);
+ }
+ }
+ }
}
/**
@@ -1200,4 +1232,14 @@
public static int getCloseButtonPosition(@NonNull Intent intent) {
return intent.getIntExtra(EXTRA_CLOSE_BUTTON_POSITION, CLOSE_BUTTON_POSITION_DEFAULT);
}
+
+ @RequiresApi(api = Build.VERSION_CODES.N)
+ private static class Api24Impl {
+ @DoNotInline
+ @Nullable
+ static String getDefaultLocale() {
+ LocaleList defaultLocaleList = LocaleList.getAdjustedDefault();
+ return (defaultLocaleList.size() > 0) ? defaultLocaleList.get(0).toLanguageTag(): null;
+ }
+ }
}
diff --git a/browser/browser/src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java b/browser/browser/src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java
index 620bdad..18e3aa6 100644
--- a/browser/browser/src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java
+++ b/browser/browser/src/test/java/androidx/browser/customtabs/CustomTabsIntentTest.java
@@ -16,6 +16,8 @@
package androidx.browser.customtabs;
+import static com.google.common.net.HttpHeaders.ACCEPT_LANGUAGE;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -26,6 +28,9 @@
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
+import android.os.Bundle;
+import android.os.LocaleList;
+import android.provider.Browser;
import androidx.annotation.ColorRes;
import androidx.annotation.RequiresApi;
@@ -513,6 +518,25 @@
intent.getParcelableExtra(CustomTabsIntent.EXTRA_SESSION_ID));
}
+ @Config(maxSdk = Build.VERSION_CODES.M)
+ @Test
+ public void putDefaultAcceptLanguage_BeforeSdk24() {
+ Intent intent = new CustomTabsIntent.Builder().build().intent;
+
+ Bundle header = intent.getBundleExtra(Browser.EXTRA_HEADERS);
+ boolean isEmptyAcceptLanguage = header == null || !header.containsKey(ACCEPT_LANGUAGE);
+ assertTrue(isEmptyAcceptLanguage);
+ }
+
+ @Config(minSdk = Build.VERSION_CODES.N)
+ @Test
+ public void putDefaultAcceptLanguage() {
+ Intent intent = new CustomTabsIntent.Builder().build().intent;
+
+ assertEquals(LocaleList.getAdjustedDefault().get(0).toLanguageTag(),
+ intent.getBundleExtra(Browser.EXTRA_HEADERS).getString(ACCEPT_LANGUAGE));
+ }
+
private void assertNullSessionInExtras(Intent intent) {
assertTrue(intent.hasExtra(CustomTabsIntent.EXTRA_SESSION));
assertNull(intent.getExtras().getBinder(CustomTabsIntent.EXTRA_SESSION));
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraInfoAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraInfoAdapter.kt
index 69710ad..62e2495 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraInfoAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraInfoAdapter.kt
@@ -20,6 +20,7 @@
import android.annotation.SuppressLint
import android.hardware.camera2.CameraCharacteristics
+import android.hardware.camera2.CameraMetadata
import android.view.Surface
import androidx.annotation.RequiresApi
import androidx.camera.camera2.pipe.CameraPipe
@@ -114,8 +115,14 @@
}
override fun getTimebase(): Timebase {
- Log.warn { "TODO: getTimebase are not yet supported." }
- return Timebase.UPTIME
+ val timeSource = cameraProperties.metadata[
+ CameraCharacteristics.SENSOR_INFO_TIMESTAMP_SOURCE
+ ]!!
+ return when (timeSource) {
+ CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME -> Timebase.REALTIME
+ CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN -> Timebase.UPTIME
+ else -> Timebase.UPTIME
+ }
}
override fun toString(): String = "CameraInfoAdapter<$cameraConfig.cameraId>"
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt
index ed6a21c..61c2f9d 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt
@@ -18,7 +18,6 @@
import androidx.testutils.assertThrows
import com.google.common.truth.Truth
-import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
@@ -39,7 +38,6 @@
Truth.assertThat(testBuffer.dequeue()).isEqualTo(2)
}
- @Ignore("b/249127050")
@Test
fun testDequeue_correctValueIsDequeued() {
@Suppress("UNCHECKED_CAST")
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt
index b7fbf24..05be1ee 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt
@@ -67,6 +67,9 @@
log("started: ${description.displayName}")
logUncaughtExceptions()
base.evaluate()
+ } catch (e: AssumptionViolatedException) {
+ log("AssumptionViolatedException: ${description.displayName}", e)
+ handleException(e)
} catch (e: Throwable) {
log("failed: ${description.displayName}", e)
handleException(e)
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
index 2766d4f..d0eea0a 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
@@ -145,6 +145,7 @@
Build.MODEL.contains("Cuttlefish") && Build.VERSION.SDK_INT == 29
)
+ ProcessCameraProvider.configureInstance(cameraConfig)
cameraProvider = ProcessCameraProvider.getInstance(context).get()
lifecycleOwner = FakeLifecycleOwner()
lifecycleOwner.startAndResume()
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt
index 89933d5..c73bde2 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt
@@ -83,7 +83,7 @@
@get:Rule
val cameraPipeConfigTestRule = CameraPipeConfigTestRule(
- active = implName == CameraPipeConfig::class.simpleName,
+ active = implName.contains(CameraPipeConfig::class.simpleName!!),
)
@get:Rule
@@ -104,22 +104,22 @@
fun data(): Collection<Array<Any>> {
return listOf(
arrayOf(
- "back+camera2",
+ "back+" + Camera2Config::class.simpleName,
CameraSelector.DEFAULT_BACK_CAMERA,
Camera2Config.defaultConfig()
),
arrayOf(
- "front+camera2",
+ "front+" + Camera2Config::class.simpleName,
CameraSelector.DEFAULT_FRONT_CAMERA,
Camera2Config.defaultConfig()
),
arrayOf(
- "back+camerapipe",
+ "back+" + CameraPipeConfig::class.simpleName,
CameraSelector.DEFAULT_BACK_CAMERA,
CameraPipeConfig.defaultConfig()
),
arrayOf(
- "front+camerapipe",
+ "front+" + CameraPipeConfig::class.simpleName,
CameraSelector.DEFAULT_FRONT_CAMERA,
CameraPipeConfig.defaultConfig()
),
@@ -181,6 +181,7 @@
(Build.VERSION.SDK_INT == 29 || Build.VERSION.SDK_INT == 33)
)
+ ProcessCameraProvider.configureInstance(cameraConfig)
cameraProvider = ProcessCameraProvider.getInstance(context).get()
lifecycleOwner = FakeLifecycleOwner()
lifecycleOwner.startAndResume()
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt
index 03c1982..29e039c 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt
@@ -138,8 +138,7 @@
(Build.VERSION.SDK_INT == 29 || Build.VERSION.SDK_INT == 33)
)
- val cameraXConfig: CameraXConfig = Camera2Config.defaultConfig()
- CameraXUtil.initialize(context, cameraXConfig).get()
+ CameraXUtil.initialize(context, cameraConfig).get()
camera = CameraUtil.createCameraUseCaseAdapter(context, cameraSelector)
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
index 751a221..72350dc 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
@@ -21,10 +21,13 @@
import android.media.MediaFormat
import android.text.TextUtils
import androidx.camera.camera2.Camera2Config
+import androidx.camera.camera2.pipe.integration.CameraPipeConfig
import androidx.camera.core.Camera
import androidx.camera.core.CameraSelector
+import androidx.camera.core.CameraXConfig
import androidx.camera.core.impl.CameraInfoInternal
import androidx.camera.core.impl.Timebase
+import androidx.camera.testing.CameraPipeConfigTestRule
import androidx.camera.testing.CameraUtil
import androidx.camera.testing.CameraXUtil
import androidx.camera.testing.LabTestRule
@@ -52,14 +55,21 @@
@RunWith(Parameterized::class)
@SdkSuppress(minSdkVersion = 21)
class EncoderFinderTest(
+ private val implName: String,
+ private val cameraConfig: CameraXConfig,
private val lensFacing: Int,
private var cameraSelector: CameraSelector,
private var quality: Quality,
) {
@get:Rule
+ val cameraPipeConfigTestRule = CameraPipeConfigTestRule(
+ active = implName == CameraPipeConfig::class.simpleName,
+ )
+
+ @get:Rule
val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
- CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ CameraUtil.PreTestCameraIdList(cameraConfig)
)
@get:Rule
@@ -75,7 +85,7 @@
private val timebase = Timebase.UPTIME
@JvmStatic
- private val quality = arrayOf(
+ private val availableQualities = arrayOf(
Quality.SD,
Quality.HD,
Quality.FHD,
@@ -85,11 +95,31 @@
)
@JvmStatic
- @Parameterized.Parameters(name = "lensFacing={0}, quality={2}")
+ private val cameraxConfigs =
+ listOf(Camera2Config::class.simpleName, CameraPipeConfig::class.simpleName)
+
+ @JvmStatic
+ @Parameterized.Parameters(name = "config={0}, lensFacing={2}, quality={4}")
fun data() = mutableListOf<Array<Any?>>().apply {
- cameraSelectors.forEach { cameraSelector ->
- quality.forEach { quality ->
- add(arrayOf(cameraSelector.lensFacing, cameraSelector, quality))
+ cameraxConfigs.forEach { configImplName ->
+ cameraSelectors.forEach { cameraSelector ->
+ availableQualities.forEach { quality ->
+ add(
+ arrayOf(
+ configImplName,
+ when (configImplName) {
+ CameraPipeConfig::class.simpleName ->
+ CameraPipeConfig.defaultConfig()
+ Camera2Config::class.simpleName ->
+ Camera2Config.defaultConfig()
+ else -> Camera2Config.defaultConfig()
+ },
+ cameraSelector.lensFacing,
+ cameraSelector,
+ quality
+ )
+ )
+ }
}
}
}
@@ -102,7 +132,7 @@
fun setUp() {
Assume.assumeTrue(CameraUtil.hasCameraWithLensFacing(cameraSelector.lensFacing!!))
- CameraXUtil.initialize(context, Camera2Config.defaultConfig()).get()
+ CameraXUtil.initialize(context, cameraConfig).get()
camera = CameraUtil.createCameraUseCaseAdapter(context, cameraSelector)
}
diff --git a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/common/SamplePlaces.java b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/common/SamplePlaces.java
index bd83d0e..a40acb0 100644
--- a/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/common/SamplePlaces.java
+++ b/car/app/app-samples/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/common/SamplePlaces.java
@@ -19,6 +19,7 @@
import static java.lang.Math.max;
import static java.lang.Math.min;
+import android.content.res.TypedArray;
import android.graphics.BitmapFactory;
import android.location.Location;
import android.text.SpannableString;
@@ -84,6 +85,14 @@
private static List<PlaceInfo> getSamplePlaces(@NonNull CarContext carContext) {
List<PlaceInfo> places = new ArrayList<>();
+ TypedArray typedArray =
+ carContext.obtainStyledAttributes(R.style.CarAppTheme, R.styleable.ShowcaseTheme);
+ CarColor iconTintColor =
+ CarColor.createCustom(
+ typedArray.getColor(R.styleable.ShowcaseTheme_markerIconTintColor, -1),
+ typedArray.getColor(R.styleable.ShowcaseTheme_markerIconTintColorDark, -1));
+
+
Location location1 = new Location(SamplePlaces.class.getSimpleName());
location1.setLatitude(47.6696482);
location1.setLongitude(-122.19950278);
@@ -100,7 +109,7 @@
IconCompat.createWithResource(
carContext,
R.drawable.ic_commute_24px))
- .setTint(CarColor.BLUE)
+ .setTint(iconTintColor)
.build(),
PlaceMarker.TYPE_ICON)
.build()));
diff --git a/car/app/app-samples/showcase/common/src/main/res/values/attrs.xml b/car/app/app-samples/showcase/common/src/main/res/values/attrs.xml
index ae90df0..d6b0be2 100644
--- a/car/app/app-samples/showcase/common/src/main/res/values/attrs.xml
+++ b/car/app/app-samples/showcase/common/src/main/res/values/attrs.xml
@@ -17,5 +17,7 @@
<resources>
<declare-styleable name="ShowcaseTheme">
<attr name="themedIconColor" format="color"/>
+ <attr name="markerIconTintColor" format="color"/>
+ <attr name="markerIconTintColorDark" format="color"/>
</declare-styleable>
</resources>
diff --git a/car/app/app-samples/showcase/common/src/main/res/values/styles.xml b/car/app/app-samples/showcase/common/src/main/res/values/styles.xml
index 52de07a..50fb61a 100644
--- a/car/app/app-samples/showcase/common/src/main/res/values/styles.xml
+++ b/car/app/app-samples/showcase/common/src/main/res/values/styles.xml
@@ -22,5 +22,7 @@
<item name="carColorSecondary">#328E10</item>
<item name="carColorSecondaryDark">#1A6004</item>
<item name="carPermissionActivityLayout">@layout/permission_request</item>
+ <item name="markerIconTintColor">#FF7F39FB</item>
+ <item name="markerIconTintColorDark">#FF5904DF</item>
</style>
</resources>
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableBox.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableBox.kt
index 3587fc0..1147a76 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableBox.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableBox.kt
@@ -74,7 +74,7 @@
calculateAnchor = calculateAnchor
)
.offset {
- val currentOffset = swipeableState.offset.value.roundToInt()
+ val currentOffset = (swipeableState.offset ?: 0f).roundToInt()
val x = if (orientation == Orientation.Horizontal) currentOffset else 0
val y = if (orientation == Orientation.Vertical) currentOffset else 0
IntOffset(x, y)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2GestureTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2GestureTest.kt
index ebb0d0a..15409f5 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2GestureTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2GestureTest.kt
@@ -83,7 +83,7 @@
)
private fun verifyOffset0() = { state: SwipeableV2State<TestState>, _: TestState ->
- assertThat(state.offset.value).isEqualTo(0f)
+ assertThat(state.offset).isEqualTo(0f)
}
private fun verifyOffsetMatchesAnchor() =
@@ -94,7 +94,7 @@
B -> swipeableSizePx / 2
C -> swipeableSizePx
}
- assertThat(state.offset.value).isEqualTo(targetOffset)
+ assertThat(state.offset).isEqualTo(targetOffset)
}
private fun directionalSwipeTest(
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2StateTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2StateTest.kt
index ce9e8a8..888ce82 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2StateTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/swipeable/SwipeableV2StateTest.kt
@@ -41,6 +41,7 @@
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
+import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -244,4 +245,30 @@
assertThat(progress).isEqualTo(1f)
}
+
+ @Test
+ fun swipeable_requireOffset_accessedInInitialComposition_throws() {
+ var exception: Throwable? = null
+ rule.setContent {
+ val state = rememberSwipeableV2State(initialState = B)
+ exception = runCatching { state.requireOffset() }.exceptionOrNull()
+ }
+
+ assertThat(exception).isNotNull()
+ assertThat(exception).isInstanceOf(IllegalStateException::class.java)
+ }
+
+ @Test
+ @Ignore("LaunchedEffects execute instantly in tests. How can we delay?")
+ fun swipeable_requireOffset_accessedInEffect_doesntThrow() {
+ var exception: Throwable? = null
+ rule.setContent {
+ val state = rememberSwipeableV2State(initialState = B)
+ LaunchedEffect(Unit) {
+ exception = runCatching { state.requireOffset() }.exceptionOrNull()
+ }
+ }
+
+ assertThat(exception).isNull()
+ }
}
\ No newline at end of file
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeableV2.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeableV2.kt
index c4a5f17..03a7fc4 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeableV2.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeableV2.kt
@@ -140,18 +140,34 @@
* positional thresholds). If no animation is in progress, this will be the current state.
*/
val targetState: T by derivedStateOf {
- if (unsafeOffset.isNaN()) currentState else anchors.closestState(unsafeOffset)
+ if (offset != null) anchors.closestState(offset!!) else currentState
}
/**
- * The current offset.
+ * The current offset, or null if it has not been initialized yet.
+ *
+ * The offset will be initialized during the first measurement phase of the node that the
+ * [swipeableV2] modifier is attached to. These are the phases:
+ * Composition { -> Effects } -> Layout { Measurement -> Placement } -> Drawing
+ * During the first composition, the offset will be null. In subsequent compositions, the offset
+ * will be derived from the anchors of the previous pass.
+ * Always prefer accessing the offset from a LaunchedEffect as it will be scheduled to be
+ * executed the next frame, after layout.
+ *
+ * To guarantee stricter semantics, consider using [requireOffset].
*/
- val offset = derivedStateOf {
- if (unsafeOffset.isNaN()) error(
- "The offset was read before being initialized. Did you access the offset in a phase " +
- "before layout, like effects or composition?"
- )
- unsafeOffset
+ val offset: Float? by derivedStateOf {
+ dragPosition?.coerceIn(minBound, maxBound)
+ }
+
+ /**
+ * Require the current offset.
+ *
+ * @throws IllegalStateException If the offset has not been initialized yet
+ */
+ fun requireOffset(): Float = checkNotNull(offset) {
+ "The offset was read before being initialized. Did you access the offset in a phase " +
+ "before layout, like effects or composition?"
}
/**
@@ -169,7 +185,7 @@
val b = anchors[targetState] ?: 0f
val distance = abs(b - a)
if (distance > 1e-6f) {
- val progress = (this.offset.value - a) / (b - a)
+ val progress = (this.requireOffset() - a) / (b - a)
// If we are very close to 0f or 1f, we round to the closest
if (progress < 1e-6f) 0f else if (progress > 1 - 1e-6f) 1f else progress
} else 1f
@@ -184,11 +200,7 @@
var lastVelocity: Float by mutableStateOf(0f)
private set
- private val dragPosition = mutableStateOf(Float.NaN)
-
- private val unsafeOffset by derivedStateOf {
- dragPosition.value.coerceIn(minBound, maxBound)
- }
+ private var dragPosition by mutableStateOf<Float?>(null)
private val minBound by derivedStateOf { anchors.minOrNull() ?: Float.NEGATIVE_INFINITY }
private val maxBound by derivedStateOf { anchors.maxOrNull() ?: Float.POSITIVE_INFINITY }
@@ -199,7 +211,9 @@
private var velocityThreshold by mutableStateOf(0f)
- internal val draggableState = DraggableState { dragPosition.value = dragPosition.value + it }
+ internal val draggableState = DraggableState {
+ dragPosition = (dragPosition ?: 0f) + it
+ }
internal var anchors by mutableStateOf(emptyMap<T, Float>())
@@ -207,7 +221,7 @@
val previousAnchorsEmpty = anchors.isEmpty()
anchors = newAnchors
if (previousAnchorsEmpty) {
- dragPosition.value = anchors.requireAnchor(this.currentState)
+ dragPosition = anchors.requireAnchor(this.currentState)
}
}
@@ -227,7 +241,7 @@
suspend fun snapTo(targetState: T) {
val targetOffset = anchors.requireAnchor(targetState)
draggableState.drag {
- dragBy(targetOffset - offset.value)
+ dragBy(targetOffset - requireOffset())
}
this.currentState = targetState
}
@@ -249,7 +263,7 @@
try {
draggableState.drag {
isAnimationRunning = true
- var prev = dragPosition.value
+ var prev = dragPosition ?: 0f
try {
animate(prev, targetOffset, velocity, animationSpec) { value, velocity ->
dragBy(value - prev)
@@ -262,7 +276,8 @@
}
lastVelocity = 0f
} finally {
- val endOffset = dragPosition.value
+ val endOffset = requireNotNull(dragPosition) { "The drag position was in an " +
+ "invalid state. Please report this issue." }
val endState = anchors
.entries
.firstOrNull { (_, anchorOffset) -> abs(anchorOffset - endOffset) < 0.5f }
@@ -277,7 +292,7 @@
suspend fun settle(velocity: Float) {
val previousState = this.currentState
val targetState = computeTarget(
- offset = this.offset.value,
+ offset = requireOffset(),
currentState = previousState,
thresholds = positionalThresholds,
velocity = velocity,
@@ -297,9 +312,10 @@
* @return The delta the [draggableState] will consume
*/
fun dispatchRawDelta(delta: Float): Float {
- val potentiallyConsumed = dragPosition.value + delta
+ val currentDragPosition = dragPosition ?: 0f
+ val potentiallyConsumed = currentDragPosition + delta
val clamped = potentiallyConsumed.coerceIn(minBound, maxBound)
- val deltaToConsume = clamped - dragPosition.value
+ val deltaToConsume = clamped - currentDragPosition
if (abs(deltaToConsume) > 0) {
draggableState.dispatchRawDelta(deltaToConsume)
}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/InspectorInfoInComposedModifierSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/InspectorInfoInComposedModifierSamples.kt
index 34aab2e..719f148 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/InspectorInfoInComposedModifierSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/InspectorInfoInComposedModifierSamples.kt
@@ -29,7 +29,7 @@
@Sampled
fun InspectorInfoInComposedModifierSample() {
- // let's create you own custom stateful modifier
+ // let's create your own custom stateful modifier
fun Modifier.myColorModifier(color: Color) = composed(
// pass inspector information for debug
inspectorInfo = debugInspectorInfo {
@@ -51,7 +51,7 @@
@Sampled
fun InspectorInfoInComposedModifierWithArgumentsSample() {
- // let's create you own custom stateful modifier with multiple arguments
+ // let's create your own custom stateful modifier with multiple arguments
fun Modifier.myModifier(width: Dp, height: Dp, color: Color) = composed(
// pass inspector information for debug
inspectorInfo = debugInspectorInfo {
diff --git a/constraintlayout/constraintlayout-compose/api/public_plus_experimental_current.txt b/constraintlayout/constraintlayout-compose/api/public_plus_experimental_current.txt
index a9ccadb..fc6a1b5f 100644
--- a/constraintlayout/constraintlayout-compose/api/public_plus_experimental_current.txt
+++ b/constraintlayout/constraintlayout-compose/api/public_plus_experimental_current.txt
@@ -644,8 +644,8 @@
}
@androidx.constraintlayout.compose.ExperimentalMotionApi public final class MotionSceneScope {
- method public androidx.constraintlayout.compose.ConstraintSetRef addConstraintSet(optional String? name, androidx.constraintlayout.compose.ConstraintSet constraintSet);
- method public void addTransition(optional String? name, androidx.constraintlayout.compose.Transition transition);
+ method public androidx.constraintlayout.compose.ConstraintSetRef addConstraintSet(androidx.constraintlayout.compose.ConstraintSet constraintSet, optional String? name);
+ method public void addTransition(androidx.constraintlayout.compose.Transition transition, optional String? name);
method public androidx.constraintlayout.compose.ConstraintSetRef constraintSet(optional String? name, optional androidx.constraintlayout.compose.ConstraintSetRef? extendConstraintSet, kotlin.jvm.functions.Function1<? super androidx.constraintlayout.compose.ConstraintSetScope,kotlin.Unit> constraintSetContent);
method public androidx.constraintlayout.compose.ConstrainedLayoutReference createRefFor(Object id);
method public void customColor(androidx.constraintlayout.compose.ConstrainScope, String name, long value);
diff --git a/constraintlayout/constraintlayout-compose/build.gradle b/constraintlayout/constraintlayout-compose/build.gradle
index b48e453..0af8cae 100644
--- a/constraintlayout/constraintlayout-compose/build.gradle
+++ b/constraintlayout/constraintlayout-compose/build.gradle
@@ -36,10 +36,13 @@
implementation(project(":constraintlayout:constraintlayout-core"))
+ androidTestImplementation(project(":compose:material:material"))
androidTestImplementation(project(":compose:ui:ui-test"))
androidTestImplementation(project(":compose:ui:ui-test-junit4"))
+ androidTestImplementation(project(":compose:ui:ui-test-manifest"))
androidTestImplementation(project(":activity:activity"))
+ androidTestImplementation(libs.kotlinTest)
androidTestImplementation(libs.testRules)
androidTestImplementation(libs.testRunner)
androidTestImplementation(libs.junit)
@@ -90,12 +93,15 @@
}
androidAndroidTest.dependencies {
+ implementation(libs.kotlinTest)
implementation(libs.testRules)
implementation(libs.testRunner)
implementation(libs.junit)
implementation(libs.truth)
implementation(project(":compose:foundation:foundation"))
+ implementation(project(":compose:material:material"))
implementation(project(":compose:ui:ui-test-junit4"))
+ implementation(project(":compose:ui:ui-test-manifest"))
implementation(project(":compose:test-utils"))
}
}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt
new file mode 100644
index 0000000..bbfe49b
--- /dev/null
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt
@@ -0,0 +1,173 @@
+/*
+ * Copyright 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.constraintlayout.compose
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.size
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.test.assertPositionInRootIsEqualTo
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithTag
+import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.MediumTest
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@MediumTest
+@RunWith(AndroidJUnit4::class)
+class ChainsTest {
+ @get:Rule
+ val rule = createComposeRule()
+
+ @Test
+ fun testHorizontalPacked_withConstraintSet() {
+ val rootSize = 100.dp
+ val boxSizes = arrayOf(10.dp, 20.dp, 30.dp)
+ val margin = 10.dp
+ val constraintSet = ConstraintSet {
+ val box0 = createRefFor("box0")
+ val box1 = createRefFor("box1")
+ val box2 = createRefFor("box2")
+ val chain0 = createHorizontalChain(box0, box1, chainStyle = ChainStyle.Packed)
+
+ constrain(box0) {
+ width = Dimension.value(boxSizes[0])
+ height = Dimension.value(boxSizes[0])
+ centerVerticallyTo(parent)
+ }
+ constrain(box1) {
+ width = Dimension.value(boxSizes[1])
+ height = Dimension.value(boxSizes[1])
+ centerVerticallyTo(box0)
+ }
+ constrain(box2) {
+ width = Dimension.value(boxSizes[2])
+ height = Dimension.value(boxSizes[2])
+ top.linkTo(parent.top, margin)
+ start.linkTo(parent.start, margin)
+ }
+ constrain(chain0) {
+ start.linkTo(box2.end, margin)
+ }
+ }
+ rule.setContent {
+ ConstraintLayout(
+ modifier = Modifier.size(rootSize),
+ constraintSet = constraintSet
+ ) {
+ Box(
+ modifier = Modifier
+ .background(Color.Red)
+ .layoutTestId("box0")
+ )
+ Box(
+ modifier = Modifier
+ .background(Color.Blue)
+ .layoutTestId("box1")
+ )
+ Box(
+ modifier = Modifier
+ .background(Color.Green)
+ .layoutTestId("box2")
+ )
+ }
+ }
+ rule.waitForIdle()
+
+ val spaceForChain = rootSize - boxSizes[2] - (margin * 2)
+ val spaceAroundChain = spaceForChain - boxSizes[0] - boxSizes[1]
+ val spaceAtLeftOfChain = spaceAroundChain * 0.5f
+ val offsetFromBox2 = margin + boxSizes[2] + margin
+
+ val box0Left = offsetFromBox2 + spaceAtLeftOfChain
+ val box0Top = (rootSize - boxSizes[0]) * 0.5f
+
+ val box1Left = box0Left + boxSizes[0] + 0.5.dp // 0.5dp, compensate for a small solver error
+ val box1Top = box0Top - ((boxSizes[1] - boxSizes[0]) * 0.5f)
+
+ rule.onNodeWithTag("box0").assertPositionInRootIsEqualTo(box0Left, box0Top)
+ rule.onNodeWithTag("box1").assertPositionInRootIsEqualTo(box1Left, box1Top)
+ rule.onNodeWithTag("box2").assertPositionInRootIsEqualTo(margin, margin)
+ }
+
+ @Test
+ fun testHorizontalPacked_withModifier() {
+ val rootSize = 100.dp
+ val boxSizes = arrayOf(10.dp, 20.dp, 30.dp)
+ val margin = 10.dp
+ rule.setContent {
+ ConstraintLayout(Modifier.size(rootSize)) {
+ val (box0, box1, box2) = createRefs()
+ val chain0 = createHorizontalChain(box0, box1, chainStyle = ChainStyle.Packed)
+ constrain(chain0) {
+ start.linkTo(box2.end, margin)
+ }
+ Box(
+ modifier = Modifier
+ .background(Color.Red)
+ .constrainAs(box0) {
+ width = Dimension.value(boxSizes[0])
+ height = Dimension.value(boxSizes[0])
+ centerVerticallyTo(parent)
+ }
+ .layoutTestId("box0")
+ )
+ Box(
+ modifier = Modifier
+ .background(Color.Blue)
+ .constrainAs(box1) {
+ width = Dimension.value(boxSizes[1])
+ height = Dimension.value(boxSizes[1])
+ centerVerticallyTo(box0)
+ }
+ .layoutTestId("box1")
+ )
+ Box(
+ modifier = Modifier
+ .background(Color.Green)
+ .constrainAs(box2) {
+ width = Dimension.value(boxSizes[2])
+ height = Dimension.value(boxSizes[2])
+ top.linkTo(parent.top, margin)
+ start.linkTo(parent.start, margin)
+ }
+ .layoutTestId("box2")
+ )
+ }
+ }
+ rule.waitForIdle()
+
+ val spaceForChain = rootSize - boxSizes[2] - (margin * 2)
+ val spaceAroundChain = spaceForChain - boxSizes[0] - boxSizes[1]
+ val spaceAtLeftOfChain = spaceAroundChain * 0.5f
+ val offsetFromBox2 = margin + boxSizes[2] + margin
+
+ val box0Left = offsetFromBox2 + spaceAtLeftOfChain
+ val box0Top = (rootSize - boxSizes[0]) * 0.5f
+
+ val box1Left = box0Left + boxSizes[0] + 0.5.dp // 0.5dp, compensate for a small solver error
+ val box1Top = box0Top - ((boxSizes[1] - boxSizes[0]) * 0.5f)
+
+ rule.onNodeWithTag("box0").assertPositionInRootIsEqualTo(box0Left, box0Top)
+ rule.onNodeWithTag("box1").assertPositionInRootIsEqualTo(box1Left, box1Top)
+ rule.onNodeWithTag("box2").assertPositionInRootIsEqualTo(margin, margin)
+ }
+}
\ No newline at end of file
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/ConstraintLayoutTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
similarity index 99%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
index aa506f1..5c2b507 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
@@ -1200,8 +1200,8 @@
rule.setContent {
Box {
ConstraintLayout {
- val (box1, box2) = createRefs()
- val barrier = createBottomBarrier(box1)
+ val (box1, _) = createRefs()
+ createBottomBarrier(box1)
Box(
Modifier
.height(if (smallSize) 30.dp else 40.dp)
@@ -1247,6 +1247,7 @@
val barrier = createAbsoluteLeftBarrier(box1)
// Make sure the content is reexecuted when first changes.
+ @Suppress("UNUSED_EXPRESSION")
first
// If the reference changed, we would remeasure and reexecute the DSL.
@@ -1581,6 +1582,7 @@
rule.onNodeWithTag(boxTag).assertPositionInRootIsEqualTo(175.dp, 5.dp)
}
+ @Ignore("Fails with online devices, expects 30.47dp instead of 29.5dp")
@Test
fun testLayoutReference_withConstraintSet() {
val boxTag1 = "box1"
@@ -1626,6 +1628,7 @@
rule.onNodeWithTag(boxTag2).assertPositionInRootIsEqualTo(60.dp, 0.dp)
}
+ @Ignore("Fails with online devices, expects 30.47dp instead of 29.5dp")
@Test
fun testLayoutReference_withInlineDsl() {
val boxTag1 = "box1"
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/DesignInfoProviderTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/DesignInfoProviderTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/DesignInfoProviderTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/DesignInfoProviderTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/FlowTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/FlowTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/FlowTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/FlowTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionFlowTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionFlowTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionFlowTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionFlowTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionLayoutStateTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutStateTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionLayoutStateTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutStateTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionLayoutTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionLayoutTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionParserTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionParserTest.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/MotionParserTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionParserTest.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/OnSwipeTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt
similarity index 97%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/OnSwipeTest.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt
index 1547ea0..b6b08d6 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/OnSwipeTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt
@@ -39,6 +39,7 @@
import kotlin.math.roundToInt
import org.junit.After
import org.junit.Before
+import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -59,11 +60,13 @@
isDebugInspectorInfoEnabled = false
}
+ @Ignore("Fails on online devices, box left position is 48 instead of 51.6")
@Test
fun simpleCornerToCornerRightSwipe_Json() {
testMotionLayoutSwipe { OnSwipeTestJson() }
}
+ @Ignore("Fails on online devices, box left position is 48 instead of 51.6")
@Test
fun simpleCornerToCornerRightSwipe_Dsl() {
testMotionLayoutSwipe { OnSwipeTestDsl() }
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/Utils.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/Utils.kt
similarity index 100%
rename from constraintlayout/constraintlayout-compose/src/androidAndroidTest/java/androidx/constraintlayout/compose/Utils.kt
rename to constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/Utils.kt
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/res/raw/custom_text_size_scene.json5 b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/res/raw/custom_text_size_scene.json5
new file mode 100644
index 0000000..f0e64de
--- /dev/null
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/res/raw/custom_text_size_scene.json5
@@ -0,0 +1,79 @@
+{
+ ConstraintSets: {
+ start: {
+ profile_pic: {
+ width: 20,
+ height: 20,
+ start: ['parent', 'start', 16],
+ top: ['parent', 'top', 16],
+ custom: {
+ background: '#08ff04'
+ }
+ },
+ username: {
+ top: ['profile_pic', 'top'],
+ bottom: ['profile_pic', 'bottom'],
+ start: ['profile_pic', 'end', 16],
+ custom: {
+ textSize: 18
+ }
+ },
+ box: {
+ width: 'spread',
+ height: 'spread',
+ start: ['parent', 'start'],
+ end: ['parent', 'end'],
+ top: ['parent', 'top'],
+ bottom: ['parent', 'bottom', -16],
+ }
+ },
+ end: {
+ profile_pic: {
+ width: 40,
+ height: 40,
+ start: ['parent', 'start'],
+ end: ['parent', 'end'],
+ top: ['parent', 'top', 16],
+ custom: {
+ background: '#FFFFFF'
+ }
+ },
+ username: {
+ top: ['profile_pic', 'bottom', 16],
+ end: ['parent', 'end'],
+ start: ['parent', 'start'],
+ custom: {
+ textSize: 12
+ }
+ },
+ box: {
+ width: 'spread',
+ height: 'spread',
+ start: ['parent', 'start'],
+ end: ['parent', 'end'],
+ top: ['parent', 'top'],
+ bottom: ['parent', 'bottom', -16],
+ }
+ }
+ },
+ Transitions: {
+ default: {
+ from: 'start',
+ to: 'end',
+ pathMotionArc: 'startHorizontal',
+ KeyFrames: {
+ KeyAttributes: [
+ {
+ target: ['profile_pic'],
+ frames: [0, 100]
+ },
+ {
+ target: ['username'],
+ frames: [0, 50, 100],
+ translationX: [0, 70, 0],
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt
index 1d6940e..b5b9dc5 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt
@@ -165,11 +165,11 @@
constraintSetContent: ConstraintSetScope.() -> Unit
): ConstraintSetRef {
return addConstraintSet(
- name = name,
constraintSet = DslConstraintSet(
description = constraintSetContent,
extendFrom = extendConstraintSet?.let { constraintSetsByName[it.name] }
- )
+ ),
+ name = name
)
}
@@ -203,8 +203,8 @@
* as a parameter of [transition].
*/
fun addConstraintSet(
- name: String? = null,
- constraintSet: ConstraintSet
+ constraintSet: ConstraintSet,
+ name: String? = null
): ConstraintSetRef {
val cSetName = name ?: nextName()
constraintSetsByName[cSetName] = constraintSet
@@ -222,8 +222,8 @@
* @see [addConstraintSet]
*/
fun addTransition(
- name: String? = null,
- transition: Transition
+ transition: Transition,
+ name: String? = null
) {
val transitionName = name ?: nextName()
transitionsByName[transitionName] = transition
diff --git a/constraintlayout/constraintlayout-core/src/main/java/androidx/constraintlayout/core/state/State.java b/constraintlayout/constraintlayout-core/src/main/java/androidx/constraintlayout/core/state/State.java
index 6ff9701..134a07a 100644
--- a/constraintlayout/constraintlayout-core/src/main/java/androidx/constraintlayout/core/state/State.java
+++ b/constraintlayout/constraintlayout-core/src/main/java/androidx/constraintlayout/core/state/State.java
@@ -20,7 +20,6 @@
import static androidx.constraintlayout.core.widgets.ConstraintWidget.CHAIN_SPREAD;
import static androidx.constraintlayout.core.widgets.ConstraintWidget.CHAIN_SPREAD_INSIDE;
-import androidx.constraintlayout.core.motion.utils.Utils;
import androidx.constraintlayout.core.state.helpers.AlignHorizontallyReference;
import androidx.constraintlayout.core.state.helpers.AlignVerticallyReference;
import androidx.constraintlayout.core.state.helpers.BarrierReference;
@@ -564,6 +563,20 @@
reference.setConstraintWidget(container);
}
}
+ for (Object key : mHelperReferences.keySet()) {
+ // We need this pass to apply chains properly
+ HelperReference reference = mHelperReferences.get(key);
+ HelperWidget helperWidget = reference.getHelperWidget();
+ if (helperWidget != null) {
+ for (Object keyRef : reference.mReferences) {
+ Reference constraintReference = mReferences.get(keyRef);
+ reference.getHelperWidget().add(constraintReference.getConstraintWidget());
+ }
+ reference.apply();
+ } else {
+ reference.apply();
+ }
+ }
for (Object key : mReferences.keySet()) {
Reference reference = mReferences.get(key);
if (reference != mParent && reference.getFacade() instanceof HelperReference) {
diff --git a/development/build_log_simplifier/messages.ignore b/development/build_log_simplifier/messages.ignore
index 81b979a..6a4626c 100644
--- a/development/build_log_simplifier/messages.ignore
+++ b/development/build_log_simplifier/messages.ignore
@@ -153,6 +153,12 @@
Deprecated Gradle features were used in this build, making it incompatible with Gradle [0-9]+\.[0-9]+\.
See https://docs.gradle.org/.*/userguide/command_line_interface\.html#sec:command_line_warnings
BUILD SUCCESSFUL in .*
+# > Task :doclava:compileJava
+Note\: Some input files use or override a deprecated API\.
+Note: Some input files use or override a deprecated API that is marked for removal\.
+Note: Recompile with \-Xlint:removal for details\.
+Note\: Some input files use unchecked or unsafe operations\.
+Note\: Recompile with \-Xlint\:unchecked for details\.
# > Task :ui:ui-tooling:processDebugAndroidTestManifest
application@android:debuggable was tagged at .*\.xml:[0-9]+ to replace other declarations but no other declaration present
\$OUT_DIR/androidx/benchmark/integration\-tests/dry\-run\-benchmark/build/intermediates/tmp/manifest/androidTest/release/tempFile[0-9]+ProcessTestManifest[0-9]+\.xml:[0-9]+:[0-9]+\-[0-9]+:[0-9]+ Warning:
diff --git a/development/studio/studio.vmoptions b/development/studio/studio.vmoptions
index ae65e63..9e11ab3 100644
--- a/development/studio/studio.vmoptions
+++ b/development/studio/studio.vmoptions
@@ -1 +1,3 @@
-Xmx8g
+-Dappinspection.use.dev.jar=true
+-Dlayout.inspector.rel.jar.location=../../../out/androidx/compose/ui/ui-inspection/build/androidx_inspection/assembleInspectorJar/release
diff --git a/docs-public/build.gradle b/docs-public/build.gradle
index 1a298c2..b0e1a1f 100644
--- a/docs-public/build.gradle
+++ b/docs-public/build.gradle
@@ -8,16 +8,16 @@
}
dependencies {
- docs("androidx.activity:activity:1.6.0")
- docs("androidx.activity:activity-compose:1.6.0")
- samples("androidx.activity:activity-compose-samples:1.6.0")
- docs("androidx.activity:activity-ktx:1.6.0")
+ docs("androidx.activity:activity:1.7.0-alpha01")
+ docs("androidx.activity:activity-compose:1.7.0-alpha01")
+ samples("androidx.activity:activity-compose-samples:1.7.0-alpha01")
+ docs("androidx.activity:activity-ktx:1.7.0-alpha01")
docs("androidx.ads:ads-identifier:1.0.0-alpha04")
docs("androidx.ads:ads-identifier-provider:1.0.0-alpha04")
docs("androidx.annotation:annotation:1.5.0")
docs("androidx.annotation:annotation-experimental:1.3.0")
- docs("androidx.appcompat:appcompat:1.6.0-beta01")
- docs("androidx.appcompat:appcompat-resources:1.6.0-beta01")
+ docs("androidx.appcompat:appcompat:1.7.0-alpha01")
+ docs("androidx.appcompat:appcompat-resources:1.7.0-alpha01")
docs("androidx.appsearch:appsearch:1.1.0-alpha02")
docs("androidx.appsearch:appsearch-builtin-types:1.1.0-alpha02")
docs("androidx.appsearch:appsearch-ktx:1.1.0-alpha02")
@@ -26,12 +26,13 @@
docs("androidx.arch.core:core-common:2.1.0")
docs("androidx.arch.core:core-runtime:2.1.0")
docs("androidx.arch.core:core-testing:2.1.0")
- docs("androidx.asynclayoutinflater:asynclayoutinflater:1.0.0")
+ docs("androidx.asynclayoutinflater:asynclayoutinflater:1.1.0-alpha01")
+ docs("androidx.asynclayoutinflater:asynclayoutinflater-appcompat:1.1.0-alpha01")
docs("androidx.autofill:autofill:1.2.0-beta01")
- docs("androidx.benchmark:benchmark-common:1.2.0-alpha04")
- docs("androidx.benchmark:benchmark-junit4:1.2.0-alpha04")
- docs("androidx.benchmark:benchmark-macro:1.2.0-alpha04")
- docs("androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha04")
+ docs("androidx.benchmark:benchmark-common:1.2.0-alpha05")
+ docs("androidx.benchmark:benchmark-junit4:1.2.0-alpha05")
+ docs("androidx.benchmark:benchmark-macro:1.2.0-alpha05")
+ docs("androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha05")
docs("androidx.biometric:biometric:1.2.0-alpha05")
docs("androidx.biometric:biometric-ktx:1.2.0-alpha05")
samples("androidx.biometric:biometric-ktx-samples:1.2.0-alpha05")
@@ -108,10 +109,10 @@
docs("androidx.coordinatorlayout:coordinatorlayout:1.2.0")
docs("androidx.core.uwb:uwb:1.0.0-alpha03")
docs("androidx.core.uwb:uwb-rxjava3:1.0.0-alpha03")
- docs("androidx.core:core-google-shortcuts:1.1.0-beta01")
+ docs("androidx.core:core-google-shortcuts:1.1.0-rc01")
docs("androidx.core:core-performance:1.0.0-alpha03")
samples("androidx.core:core-performance-samples:1.0.0-alpha03")
- docs("androidx.core:core-remoteviews:1.0.0-beta02")
+ docs("androidx.core:core-remoteviews:1.0.0-beta03")
docs("androidx.core:core-role:1.2.0-alpha01")
docs("androidx.core:core-animation:1.0.0-beta02")
docs("androidx.core:core-animation-testing:1.0.0-beta01")
@@ -143,19 +144,20 @@
docs("androidx.emoji:emoji-bundled:1.2.0-alpha03")
docs("androidx.enterprise:enterprise-feedback:1.1.0")
docs("androidx.enterprise:enterprise-feedback-testing:1.1.0")
- docs("androidx.exifinterface:exifinterface:1.3.3")
- docs("androidx.fragment:fragment:1.6.0-alpha02")
- docs("androidx.fragment:fragment-ktx:1.6.0-alpha02")
- docs("androidx.fragment:fragment-testing:1.6.0-alpha02")
- docs("androidx.glance:glance:1.0.0-alpha04")
- docs("androidx.glance:glance-appwidget:1.0.0-alpha04")
- docs("androidx.glance:glance-appwidget-preview:1.0.0-alpha04")
+ docs("androidx.exifinterface:exifinterface:1.3.4")
+ docs("androidx.fragment:fragment:1.6.0-alpha03")
+ docs("androidx.fragment:fragment-ktx:1.6.0-alpha03")
+ docs("androidx.fragment:fragment-testing:1.6.0-alpha03")
+ docs("androidx.glance:glance:1.0.0-alpha05")
+ docs("androidx.glance:glance-appwidget:1.0.0-alpha05")
+ docs("androidx.glance:glance-appwidget-preview:1.0.0-alpha05")
docs("androidx.glance:glance-appwidget-proto:1.0.0-alpha03")
- docs("androidx.glance:glance-preview:1.0.0-alpha04")
- docs("androidx.glance:glance-wear-tiles:1.0.0-alpha04")
+ docs("androidx.glance:glance-preview:1.0.0-alpha05")
+ docs("androidx.glance:glance-wear-tiles:1.0.0-alpha05")
+ docs("androidx.glance:glance-wear-tiles-preview:1.0.0-alpha05")
docs("androidx.gridlayout:gridlayout:1.0.0")
- docs("androidx.health.connect:connect-client:1.0.0-alpha05")
- samples("androidx.health.connect:connect-client-samples:1.0.0-alpha05")
+ docs("androidx.health.connect:connect-client:1.0.0-alpha06")
+ samples("androidx.health.connect:connect-client-samples:1.0.0-alpha06")
docs("androidx.health:health-services-client:1.0.0-alpha03")
docs("androidx.heifwriter:heifwriter:1.1.0-alpha01")
docs("androidx.hilt:hilt-common:1.0.0-beta01")
@@ -165,7 +167,7 @@
docs("androidx.hilt:hilt-navigation-fragment:1.0.0-beta01")
docs("androidx.hilt:hilt-work:1.0.0-beta01")
docs("androidx.interpolator:interpolator:1.0.0")
- docs("androidx.javascriptengine:javascriptengine:1.0.0-alpha01")
+ docs("androidx.javascriptengine:javascriptengine:1.0.0-alpha02")
docs("androidx.leanback:leanback:1.2.0-alpha02")
docs("androidx.leanback:leanback-grid:1.0.0-alpha01")
docs("androidx.leanback:leanback-paging:1.1.0-alpha09")
@@ -202,19 +204,19 @@
docs("androidx.mediarouter:mediarouter:1.3.1")
docs("androidx.mediarouter:mediarouter-testing:1.3.1")
docs("androidx.metrics:metrics-performance:1.0.0-alpha03")
- docs("androidx.navigation:navigation-common:2.6.0-alpha01")
- docs("androidx.navigation:navigation-common-ktx:2.6.0-alpha01")
- docs("androidx.navigation:navigation-compose:2.6.0-alpha01")
- samples("androidx.navigation:navigation-compose-samples:2.6.0-alpha01")
- docs("androidx.navigation:navigation-dynamic-features-fragment:2.6.0-alpha01")
- docs("androidx.navigation:navigation-dynamic-features-runtime:2.6.0-alpha01")
- docs("androidx.navigation:navigation-fragment:2.6.0-alpha01")
- docs("androidx.navigation:navigation-fragment-ktx:2.6.0-alpha01")
- docs("androidx.navigation:navigation-runtime:2.6.0-alpha01")
- docs("androidx.navigation:navigation-runtime-ktx:2.6.0-alpha01")
- docs("androidx.navigation:navigation-testing:2.6.0-alpha01")
- docs("androidx.navigation:navigation-ui:2.6.0-alpha01")
- docs("androidx.navigation:navigation-ui-ktx:2.6.0-alpha01")
+ docs("androidx.navigation:navigation-common:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-common-ktx:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-compose:2.6.0-alpha02")
+ samples("androidx.navigation:navigation-compose-samples:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-dynamic-features-fragment:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-dynamic-features-runtime:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-fragment:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-fragment-ktx:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-runtime:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-runtime-ktx:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-testing:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-ui:2.6.0-alpha02")
+ docs("androidx.navigation:navigation-ui-ktx:2.6.0-alpha02")
docs("androidx.paging:paging-common:3.2.0-alpha02")
docs("androidx.paging:paging-common-ktx:3.2.0-alpha02")
docs("androidx.paging:paging-compose:1.0.0-alpha16")
@@ -239,18 +241,18 @@
docs("androidx.remotecallback:remotecallback:1.0.0-alpha02")
docs("androidx.resourceinspection:resourceinspection-annotation:1.0.1")
docs("androidx.resourceinspection:resourceinspection-processor:1.0.1")
- docs("androidx.room:room-common:2.5.0-alpha03")
- docs("androidx.room:room-guava:2.5.0-alpha03")
- docs("androidx.room:room-ktx:2.5.0-alpha03")
- docs("androidx.room:room-migration:2.5.0-alpha03")
- docs("androidx.room:room-paging:2.5.0-alpha03")
- docs("androidx.room:room-paging-guava:2.5.0-alpha03")
- docs("androidx.room:room-paging-rxjava2:2.5.0-alpha03")
- docs("androidx.room:room-paging-rxjava3:2.5.0-alpha03")
- docs("androidx.room:room-runtime:2.5.0-alpha03")
- docs("androidx.room:room-rxjava2:2.5.0-alpha03")
- docs("androidx.room:room-rxjava3:2.5.0-alpha03")
- docs("androidx.room:room-testing:2.5.0-alpha03")
+ docs("androidx.room:room-common:2.5.0-beta01")
+ docs("androidx.room:room-guava:2.5.0-beta01")
+ docs("androidx.room:room-ktx:2.5.0-beta01")
+ docs("androidx.room:room-migration:2.5.0-beta01")
+ docs("androidx.room:room-paging:2.5.0-beta01")
+ docs("androidx.room:room-paging-guava:2.5.0-beta01")
+ docs("androidx.room:room-paging-rxjava2:2.5.0-beta01")
+ docs("androidx.room:room-paging-rxjava3:2.5.0-beta01")
+ docs("androidx.room:room-runtime:2.5.0-beta01")
+ docs("androidx.room:room-rxjava2:2.5.0-beta01")
+ docs("androidx.room:room-rxjava3:2.5.0-beta01")
+ docs("androidx.room:room-testing:2.5.0-beta01")
docs("androidx.savedstate:savedstate:1.2.0")
docs("androidx.savedstate:savedstate-ktx:1.2.0")
docs("androidx.security:security-app-authenticator:1.0.0-alpha02")
@@ -258,25 +260,27 @@
docs("androidx.security:security-crypto:1.1.0-alpha03")
docs("androidx.security:security-crypto-ktx:1.1.0-alpha02")
docs("androidx.security:security-identity-credential:1.0.0-alpha03")
- docs("androidx.sharetarget:sharetarget:1.2.0-rc02")
+ docs("androidx.sharetarget:sharetarget:1.2.0")
docs("androidx.slice:slice-builders:1.1.0-alpha02")
docs("androidx.slice:slice-builders-ktx:1.0.0-alpha08")
docs("androidx.slice:slice-core:1.1.0-alpha02")
docs("androidx.slice:slice-view:1.1.0-alpha02")
docs("androidx.slidingpanelayout:slidingpanelayout:1.2.0")
- docs("androidx.sqlite:sqlite:2.3.0-alpha05")
- docs("androidx.sqlite:sqlite-framework:2.3.0-alpha05")
- docs("androidx.sqlite:sqlite-ktx:2.3.0-alpha05")
+ docs("androidx.sqlite:sqlite:2.3.0-beta01")
+ docs("androidx.sqlite:sqlite-framework:2.3.0-beta01")
+ docs("androidx.sqlite:sqlite-ktx:2.3.0-beta01")
docs("androidx.startup:startup-runtime:1.2.0-alpha01")
docs("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01")
docs("androidx.test.uiautomator:uiautomator:2.3.0-alpha01")
docs("androidx.textclassifier:textclassifier:1.0.0-alpha04")
docs("androidx.tracing:tracing:1.2.0-alpha01")
docs("androidx.tracing:tracing-ktx:1.2.0-alpha01")
- docs("androidx.tracing:tracing-perfetto:1.0.0-alpha04")
- docs("androidx.tracing:tracing-perfetto-common:1.0.0-alpha04")
+ docs("androidx.tracing:tracing-perfetto:1.0.0-alpha05")
+ docs("androidx.tracing:tracing-perfetto-common:1.0.0-alpha05")
docs("androidx.transition:transition:1.4.1")
docs("androidx.transition:transition-ktx:1.4.1")
+ docs("androidx.tv:tv-foundation:1.0.0-alpha01")
+ docs("androidx.tv:tv-material:1.0.0-alpha01")
docs("androidx.tvprovider:tvprovider:1.1.0-alpha01")
docs("androidx.vectordrawable:vectordrawable:1.2.0-beta01")
docs("androidx.vectordrawable:vectordrawable-animated:1.2.0-alpha01")
@@ -284,33 +288,33 @@
docs("androidx.versionedparcelable:versionedparcelable:1.1.1")
docs("androidx.viewpager2:viewpager2:1.1.0-beta01")
docs("androidx.viewpager:viewpager:1.1.0-alpha01")
- docs("androidx.wear.compose:compose-foundation:1.1.0-alpha06")
- samples("androidx.wear.compose:compose-foundation-samples:1.1.0-alpha06")
- docs("androidx.wear.compose:compose-material:1.1.0-alpha06")
- samples("androidx.wear.compose:compose-material-samples:1.1.0-alpha06")
- docs("androidx.wear.compose:compose-navigation:1.1.0-alpha06")
- samples("androidx.wear.compose:compose-navigation-samples:1.1.0-alpha06")
+ docs("androidx.wear.compose:compose-foundation:1.1.0-alpha07")
+ samples("androidx.wear.compose:compose-foundation-samples:1.1.0-alpha07")
+ docs("androidx.wear.compose:compose-material:1.1.0-alpha07")
+ samples("androidx.wear.compose:compose-material-samples:1.1.0-alpha07")
+ docs("androidx.wear.compose:compose-navigation:1.1.0-alpha07")
+ samples("androidx.wear.compose:compose-navigation-samples:1.1.0-alpha07")
docs("androidx.wear.tiles:tiles:1.1.0")
docs("androidx.wear.tiles:tiles-material:1.1.0")
docs("androidx.wear.tiles:tiles-proto:1.1.0")
docs("androidx.wear.tiles:tiles-renderer:1.1.0")
docs("androidx.wear.tiles:tiles-testing:1.1.0")
- docs("androidx.wear.watchface:watchface:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-client:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-client-guava:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-complications:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-complications-data:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-complications-data-source:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.0-alpha02")
- samples("androidx.wear.watchface:watchface-complications-permission-dialogs-sample:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-complications-rendering:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-data:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-editor:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-editor-guava:1.2.0-alpha02")
- samples("androidx.wear.watchface:watchface-editor-samples:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-guava:1.2.0-alpha02")
- samples("androidx.wear.watchface:watchface-samples:1.2.0-alpha02")
- docs("androidx.wear.watchface:watchface-style:1.2.0-alpha02")
+ docs("androidx.wear.watchface:watchface:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-client:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-client-guava:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-complications:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-complications-data:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-complications-data-source:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.0-alpha03")
+ samples("androidx.wear.watchface:watchface-complications-permission-dialogs-sample:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-complications-rendering:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-data:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-editor:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-editor-guava:1.2.0-alpha03")
+ samples("androidx.wear.watchface:watchface-editor-samples:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-guava:1.2.0-alpha03")
+ samples("androidx.wear.watchface:watchface-samples:1.2.0-alpha03")
+ docs("androidx.wear.watchface:watchface-style:1.2.0-alpha03")
docs("androidx.wear:wear:1.3.0-alpha03")
stubs(fileTree(dir: "../wear/wear_stubs/", include: ["com.google.android.wearable-stubs.jar"]))
docs("androidx.wear:wear-ongoing:1.1.0-alpha01")
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ContentViewTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ContentViewTest.kt
index e3c7235..c7314e8 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ContentViewTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ContentViewTest.kt
@@ -21,6 +21,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
@@ -32,7 +33,7 @@
@Test
fun testContentViewWithInflatedFragment() {
// Test basic lifecycle when the fragment view is inflated with <fragment> tag
- with(ActivityScenario.launch(ContentViewActivity::class.java)) {
+ withUse(ActivityScenario.launch(ContentViewActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DefaultSpecialEffectsControllerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DefaultSpecialEffectsControllerTest.kt
index 85e3fe6..9951e7f 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DefaultSpecialEffectsControllerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DefaultSpecialEffectsControllerTest.kt
@@ -22,6 +22,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -32,7 +33,7 @@
class DefaultSpecialEffectsControllerTest {
@Test
fun fragmentManagerGetSetSpecialEffectsController() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val factory = SpecialEffectsControllerFactory {
mock(SpecialEffectsController::class.java)
@@ -49,7 +50,7 @@
*/
@Test
fun fragmentManagerDefaultFactory() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
val factory = fm.specialEffectsControllerFactory
@@ -65,7 +66,7 @@
*/
@Test
fun fragmentManagerGetOrCreateController() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val controller = SpecialEffectsController.getOrCreateController(container, fm)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentInflatedChildTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentInflatedChildTest.kt
index 62af984..7e427d56 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentInflatedChildTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentInflatedChildTest.kt
@@ -26,6 +26,7 @@
import androidx.test.core.app.ActivityScenario
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
@@ -80,7 +81,7 @@
@Test
fun testInflatedChildDialogFragment() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val dialogFragment = TestInflatedChildDialogFragment.newInstance(
false, inflatedView.getLayoutId(), inflateLocation is OnCreateDialog
)
@@ -108,7 +109,7 @@
@Test
fun testInflatedChildAppCompatDialogFragment() {
- with(ActivityScenario.launch(TestAppCompatActivity::class.java)) {
+ withUse(ActivityScenario.launch(TestAppCompatActivity::class.java)) {
val dialogFragment = TestInflatedChildDialogFragment.newInstance(
true, inflatedView.getLayoutId(), inflateLocation is OnCreateDialog
)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt
index dfd3fbc..7e025db 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt
@@ -35,6 +35,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Rule
@@ -270,7 +271,7 @@
@Test
fun testInflatedFragmentContainerViewDialogFragmentShowsNow() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fragment = InflatedDialogFragment()
withActivity {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentViewTreeTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentViewTreeTest.kt
index e6c8cc6..ba52e8d 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentViewTreeTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentViewTreeTest.kt
@@ -27,6 +27,7 @@
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
@@ -36,7 +37,7 @@
class DialogFragmentViewTreeTest {
@Test
fun testDialogFragmentViewTree() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val dialogFragment = TestDialogFragment()
onActivity {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentActivityResultTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentActivityResultTest.kt
index 6183b84..3af0369 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentActivityResultTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentActivityResultTest.kt
@@ -30,6 +30,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Assert.fail
import org.junit.Test
@@ -44,7 +45,7 @@
@Test
fun registerActivityResultInOnAttach() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val fragment = RegisterInLifecycleCallbackFragment(Fragment.ATTACHED)
@@ -59,7 +60,7 @@
@Test
fun registerActivityResultInOnCreate() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val fragment = RegisterInLifecycleCallbackFragment(Fragment.CREATED)
@@ -74,7 +75,7 @@
@Test
fun registerActivityResultInOnStart() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val fragment = RegisterInLifecycleCallbackFragment(Fragment.STARTED)
@@ -97,7 +98,7 @@
@Test
fun launchActivityResultInOnCreate() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val fragment = ActivityResultFragment()
@@ -110,7 +111,7 @@
@Test
fun launchTwoActivityResult() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val fragment = DoubleActivityResultFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.kt
index ee1f49c..b9e79ec 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentArchLifecycleTest.kt
@@ -28,6 +28,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -38,7 +39,7 @@
@Test
fun testFragmentAdditionDuringOnStop() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val activityLifecycle = withActivity { lifecycle }
@@ -65,7 +66,7 @@
@Test
fun testFragmentAdditionDuringOnStopViewLifecycle() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val activityLifecycle = withActivity { lifecycle }
@@ -94,7 +95,7 @@
@Test
fun testNestedFragmentLifecycle() {
- with(ActivityScenario.launch(FragmentArchLifecycleActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentArchLifecycleActivity::class.java)) {
val collectedEvents = withActivity { collectedEvents }
@@ -141,7 +142,7 @@
@Test
fun testNestedFragmentLifecycleOnRemove() {
- with(ActivityScenario.launch(FragmentArchLifecycleActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentArchLifecycleActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val parent = withActivity {
@@ -192,7 +193,7 @@
@Test
fun testOverriddenLifecycleFragment() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val fragment = OverriddenLifecycleFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerInflatedFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerInflatedFragmentTest.kt
index b2c0700..436b3d4 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerInflatedFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerInflatedFragmentTest.kt
@@ -25,6 +25,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -37,7 +38,7 @@
fun testContentViewWithInflatedFragment() {
// The StrictViewFragment runs the appropriate checks to make sure
// we're moving through the states appropriately
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.inflated_fragment_container_view)
supportFragmentManager
@@ -51,7 +52,7 @@
fun testContentViewWithInflatedFragmentWithClass() {
// The StrictViewFragment runs the appropriate checks to make sure
// we're moving through the states appropriately
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.inflated_fragment_container_view_with_class)
supportFragmentManager
@@ -63,7 +64,7 @@
@Test
fun testGetInflatedFragmentInActivityOnCreate() {
- with(ActivityScenario.launch(ContainerViewActivity::class.java)) {
+ withUse(ActivityScenario.launch(ContainerViewActivity::class.java)) {
val foundFragment = withActivity { foundFragment }
assertThat(foundFragment).isTrue()
@@ -72,7 +73,7 @@
@Test
fun testContentViewWithNoID() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
try {
setContentView(R.layout.fragment_container_view_no_id)
@@ -89,7 +90,7 @@
@Test
fun addInflatedFragmentToParentChildFragmentManager() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val parent = InflatedParentFragment()
withActivity {
@@ -106,7 +107,7 @@
@Test
fun addInflatedFragmentToGrandParentChildFragmentManager() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val grandParent = InflatedParentFragment()
withActivity {
supportFragmentManager.beginTransaction()
@@ -131,7 +132,7 @@
@Test
fun addInflatedFragmentContainerWithClassToGrandParentChildFragmentManager() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val grandParent = InflatedParentFragmentContainerWithClass()
withActivity {
supportFragmentManager.beginTransaction()
@@ -156,7 +157,7 @@
@Test
fun addInflatedAfterRestore() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val parent = InflatedParentFragment()
withActivity {
@@ -186,7 +187,7 @@
@Test
fun inflatedChildFragmentHasAttributesOnInflate() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val parent = InflatedParentFragment()
withActivity {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt
index 5f12fd2..28fe352 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt
@@ -29,6 +29,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -41,7 +42,7 @@
@Test
fun focusedViewRemoved() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val (fragment, firstEditText) = withActivity {
setContentView(R.layout.simple_container)
val container = findViewById<View>(R.id.fragmentContainer) as ViewGroup
@@ -74,7 +75,7 @@
@Test
fun focusedViewRootView() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = RequestViewFragment()
withActivity {
@@ -99,7 +100,7 @@
@Test
fun inResumefocusedViewRemoved() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val fragment = StrictViewFragment(R.layout.simple_container)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
index f12b7cd..d31fa72 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
@@ -39,6 +39,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Assert.fail
@@ -1415,7 +1416,7 @@
@Test
fun inflatedFragmentTagAfterResume() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = withActivity {
setContentView(R.layout.activity_inflated_fragment)
val fm = supportFragmentManager
@@ -1429,7 +1430,7 @@
@Test
fun inflatedFragmentContainerViewAfterResume() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
var fragment = withActivity {
setContentView(R.layout.inflated_fragment_container_view)
val fm = supportFragmentManager
@@ -1455,7 +1456,7 @@
@Test
fun inflatedFragmentContainerViewWithMultipleFragmentsAfterResume() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val addedFragment1 = StrictViewFragment()
val addedFragment2 = StrictViewFragment()
var fragment = withActivity {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt
index c5732d7..8fa1d0d 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt
@@ -21,6 +21,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -32,7 +33,7 @@
@Test
@Throws(Throwable::class)
fun savedState() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
fragmentManager.beginTransaction()
.add(StateSaveFragment(TEST_FRAGMENT_STRING), FRAGMENT_TAG)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerTest.kt
index 4c1d460..95b10aa 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerTest.kt
@@ -22,6 +22,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Assert.fail
import org.junit.Test
@@ -33,7 +34,7 @@
@Test
fun addRemoveFragmentOnAttachListener() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -71,7 +72,7 @@
@Test
fun removeReentrantFragmentOnAttachListener() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -105,7 +106,7 @@
@Test
fun findFragmentChildFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -146,7 +147,7 @@
@Test
fun findFragmentWithoutChildFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -188,7 +189,7 @@
@Test
fun findFragmentManagerChildFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -248,7 +249,7 @@
@Test
fun findFragmentManagerWithoutChildFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -302,7 +303,7 @@
@Test
fun addRemoveReorderingAllowedWithoutExecutePendingTransactions() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -329,7 +330,7 @@
@Test
fun reAddRemovedBeforeAttached() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -366,7 +367,7 @@
@Test
fun popBackStackImmediate() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReplaceTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReplaceTest.kt
index f10ddfc..6606f46 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReplaceTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReplaceTest.kt
@@ -23,6 +23,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -36,7 +37,7 @@
@Test
fun testReplaceFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
fm.beginTransaction()
@@ -76,7 +77,7 @@
@Test
fun testReplaceFragmentInOnCreate() {
- with(ActivityScenario.launch(ReplaceInCreateActivity::class.java)) {
+ withUse(ActivityScenario.launch(ReplaceInCreateActivity::class.java)) {
val replaceInCreateFragment = withActivity { this.replaceInCreateFragment }
assertThat(replaceInCreateFragment.isAdded)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentResultTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentResultTest.kt
index 37b96fd..a73efd9 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentResultTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentResultTest.kt
@@ -26,6 +26,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
@@ -36,7 +37,7 @@
@Test
fun testReplaceResult() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -78,7 +79,7 @@
@Test
fun testClearResult() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -121,7 +122,7 @@
@Test
fun testClearResultListener() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -150,7 +151,7 @@
@Test
fun testClearResultListenerInCallback() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -195,7 +196,7 @@
@Test
fun testResetResultListener() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -243,7 +244,7 @@
@Test
fun testSetResultWhileResumed() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -276,7 +277,7 @@
@Test
fun testStoredSetResultWhileResumed() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -311,7 +312,7 @@
@Test
fun testReplaceResultSavedRestore() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
var fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -359,7 +360,7 @@
@Test
fun testChildFragmentResult() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -386,7 +387,7 @@
@Test
fun testReplaceResultWithParcelableOnRecreation() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
var fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSavedStateRegistryTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSavedStateRegistryTest.kt
index bfffb85..3df365a 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSavedStateRegistryTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSavedStateRegistryTest.kt
@@ -32,6 +32,7 @@
import androidx.test.filters.LargeTest
import androidx.testutils.RecreatedActivity
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -55,7 +56,7 @@
@Test
fun savedState() {
- with(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
initializeSavedState()
recreate()
withActivity {
@@ -67,7 +68,7 @@
@Test
fun savedStateLateInit() {
- with(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
initializeSavedState()
recreate()
withActivity {
@@ -84,7 +85,7 @@
@Test
fun savedStateEarlyRegister() {
- with(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
initializeSavedState(OnCreateCheckingFragment())
recreate()
}
@@ -92,7 +93,7 @@
@Test
fun savedStateOnActivityResult() {
- with(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentSavedStateActivity::class.java)) {
val registry = withActivity { registry }
initializeSavedState(OnActivityResultCheckingFragment(registry))
recreate()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSharedElementTransitionTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSharedElementTransitionTest.kt
index c0f6bfa..c6ae071 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSharedElementTransitionTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentSharedElementTransitionTest.kt
@@ -25,6 +25,7 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -36,7 +37,7 @@
@Test
fun testNestedSharedElementView() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = TransitionFragment(R.layout.nested_transition_groups)
withActivity {
supportFragmentManager
@@ -65,7 +66,7 @@
@Test
fun testNestedSharedElementViewsMoreOutViews() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = TransitionFragment(R.layout.scene5)
withActivity {
supportFragmentManager
@@ -114,7 +115,7 @@
@Test
fun testNestedSharedElementViewsMoreInViews() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = TransitionFragment(R.layout.scene4)
withActivity {
supportFragmentManager
@@ -157,7 +158,7 @@
@Test
fun testNestedTransitionGroupTrue() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = TransitionFragment(R.layout.scene7)
withActivity {
supportFragmentManager
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
index 980468f..3bd791b 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
@@ -25,6 +25,7 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Before
@@ -312,7 +313,7 @@
@LargeTest
@Test
fun testFindFragmentByWhoChildFragment() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val parentFragment = StrictFragment()
fm.beginTransaction()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
index 1ad1ba5..9fb383b 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
@@ -30,6 +30,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
@@ -55,7 +56,7 @@
// callbacks
@Test
fun transitionShorterThanAnimation() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fragment = TransitionAnimationFragment()
fragment.exitTransition.duration = 100
@@ -116,7 +117,7 @@
// callbacks
@Test
fun transitionLongerThanAnimation() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fragment = TransitionAnimationFragment()
fragment.exitTransition.duration = 1000
@@ -177,7 +178,7 @@
// callbacks
@Test
fun transitionShorterThanAnimator() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fragment = TransitionAnimatorFragment()
fragment.exitTransition.duration = 100
@@ -233,7 +234,7 @@
// callbacks
@Test
fun transitionLongerThanAnimator() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fragment = TransitionAnimatorFragment()
fragment.exitTransition.duration = 1000
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
index ffeeb11..6572024 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
@@ -35,6 +35,7 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.waitForExecution
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.After
@@ -1256,7 +1257,7 @@
@Test
fun ignoreWhenViewNotAttached() {
- with(ActivityScenario.launch(AddTransitionFragmentInActivity::class.java)) {
+ withUse(ActivityScenario.launch(AddTransitionFragmentInActivity::class.java)) {
val fragment = withActivity { fragment }
assertThat(fragment.calledOnResume).isTrue()
}
@@ -1266,7 +1267,7 @@
fun testPopRemoveWithHide() {
// The StrictViewFragment runs the appropriate checks to make sure
// we're moving through the states appropriately
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val fragment1 = TransitionFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt
index 4eaf1ff..5ce2fab 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt
@@ -26,6 +26,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -40,7 +41,7 @@
*/
@Test
fun defaultFactoryNotOverwritten() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -73,7 +74,7 @@
*/
@Test
fun defaultFactoryOverwritten() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
@@ -95,7 +96,7 @@
@Test
fun testCreateViewModelViaExtras() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
setContentView(R.layout.simple_container)
supportFragmentManager
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt
index e6100ad..5f9d1b0 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewTest.kt
@@ -29,6 +29,7 @@
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Assert.fail
@@ -926,7 +927,7 @@
// Test that adding a fragment and making its view invisible in onStart is still invisible
@Test
fun makeFragmentInvisibleInOnStart() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val container = withActivity { findViewById<View>(R.id.content) as ViewGroup }
val fm = withActivity { supportFragmentManager }
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/MenuVisibilityFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/MenuVisibilityFragmentTest.kt
index fdb7b94..b6c042c 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/MenuVisibilityFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/MenuVisibilityFragmentTest.kt
@@ -22,6 +22,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
@@ -32,7 +33,7 @@
@Test
fun setMenuVisibility() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val fragment = MenuVisibilityFragment()
@@ -65,7 +66,7 @@
@Test
fun setChildMenuVisibilityTrue() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val parentFragment = ParentMenuVisibilityFragment()
@@ -95,7 +96,7 @@
@Test
fun setChildMenuVisibilityFalse() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val parentFragment = MenuVisibilityFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.kt
index bfeb697..c98d7a7 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentRestoreTest.kt
@@ -25,6 +25,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
@@ -38,7 +39,7 @@
@Suppress("DEPRECATION")
@Test
fun recreateActivity() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val activity = withActivity {
val parent = ParentFragment()
parent.retainChildInstance = true
@@ -79,7 +80,7 @@
@Test
fun restoreViewStateTest() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity {
val parent = RestoreViewParentFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackPressedCallbackTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackPressedCallbackTest.kt
index 7d36bff..578f168 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackPressedCallbackTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackPressedCallbackTest.kt
@@ -25,6 +25,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import java.util.concurrent.TimeUnit
@@ -38,7 +39,7 @@
@Test
fun testBackPressFinishesActivity() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val countDownLatch = withActivity {
onBackPressed()
finishCountDownLatch
@@ -55,7 +56,7 @@
@Suppress("DEPRECATION")
@Test
fun testBackPressWithFrameworkFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { fragmentManager }
val fragment = android.app.Fragment()
@@ -77,7 +78,7 @@
@Suppress("DEPRECATION")
@Test
fun testBackPressWithFragmentOverFrameworkFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { fragmentManager }
val fragment = android.app.Fragment()
@@ -112,7 +113,7 @@
@Suppress("DEPRECATION")
@Test
fun testBackPressWithCallbackOverFrameworkFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { fragmentManager }
val fragment = android.app.Fragment()
@@ -140,7 +141,7 @@
@Test
fun testBackPressWithCallbackOverFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = StrictFragment()
fragmentManager.beginTransaction()
@@ -168,7 +169,7 @@
@Test
fun testBackPressFinishesActivityAfterFragmentPop() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = StrictFragment()
fragmentManager.beginTransaction()
@@ -199,7 +200,7 @@
@Test
fun testBackPressWithFragmentCallbackOverFragmentManager() {
- with(ActivityScenario.launch(OnBackPressedFragmentActivity::class.java)) {
+ withUse(ActivityScenario.launch(OnBackPressedFragmentActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = withActivity { fragment }
val fragmentCallback = fragment.onBackPressedCallback
@@ -218,7 +219,7 @@
@Test
fun testBackPressWithChildFragmentOverFragmentCallback() {
- with(ActivityScenario.launch(OnBackPressedFragmentActivity::class.java)) {
+ withUse(ActivityScenario.launch(OnBackPressedFragmentActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = withActivity { fragment }
val fragmentCallback = fragment.onBackPressedCallback
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt
index 7838237..3cdf8efd 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt
@@ -36,6 +36,7 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertWithMessage
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
@@ -71,7 +72,7 @@
@LargeTest
@Test
fun setMenuVisibilityShowHide() {
- with(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
+ withUse(ActivityScenario.launch(SimpleContainerActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val fragment = MenuFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ProviderCallbackTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ProviderCallbackTest.kt
index 8401235..fcebe48 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ProviderCallbackTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ProviderCallbackTest.kt
@@ -27,6 +27,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test
@@ -43,7 +44,7 @@
@Test
fun onConfigurationChanged() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val fragment = CallbackFragment()
@@ -63,7 +64,7 @@
@Test
fun onConfigurationChangedNestedFragments() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity { supportFragmentManager }
val parent = StrictViewFragment(R.layout.fragment_container_view)
val child = CallbackFragment()
@@ -148,7 +149,7 @@
@SdkSuppress(minSdkVersion = 26)
@Test
fun onMultiWindowModeChanged() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = CallbackFragment()
withActivity {
@@ -166,7 +167,7 @@
@SdkSuppress(minSdkVersion = 26)
@Test
fun onMultiWindowModeChangedNestedFragments() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val parent = StrictViewFragment(R.layout.fragment_container_view)
val child = CallbackFragment()
@@ -250,7 +251,7 @@
@Suppress("DEPRECATION")
@Test
fun onPictureInPictureModeChanged() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = CallbackFragment()
withActivity {
@@ -268,7 +269,7 @@
@SdkSuppress(minSdkVersion = 26)
@Test
fun onPictureInPictureModeChangedNestedFragments() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val parent = StrictViewFragment(R.layout.fragment_container_view)
val child = CallbackFragment()
@@ -351,7 +352,7 @@
@Suppress("DEPRECATION")
@Test
fun onLowMemory() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragment = CallbackFragment()
withActivity {
@@ -367,7 +368,7 @@
@Test
fun onLowMemoryNestedFragments() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val parent = StrictViewFragment(R.layout.fragment_container_view)
val child = CallbackFragment()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveRestoreBackStackTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveRestoreBackStackTest.kt
index 7406b8b..7ab46c8 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveRestoreBackStackTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveRestoreBackStackTest.kt
@@ -23,6 +23,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Assert.fail
@@ -35,7 +36,7 @@
@Test
fun saveBackStack() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -85,7 +86,7 @@
@Test
fun saveBackStackWithoutExecutePendingTransactions() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -120,7 +121,7 @@
@Test
fun saveBackStackAddedWithoutExecutePendingTransactions() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -153,7 +154,7 @@
@Test
fun savePreviouslyReferencedFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -192,7 +193,7 @@
@Test
fun saveNonReorderingAllowedTransaction() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -230,7 +231,7 @@
@Test
fun saveNonReorderingAllowedSecondTransaction() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -277,7 +278,7 @@
@Suppress("DEPRECATION")
@Test
fun saveRetainedFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -317,7 +318,7 @@
@Suppress("DEPRECATION")
@Test
fun saveRetainedChildFragment() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -360,7 +361,7 @@
@Test
fun restoreBackStack() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -422,7 +423,7 @@
@Test
fun restoreBackStackTwice() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -459,7 +460,7 @@
@Test
fun restoreBackStackTwoTransactions() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -535,7 +536,7 @@
@Test
fun restoreBackStackAfterRecreate() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
var fm = withActivity {
supportFragmentManager
}
@@ -604,7 +605,7 @@
@Test
fun restoreBackStackWithoutExecutePendingTransactions() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -660,7 +661,7 @@
@Test
fun clearBackStack() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
@@ -712,7 +713,7 @@
@Test
fun clearBackStackWithoutExecutePendingTransactions() {
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fm = withActivity {
supportFragmentManager
}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
index bdda9ab..0b9d741 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
@@ -26,6 +26,7 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -112,7 +113,7 @@
@MediumTest
@Test
fun enqueueAddAndExecute() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
fm.specialEffectsControllerFactory = SpecialEffectsControllerFactory {
@@ -160,7 +161,7 @@
@MediumTest
@Test
fun enqueueRemoveAndExecute() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
fm.specialEffectsControllerFactory = SpecialEffectsControllerFactory {
@@ -212,7 +213,7 @@
@MediumTest
@Test
fun enqueueAddAndCancel() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
fm.specialEffectsControllerFactory = SpecialEffectsControllerFactory {
@@ -281,7 +282,7 @@
@MediumTest
@Test
fun enqueueAddAndForceCompleteAllPending() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
fm.specialEffectsControllerFactory = SpecialEffectsControllerFactory {
@@ -327,7 +328,7 @@
@MediumTest
@Test
fun enqueueAddAndForceCompleteAllExecuting() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
fm.specialEffectsControllerFactory = SpecialEffectsControllerFactory {
@@ -390,7 +391,7 @@
@MediumTest
@Test
fun enqueueAddAndPostpone() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
val container = withActivity { findViewById<ViewGroup>(android.R.id.content) }
val fm = withActivity { supportFragmentManager }
fm.specialEffectsControllerFactory = SpecialEffectsControllerFactory {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ViewModelTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ViewModelTest.kt
index c00634f..fe34c2d 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ViewModelTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ViewModelTest.kt
@@ -27,6 +27,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -44,7 +45,7 @@
@Test
fun testMaxLifecycleInitializedFragment() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
withActivity {
val fragment = StrictFragment()
supportFragmentManager.beginTransaction()
@@ -68,7 +69,7 @@
@Test
fun testMaxLifecycleInitializedNestedFragment() {
- with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
withActivity {
val fragment = StrictFragment()
val childFragment = StrictFragment()
@@ -98,7 +99,7 @@
@Test
fun testSameActivityViewModels() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val activityModel = withActivity { activityModel }
val defaultActivityModel = withActivity { defaultActivityModel }
assertThat(defaultActivityModel).isNotSameInstanceAs(activityModel)
@@ -135,7 +136,7 @@
@Test
fun testSameFragmentViewModels() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
var fragment1 = withActivity { getFragment(ViewModelActivity.FRAGMENT_TAG_1) }
var fragment2 = withActivity { getFragment(ViewModelActivity.FRAGMENT_TAG_2) }
assertThat(fragment1).isNotNull()
@@ -159,7 +160,7 @@
@Test
fun testCreateFragmentViewModelViaExtras() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val fragment = withActivity { getFragment(ViewModelActivity.FRAGMENT_TAG_1) }
val creationViewModel = ViewModelProvider(
@@ -179,7 +180,7 @@
@Test
fun testFragmentOnClearedWhenFinished() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val fragmentModel = withActivity {
getFragment(ViewModelActivity.FRAGMENT_TAG_1).fragmentModel
}
@@ -215,7 +216,7 @@
@Test
fun testFragmentOnCleared() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val fragment = withActivity {
Fragment().also {
supportFragmentManager.beginTransaction().add(it, "temp").commitNow()
@@ -233,7 +234,7 @@
@Test
fun testDefaultFactoryAfterReuse() {
- with(ActivityScenario.launch(ViewModelActivity::class.java)) {
+ withUse(ActivityScenario.launch(ViewModelActivity::class.java)) {
val fragment = withActivity {
Fragment().also {
supportFragmentManager.beginTransaction().add(it, "temp").commitNow()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
index 7231d10..f23e8b3 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
@@ -26,6 +26,7 @@
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.withActivity
+import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.After
@@ -75,7 +76,7 @@
.penaltyListener { lastTriggeredPolicy = name }
.build()
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val parentFragment = StrictFragment()
@@ -118,7 +119,7 @@
.build()
FragmentStrictMode.defaultPolicy = policy
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = StrictFragment()
@@ -142,7 +143,7 @@
.build()
FragmentStrictMode.defaultPolicy = policy
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = StrictFragment()
@@ -178,7 +179,7 @@
.build()
FragmentStrictMode.defaultPolicy = policy
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment = StrictFragment()
@@ -215,7 +216,7 @@
.build()
FragmentStrictMode.defaultPolicy = policy
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
withActivity { setContentView(R.layout.activity_inflated_fragment) }
val fragment = withActivity {
supportFragmentManager.findFragmentById(R.id.inflated_fragment)!!
@@ -315,7 +316,7 @@
.build()
FragmentStrictMode.defaultPolicy = policy
- with(ActivityScenario.launch(FragmentTestActivity::class.java)) {
+ withUse(ActivityScenario.launch(FragmentTestActivity::class.java)) {
val fragmentManager = withActivity { supportFragmentManager }
val fragment1 = StrictFragment()
diff --git a/health/health-services-client/api/1.0.0-beta01.txt b/health/health-services-client/api/1.0.0-beta01.txt
index 4a3d622..8f7311f 100644
--- a/health/health-services-client/api/1.0.0-beta01.txt
+++ b/health/health-services-client/api/1.0.0-beta01.txt
@@ -320,7 +320,7 @@
method public androidx.health.services.client.data.ExerciseConfig.Builder setExerciseParams(android.os.Bundle exerciseParams);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsAutoPauseAndResumeEnabled(boolean isAutoPauseAndResumeEnabled);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsGpsEnabled(boolean isGpsEnabled);
- method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLength(float swimmingPoolLength);
+ method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLengthMeters(float swimmingPoolLength);
}
public static final class ExerciseConfig.Companion {
diff --git a/health/health-services-client/api/current.txt b/health/health-services-client/api/current.txt
index 4a3d622..8f7311f 100644
--- a/health/health-services-client/api/current.txt
+++ b/health/health-services-client/api/current.txt
@@ -320,7 +320,7 @@
method public androidx.health.services.client.data.ExerciseConfig.Builder setExerciseParams(android.os.Bundle exerciseParams);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsAutoPauseAndResumeEnabled(boolean isAutoPauseAndResumeEnabled);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsGpsEnabled(boolean isGpsEnabled);
- method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLength(float swimmingPoolLength);
+ method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLengthMeters(float swimmingPoolLength);
}
public static final class ExerciseConfig.Companion {
diff --git a/health/health-services-client/api/public_plus_experimental_1.0.0-beta01.txt b/health/health-services-client/api/public_plus_experimental_1.0.0-beta01.txt
index 4a3d622..8f7311f 100644
--- a/health/health-services-client/api/public_plus_experimental_1.0.0-beta01.txt
+++ b/health/health-services-client/api/public_plus_experimental_1.0.0-beta01.txt
@@ -320,7 +320,7 @@
method public androidx.health.services.client.data.ExerciseConfig.Builder setExerciseParams(android.os.Bundle exerciseParams);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsAutoPauseAndResumeEnabled(boolean isAutoPauseAndResumeEnabled);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsGpsEnabled(boolean isGpsEnabled);
- method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLength(float swimmingPoolLength);
+ method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLengthMeters(float swimmingPoolLength);
}
public static final class ExerciseConfig.Companion {
diff --git a/health/health-services-client/api/public_plus_experimental_current.txt b/health/health-services-client/api/public_plus_experimental_current.txt
index 4a3d622..8f7311f 100644
--- a/health/health-services-client/api/public_plus_experimental_current.txt
+++ b/health/health-services-client/api/public_plus_experimental_current.txt
@@ -320,7 +320,7 @@
method public androidx.health.services.client.data.ExerciseConfig.Builder setExerciseParams(android.os.Bundle exerciseParams);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsAutoPauseAndResumeEnabled(boolean isAutoPauseAndResumeEnabled);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsGpsEnabled(boolean isGpsEnabled);
- method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLength(float swimmingPoolLength);
+ method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLengthMeters(float swimmingPoolLength);
}
public static final class ExerciseConfig.Companion {
diff --git a/health/health-services-client/api/restricted_1.0.0-beta01.txt b/health/health-services-client/api/restricted_1.0.0-beta01.txt
index 4a3d622..8f7311f 100644
--- a/health/health-services-client/api/restricted_1.0.0-beta01.txt
+++ b/health/health-services-client/api/restricted_1.0.0-beta01.txt
@@ -320,7 +320,7 @@
method public androidx.health.services.client.data.ExerciseConfig.Builder setExerciseParams(android.os.Bundle exerciseParams);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsAutoPauseAndResumeEnabled(boolean isAutoPauseAndResumeEnabled);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsGpsEnabled(boolean isGpsEnabled);
- method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLength(float swimmingPoolLength);
+ method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLengthMeters(float swimmingPoolLength);
}
public static final class ExerciseConfig.Companion {
diff --git a/health/health-services-client/api/restricted_current.txt b/health/health-services-client/api/restricted_current.txt
index 4a3d622..8f7311f 100644
--- a/health/health-services-client/api/restricted_current.txt
+++ b/health/health-services-client/api/restricted_current.txt
@@ -320,7 +320,7 @@
method public androidx.health.services.client.data.ExerciseConfig.Builder setExerciseParams(android.os.Bundle exerciseParams);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsAutoPauseAndResumeEnabled(boolean isAutoPauseAndResumeEnabled);
method public androidx.health.services.client.data.ExerciseConfig.Builder setIsGpsEnabled(boolean isGpsEnabled);
- method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLength(float swimmingPoolLength);
+ method public androidx.health.services.client.data.ExerciseConfig.Builder setSwimmingPoolLengthMeters(float swimmingPoolLength);
}
public static final class ExerciseConfig.Companion {
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseConfig.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseConfig.kt
index e5764ae..57ee614 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseConfig.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseConfig.kt
@@ -171,7 +171,7 @@
/** Sets the swimming pool length (in m). */
@Suppress("MissingGetterMatchingBuilder")
- public fun setSwimmingPoolLength(swimmingPoolLength: Float): Builder {
+ public fun setSwimmingPoolLengthMeters(swimmingPoolLength: Float): Builder {
this.swimmingPoolLength = swimmingPoolLength
return this
}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt
index 1546895..7a7b6ef 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt
@@ -19,6 +19,7 @@
import android.app.Activity
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.rules.ActivityScenarioRule
+import java.io.Closeable
/**
* Run [block] using [ActivityScenario.onActivity], returning the result of the block.
@@ -45,3 +46,13 @@
err?.let { throw it }
return value
}
+
+/**
+ * Run [block] in a [use] block when using [ActivityScenario.launch], rather
+ * than just a [with] block to ensure the Activity is closed once test is complete.
+ */
+fun <C : Closeable> withUse(closeable: C, block: C.() -> Unit) {
+ closeable.use {
+ block(it)
+ }
+}
\ No newline at end of file