Merge changes from topic "281081899_component_names" into androidx-main
* changes:
Fix Maven name for Compose Desktop
Clean up component names, add build-time enforcement
diff --git a/activity/activity-compose-lint/src/main/java/androidx/activity/compose/lint/ActivityResultLaunchDetector.kt b/activity/activity-compose-lint/src/main/java/androidx/activity/compose/lint/ActivityResultLaunchDetector.kt
index ce8a629..07c1e46 100644
--- a/activity/activity-compose-lint/src/main/java/androidx/activity/compose/lint/ActivityResultLaunchDetector.kt
+++ b/activity/activity-compose-lint/src/main/java/androidx/activity/compose/lint/ActivityResultLaunchDetector.kt
@@ -31,8 +31,8 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
-import org.jetbrains.uast.UCallExpression
import java.util.EnumSet
+import org.jetbrains.uast.UCallExpression
/**
* [Detector] that checks `launch` calls to make sure they don't happen inside the body of a
diff --git a/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/ReportLoadedSamples.kt b/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/ReportLoadedSamples.kt
index 22244e9..8a4a86b 100644
--- a/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/ReportLoadedSamples.kt
+++ b/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/ReportLoadedSamples.kt
@@ -15,8 +15,8 @@
*/
package androidx.activity.compose.samples
-import androidx.activity.compose.ReportDrawnAfter
import androidx.activity.compose.ReportDrawn
+import androidx.activity.compose.ReportDrawnAfter
import androidx.activity.compose.ReportDrawnWhen
import androidx.annotation.Sampled
import androidx.compose.foundation.layout.fillMaxSize
diff --git a/activity/activity-compose/src/main/java/androidx/activity/compose/BackHandler.kt b/activity/activity-compose/src/main/java/androidx/activity/compose/BackHandler.kt
index 0ed7d53..384b780 100644
--- a/activity/activity-compose/src/main/java/androidx/activity/compose/BackHandler.kt
+++ b/activity/activity-compose/src/main/java/androidx/activity/compose/BackHandler.kt
@@ -16,10 +16,10 @@
package androidx.activity.compose
-import androidx.activity.findViewTreeOnBackPressedDispatcherOwner
import androidx.activity.OnBackPressedCallback
import androidx.activity.OnBackPressedDispatcher
import androidx.activity.OnBackPressedDispatcherOwner
+import androidx.activity.findViewTreeOnBackPressedDispatcherOwner
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.ProvidedValue
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt
index c3f7793..6601b128 100644
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt
+++ b/activity/activity-ktx/src/androidTest/java/androidx/activity/ActivityViewModelLazyTest.kt
@@ -28,9 +28,9 @@
import androidx.test.annotation.UiThreadTest
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.lang.IllegalArgumentException
import org.junit.Rule
import org.junit.Test
-import java.lang.IllegalArgumentException
@MediumTest
class ActivityViewModelLazyTest {
diff --git a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt b/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
index edb3b36..8ab79a4 100644
--- a/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
+++ b/activity/activity-lint/src/main/java/androidx/activity/lint/ActivityResultFragmentVersionDetector.kt
@@ -30,12 +30,12 @@
import com.android.tools.lint.detector.api.Project
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
-import org.jetbrains.uast.UCallExpression
-import org.jetbrains.uast.UElement
import java.util.EnumSet
import kotlin.reflect.full.memberFunctions
import kotlin.reflect.full.memberProperties
import kotlin.reflect.jvm.isAccessible
+import org.jetbrains.uast.UCallExpression
+import org.jetbrains.uast.UElement
class ActivityResultFragmentVersionDetector : Detector(), UastScanner, GradleScanner {
companion object {
diff --git a/activity/activity/lint-baseline.xml b/activity/activity/lint-baseline.xml
new file mode 100644
index 0000000..d97aee4
--- /dev/null
+++ b/activity/activity/lint-baseline.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.1.0-beta01" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-beta01)" variant="all" version="8.1.0-beta01">
+
+ <issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastT cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" if (BuildCompat.isAtLeastT()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/activity/ComponentActivity.java"/>
+ </issue>
+
+</issues>
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt
index e2025c9..48c87c7 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityResultTest.kt
@@ -31,10 +31,10 @@
import androidx.test.filters.LargeTest
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
-import leakcanary.DetectLeaksAfterTestSuccess
-import org.junit.Rule
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import leakcanary.DetectLeaksAfterTestSuccess
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/activity/activity/src/main/java/androidx/activity/result/PickVisualMediaRequest.kt b/activity/activity/src/main/java/androidx/activity/result/PickVisualMediaRequest.kt
index 45cbfe9..66f30ef 100644
--- a/activity/activity/src/main/java/androidx/activity/result/PickVisualMediaRequest.kt
+++ b/activity/activity/src/main/java/androidx/activity/result/PickVisualMediaRequest.kt
@@ -16,8 +16,8 @@
package androidx.activity.result
-import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.VisualMediaType
import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.ImageAndVideo
+import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.VisualMediaType
/**
* Creates a request for a
diff --git a/activity/integration-tests/testapp/src/main/java/androidx/activity/integration/testapp/MainActivity.kt b/activity/integration-tests/testapp/src/main/java/androidx/activity/integration/testapp/MainActivity.kt
index d795756..5fe827e 100644
--- a/activity/integration-tests/testapp/src/main/java/androidx/activity/integration/testapp/MainActivity.kt
+++ b/activity/integration-tests/testapp/src/main/java/androidx/activity/integration/testapp/MainActivity.kt
@@ -42,8 +42,8 @@
import androidx.activity.result.contract.ActivityResultContracts.CreateDocument
import androidx.activity.result.contract.ActivityResultContracts.GetContent
import androidx.activity.result.contract.ActivityResultContracts.OpenMultipleDocuments
-import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia
import androidx.activity.result.contract.ActivityResultContracts.PickMultipleVisualMedia
+import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia
import androidx.activity.result.contract.ActivityResultContracts.RequestPermission
import androidx.activity.result.contract.ActivityResultContracts.TakePicture
import androidx.activity.result.contract.ActivityResultContracts.TakePicturePreview
diff --git a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaPackageFromKt.kt b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaPackageFromKt.kt
index 417b29f..312c3a5 100644
--- a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaPackageFromKt.kt
+++ b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaPackageFromKt.kt
@@ -19,7 +19,6 @@
package sample.experimental
import androidx.annotation.experimental.UseExperimental
-
import sample.experimental.foo.Bar
import sample.experimental.foo.ExperimentalPackage
diff --git a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/optin/UseJavaPackageFromKt.kt b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/optin/UseJavaPackageFromKt.kt
index f995a66..caf4c94 100644
--- a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/optin/UseJavaPackageFromKt.kt
+++ b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/optin/UseJavaPackageFromKt.kt
@@ -17,7 +17,6 @@
package sample.optin
import androidx.annotation.OptIn
-
import sample.optin.foo.AnnotatedJavaPackage
@Suppress("unused", "MemberVisibilityCanBePrivate")
diff --git a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/ExperimentalDetectorTest.kt b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/ExperimentalDetectorTest.kt
index 62fa26e..25567ce 100644
--- a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/ExperimentalDetectorTest.kt
+++ b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/ExperimentalDetectorTest.kt
@@ -424,13 +424,13 @@
/* ktlint-disable max-line-length */
val expected = """
-src/sample/experimental/UseJavaPackageFromKt.kt:32: Error: This declaration is opt-in and its usage should be marked with @sample.experimental.foo.ExperimentalPackage or @OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class) [UnsafeOptInUsageError]
+src/sample/experimental/UseJavaPackageFromKt.kt:31: Error: This declaration is opt-in and its usage should be marked with @sample.experimental.foo.ExperimentalPackage or @OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class) [UnsafeOptInUsageError]
val bar = Bar()
~~~
-src/sample/experimental/UseJavaPackageFromKt.kt:33: Error: This declaration is opt-in and its usage should be marked with @sample.experimental.foo.ExperimentalPackage or @OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class) [UnsafeOptInUsageError]
+src/sample/experimental/UseJavaPackageFromKt.kt:32: Error: This declaration is opt-in and its usage should be marked with @sample.experimental.foo.ExperimentalPackage or @OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class) [UnsafeOptInUsageError]
bar.baz()
~~~
-src/sample/experimental/UseJavaPackageFromKt.kt:56: Error: This declaration is opt-in and its usage should be marked with @sample.experimental.foo.ExperimentalPackage or @OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class) [UnsafeOptInUsageError]
+src/sample/experimental/UseJavaPackageFromKt.kt:55: Error: This declaration is opt-in and its usage should be marked with @sample.experimental.foo.ExperimentalPackage or @OptIn(markerClass = sample.experimental.foo.ExperimentalPackage.class) [UnsafeOptInUsageError]
callPackageExperimental()
~~~~~~~~~~~~~~~~~~~~~~~
3 errors, 0 warnings
diff --git a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/RequiresOptInDetectorTest.kt b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/RequiresOptInDetectorTest.kt
index 89a38ed..99ca8e3 100644
--- a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/RequiresOptInDetectorTest.kt
+++ b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/RequiresOptInDetectorTest.kt
@@ -318,13 +318,13 @@
/* ktlint-disable max-line-length */
val expected = """
-src/sample/optin/UseJavaPackageFromKt.kt:30: Error: This declaration is opt-in and its usage should be marked with @sample.optin.ExperimentalJavaAnnotation or @OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class) [UnsafeOptInUsageError]
+src/sample/optin/UseJavaPackageFromKt.kt:29: Error: This declaration is opt-in and its usage should be marked with @sample.optin.ExperimentalJavaAnnotation or @OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class) [UnsafeOptInUsageError]
val experimentalObject = AnnotatedJavaPackage()
~~~~~~~~~~~~~~~~~~~~
-src/sample/optin/UseJavaPackageFromKt.kt:31: Error: This declaration is opt-in and its usage should be marked with @sample.optin.ExperimentalJavaAnnotation or @OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class) [UnsafeOptInUsageError]
+src/sample/optin/UseJavaPackageFromKt.kt:30: Error: This declaration is opt-in and its usage should be marked with @sample.optin.ExperimentalJavaAnnotation or @OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class) [UnsafeOptInUsageError]
experimentalObject.method()
~~~~~~
-src/sample/optin/UseJavaPackageFromKt.kt:64: Error: This declaration is opt-in and its usage should be marked with @sample.optin.ExperimentalJavaAnnotation or @OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class) [UnsafeOptInUsageError]
+src/sample/optin/UseJavaPackageFromKt.kt:63: Error: This declaration is opt-in and its usage should be marked with @sample.optin.ExperimentalJavaAnnotation or @OptIn(markerClass = sample.optin.ExperimentalJavaAnnotation.class) [UnsafeOptInUsageError]
callPackageExperimental()
~~~~~~~~~~~~~~~~~~~~~~~
3 errors, 0 warnings
diff --git a/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/ParticipantValue.kt b/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/ParticipantValue.kt
index 048d9e5..077274a 100644
--- a/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/ParticipantValue.kt
+++ b/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/ParticipantValue.kt
@@ -16,10 +16,10 @@
package androidx.appactions.interaction.capabilities.communication
import androidx.appactions.builtintypes.experimental.properties.Participant
+import androidx.appactions.interaction.capabilities.core.SearchAction
import androidx.appactions.interaction.capabilities.core.impl.converters.ParamValueConverter
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
import androidx.appactions.interaction.capabilities.core.impl.converters.UnionTypeSpec
-import androidx.appactions.interaction.capabilities.core.SearchAction
class ParticipantValue private constructor(
val asParticipant: Participant?,
diff --git a/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/RecipientValue.kt b/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/RecipientValue.kt
index bf3620d..f66ad67 100644
--- a/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/RecipientValue.kt
+++ b/appactions/interaction/interaction-capabilities-communication/src/main/java/androidx/appactions/interaction/capabilities/communication/RecipientValue.kt
@@ -17,10 +17,10 @@
package androidx.appactions.interaction.capabilities.communication
import androidx.appactions.builtintypes.experimental.properties.Recipient
+import androidx.appactions.interaction.capabilities.core.SearchAction
import androidx.appactions.interaction.capabilities.core.impl.converters.ParamValueConverter
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
import androidx.appactions.interaction.capabilities.core.impl.converters.UnionTypeSpec
-import androidx.appactions.interaction.capabilities.core.SearchAction
class RecipientValue private constructor(
val asRecipient: Recipient?,
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/CalendarEvent.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/CalendarEvent.kt
index fa8d0d8..95d92df 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/CalendarEvent.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/CalendarEvent.kt
@@ -17,10 +17,10 @@
package androidx.appactions.builtintypes.experimental.types
// TODO(b/271634410): Update Attendee references
+import androidx.appactions.builtintypes.experimental.properties.Attendee
import androidx.appactions.builtintypes.experimental.properties.EndDate
import androidx.appactions.builtintypes.experimental.properties.Name
import androidx.appactions.builtintypes.experimental.properties.StartDate
-import androidx.appactions.builtintypes.experimental.properties.Attendee
import java.time.LocalDate
import java.time.ZonedDateTime
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ItemList.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ItemList.kt
index e2308b6..df7d88a 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ItemList.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ItemList.kt
@@ -16,8 +16,8 @@
package androidx.appactions.builtintypes.experimental.types
-import androidx.appactions.builtintypes.experimental.properties.Name
import androidx.appactions.builtintypes.experimental.properties.ItemListElement
+import androidx.appactions.builtintypes.experimental.properties.Name
interface ItemList : Thing {
val itemListElements: List<ItemListElement>
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/LibInfo.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/LibInfo.kt
index c1c053c..8157944 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/LibInfo.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/LibInfo.kt
@@ -18,9 +18,8 @@
import android.content.Context
import androidx.annotation.RestrictTo
-
-import java.util.regex.Pattern
import java.util.Objects.requireNonNull
+import java.util.regex.Pattern
/** @suppress */
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityProvider.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityProvider.kt
index 121b582..2e62623 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityProvider.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityProvider.kt
@@ -17,14 +17,14 @@
package androidx.appactions.interaction.capabilities.core.entity
import androidx.annotation.RestrictTo
-import androidx.appactions.interaction.capabilities.core.impl.converters.EntityConverter
+import androidx.appactions.builtintypes.experimental.types.Thing
+import androidx.appactions.interaction.capabilities.core.SearchAction
import androidx.appactions.interaction.capabilities.core.impl.concurrent.Futures
+import androidx.appactions.interaction.capabilities.core.impl.converters.EntityConverter
import androidx.appactions.interaction.capabilities.core.impl.converters.SearchActionConverter
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeSpec
import androidx.appactions.interaction.capabilities.core.impl.exceptions.StructConversionException
-import androidx.appactions.interaction.capabilities.core.SearchAction
-import androidx.appactions.builtintypes.experimental.types.Thing
import androidx.appactions.interaction.proto.GroundingRequest
import androidx.appactions.interaction.proto.GroundingResponse
import androidx.concurrent.futures.await
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/SingleTurnCapabilitySession.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/SingleTurnCapabilitySession.kt
index f61a922..4c74879 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/SingleTurnCapabilitySession.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/SingleTurnCapabilitySession.kt
@@ -22,8 +22,8 @@
import androidx.appactions.interaction.capabilities.core.impl.spec.ActionSpec
import androidx.appactions.interaction.capabilities.core.impl.utils.CapabilityLogger
import androidx.appactions.interaction.capabilities.core.impl.utils.LoggerInternal
-import androidx.appactions.interaction.capabilities.core.impl.utils.invokeExternalSuspendBlock
import androidx.appactions.interaction.capabilities.core.impl.utils.handleExceptionFromRequestProcessing
+import androidx.appactions.interaction.capabilities.core.impl.utils.invokeExternalSuspendBlock
import androidx.appactions.interaction.proto.AppActionsContext.AppDialogState
import androidx.appactions.interaction.proto.FulfillmentResponse
import androidx.appactions.interaction.proto.ParamValue
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/LibInfoTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/LibInfoTest.kt
index 8bed86d..f564983 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/LibInfoTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/LibInfoTest.kt
@@ -17,9 +17,7 @@
package androidx.appactions.interaction.capabilities.core
import androidx.appactions.interaction.capabilities.core.LibInfo.Version
-
import com.google.common.truth.Truth.assertThat
-
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FuturesTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FuturesTest.kt
index 6d9de02..d0c26db 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FuturesTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FuturesTest.kt
@@ -21,13 +21,13 @@
import androidx.concurrent.futures.CallbackToFutureAdapter
import androidx.concurrent.futures.CallbackToFutureAdapter.Completer
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.TimeUnit.MILLISECONDS
import kotlinx.coroutines.CompletableDeferred
import org.junit.Assert.assertThrows
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.TimeUnit.MILLISECONDS
@RunWith(JUnit4::class)
class FuturesTest {
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/ListenableFutureHelperTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/ListenableFutureHelperTest.kt
index 310078e..9b7b0b91 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/ListenableFutureHelperTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/ListenableFutureHelperTest.kt
@@ -17,6 +17,8 @@
package androidx.appactions.interaction.capabilities.core.impl.concurrent
import com.google.common.truth.Truth.assertThat
+import kotlin.coroutines.cancellation.CancellationException
+import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.ReceiveChannel
import kotlinx.coroutines.channels.SendChannel
@@ -25,8 +27,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.coroutines.cancellation.CancellationException
-import kotlin.time.Duration.Companion.seconds
@RunWith(JUnit4::class)
class ListenableFutureHelperTest {
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskCapabilityImplTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskCapabilityImplTest.kt
index 241d5f3..bcd5ef1 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskCapabilityImplTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskCapabilityImplTest.kt
@@ -58,8 +58,8 @@
import androidx.appactions.interaction.proto.CurrentValue
import androidx.appactions.interaction.proto.DisambiguationData
import androidx.appactions.interaction.proto.Entity
-import androidx.appactions.interaction.proto.FulfillmentRequest.Fulfillment.Type.CANCEL
import androidx.appactions.interaction.proto.FulfillmentRequest.Fulfillment.Type
+import androidx.appactions.interaction.proto.FulfillmentRequest.Fulfillment.Type.CANCEL
import androidx.appactions.interaction.proto.FulfillmentRequest.Fulfillment.Type.SYNC
import androidx.appactions.interaction.proto.FulfillmentRequest.Fulfillment.Type.UNKNOWN_TYPE
import androidx.appactions.interaction.proto.FulfillmentResponse.StructuredOutput
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskSlotProcessorTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskSlotProcessorTest.kt
index bd0a338..eca8de0 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskSlotProcessorTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/task/TaskSlotProcessorTest.kt
@@ -18,11 +18,11 @@
import androidx.appactions.interaction.capabilities.core.AppEntityListener
import androidx.appactions.interaction.capabilities.core.EntitySearchResult
import androidx.appactions.interaction.capabilities.core.InventoryListener
+import androidx.appactions.interaction.capabilities.core.SearchAction
import androidx.appactions.interaction.capabilities.core.ValidationResult
import androidx.appactions.interaction.capabilities.core.ValueListener
import androidx.appactions.interaction.capabilities.core.impl.concurrent.Futures
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
-import androidx.appactions.interaction.capabilities.core.SearchAction
import androidx.appactions.interaction.capabilities.testing.internal.ArgumentUtils
import androidx.appactions.interaction.capabilities.testing.internal.TestingUtils.awaitSync
import androidx.appactions.interaction.proto.CurrentValue
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/TimerValue.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/TimerValue.kt
index 7f21f96..b16d175 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/TimerValue.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/TimerValue.kt
@@ -17,11 +17,11 @@
package androidx.appactions.interaction.capabilities.productivity
import androidx.appactions.builtintypes.experimental.types.Timer
+import androidx.appactions.interaction.capabilities.core.SearchAction
import androidx.appactions.interaction.capabilities.core.impl.converters.EntityConverter
import androidx.appactions.interaction.capabilities.core.impl.converters.ParamValueConverter
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
import androidx.appactions.interaction.capabilities.core.impl.converters.UnionTypeSpec
-import androidx.appactions.interaction.capabilities.core.SearchAction
import java.util.Objects
class TimerValue
diff --git a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiSessions.kt b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiSessions.kt
index 1774fa6..4214766 100644
--- a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiSessions.kt
+++ b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiSessions.kt
@@ -18,8 +18,8 @@
package androidx.appactions.interaction.service
import androidx.annotation.GuardedBy
-import androidx.appactions.interaction.capabilities.core.ExecutionCallback
import androidx.appactions.interaction.capabilities.core.BaseExecutionSession
+import androidx.appactions.interaction.capabilities.core.ExecutionCallback
import androidx.appactions.interaction.capabilities.core.impl.UiHandleRegistry
import androidx.appactions.interaction.service.UiSessions.removeUiCache
import javax.annotation.concurrent.ThreadSafe
diff --git a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImplTest.kt b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImplTest.kt
index b24255e..0e955b2 100644
--- a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImplTest.kt
+++ b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImplTest.kt
@@ -17,8 +17,8 @@
package androidx.appactions.interaction.service
import androidx.appactions.interaction.capabilities.core.Capability
-import androidx.appactions.interaction.capabilities.core.impl.CapabilitySession
import androidx.appactions.interaction.capabilities.core.impl.CallbackInternal
+import androidx.appactions.interaction.capabilities.core.impl.CapabilitySession
import androidx.appactions.interaction.proto.AppActionsContext.AppAction
import androidx.appactions.interaction.proto.AppActionsContext.AppDialogState
import androidx.appactions.interaction.proto.FulfillmentRequest
@@ -30,24 +30,15 @@
import androidx.appactions.interaction.service.AppInteractionServiceGrpcImpl.Companion.ERROR_NO_FULFILLMENT_REQUEST
import androidx.appactions.interaction.service.AppInteractionServiceGrpcImpl.Companion.ERROR_NO_SESSION
import androidx.appactions.interaction.service.AppInteractionServiceGrpcImpl.Companion.ERROR_SESSION_ENDED
-import androidx.appactions.interaction.service.testing.internal.FakeAppInteractionService
import androidx.appactions.interaction.service.proto.AppInteractionServiceGrpc
import androidx.appactions.interaction.service.proto.AppInteractionServiceGrpc.AppInteractionServiceStub
import androidx.appactions.interaction.service.proto.AppInteractionServiceProto.Request
import androidx.appactions.interaction.service.proto.AppInteractionServiceProto.StartSessionRequest
import androidx.appactions.interaction.service.proto.AppInteractionServiceProto.StartSessionResponse
+import androidx.appactions.interaction.service.testing.internal.FakeAppInteractionService
import androidx.concurrent.futures.await
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.argumentCaptor
-import org.mockito.kotlin.doAnswer
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.never
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
-import org.mockito.kotlin.whenever
-import org.robolectric.Robolectric
import io.grpc.BindableService
import io.grpc.ManagedChannel
import io.grpc.Server
@@ -67,6 +58,15 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+import org.robolectric.Robolectric
// TODO(b/271929200) Implement tests for the 2 UI related RPCs
@RunWith(AndroidJUnit4::class)
diff --git a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/SessionManagerTest.kt b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/SessionManagerTest.kt
index 95e16b9..ebc1d73 100644
--- a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/SessionManagerTest.kt
+++ b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/SessionManagerTest.kt
@@ -16,9 +16,9 @@
package androidx.appactions.interaction.service
-import androidx.appactions.interaction.capabilities.core.impl.CapabilitySession
import androidx.appactions.interaction.capabilities.core.impl.ArgumentsWrapper
import androidx.appactions.interaction.capabilities.core.impl.CallbackInternal
+import androidx.appactions.interaction.capabilities.core.impl.CapabilitySession
import androidx.appactions.interaction.capabilities.core.impl.TouchEventCallback
import androidx.appactions.interaction.proto.AppActionsContext
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/UiSessionsTest.kt b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/UiSessionsTest.kt
index 64335ff..970860c 100644
--- a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/UiSessionsTest.kt
+++ b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/UiSessionsTest.kt
@@ -22,17 +22,17 @@
import androidx.appactions.interaction.capabilities.core.ExecutionCallback
import androidx.appactions.interaction.capabilities.core.ExecutionResult
import androidx.appactions.interaction.capabilities.core.HostProperties
+import androidx.appactions.interaction.capabilities.testing.internal.ArgumentUtils.buildArgs
+import androidx.appactions.interaction.capabilities.testing.internal.ArgumentUtils.buildRequestArgs
+import androidx.appactions.interaction.capabilities.testing.internal.FakeCallbackInternal
+import androidx.appactions.interaction.capabilities.testing.internal.TestingUtils.CB_TIMEOUT
import androidx.appactions.interaction.proto.FulfillmentRequest.Fulfillment.Type.SYNC
import androidx.appactions.interaction.proto.ParamValue
import androidx.appactions.interaction.service.test.R
-import androidx.appactions.interaction.capabilities.testing.internal.FakeCallbackInternal
-import androidx.appactions.interaction.capabilities.testing.internal.ArgumentUtils.buildRequestArgs
-import androidx.appactions.interaction.capabilities.testing.internal.ArgumentUtils.buildArgs
-import androidx.appactions.interaction.capabilities.testing.internal.TestingUtils.CB_TIMEOUT
import androidx.appactions.interaction.service.testing.internal.FakeCapability
import androidx.appactions.interaction.service.testing.internal.FakeCapability.Arguments
-import androidx.appactions.interaction.service.testing.internal.FakeCapability.Output
import androidx.appactions.interaction.service.testing.internal.FakeCapability.ExecutionSession
+import androidx.appactions.interaction.service.testing.internal.FakeCapability.Output
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
diff --git a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAlarmEntityProvider.kt b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAlarmEntityProvider.kt
index fd99a27..e0151be 100644
--- a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAlarmEntityProvider.kt
+++ b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAlarmEntityProvider.kt
@@ -17,10 +17,10 @@
package androidx.appactions.interaction.service.testing.internal
import androidx.appactions.builtintypes.experimental.types.Alarm
-import androidx.appactions.interaction.capabilities.core.entity.EntityProvider
+import androidx.appactions.interaction.capabilities.core.entity.EntityLookupCandidate
import androidx.appactions.interaction.capabilities.core.entity.EntityLookupRequest
import androidx.appactions.interaction.capabilities.core.entity.EntityLookupResponse
-import androidx.appactions.interaction.capabilities.core.entity.EntityLookupCandidate
+import androidx.appactions.interaction.capabilities.core.entity.EntityProvider
import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
class FakeAlarmEntityProvider(
diff --git a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAppInteractionService.kt b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAppInteractionService.kt
index 9521309..e4e6f44 100644
--- a/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAppInteractionService.kt
+++ b/appactions/interaction/interaction-service/src/test/java/androidx/appactions/interaction/service/testing/internal/FakeAppInteractionService.kt
@@ -16,10 +16,10 @@
package androidx.appactions.interaction.service.testing.internal
-import androidx.appactions.interaction.service.AppInteractionService
-import androidx.appactions.interaction.service.AppVerificationInfo
import androidx.appactions.interaction.capabilities.core.Capability
import androidx.appactions.interaction.capabilities.core.entity.EntityProvider
+import androidx.appactions.interaction.service.AppInteractionService
+import androidx.appactions.interaction.service.AppVerificationInfo
import io.grpc.binder.SecurityPolicies
import io.grpc.binder.SecurityPolicy
diff --git a/appcompat/appcompat/lint-baseline.xml b/appcompat/appcompat/lint-baseline.xml
index 0936e35..dc8d901 100644
--- a/appcompat/appcompat/lint-baseline.xml
+++ b/appcompat/appcompat/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 8.0.0-beta03" type="baseline" client="gradle" dependencies="false" name="AGP (8.0.0-beta03)" variant="all" version="8.0.0-beta03">
+<issues format="6" by="lint 8.1.0-beta01" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-beta01)" variant="all" version="8.1.0-beta01">
<issue
id="NewApi"
@@ -434,6 +434,24 @@
</issue>
<issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastT cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" if (BuildCompat.isAtLeastT()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/appcompat/widget/DropDownListView.java"/>
+ </issue>
+
+ <issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastT cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" if (BuildCompat.isAtLeastT()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/appcompat/widget/DropDownListView.java"/>
+ </issue>
+
+ <issue
id="KotlinPropertyAccess"
message="The getter return type (`View`) and setter parameter type (`ScrollingTabContainerView`) getter and setter methods for property `tabContainer` should have exactly the same type to allow be accessed as a property from Kotlin; see https://android.github.io/kotlin-guides/interop.html#property-prefixes"
errorLine1=" public View getTabContainer() {"
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatActivityViewTreeTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatActivityViewTreeTest.kt
index e3dafc5..050577f 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatActivityViewTreeTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatActivityViewTreeTest.kt
@@ -16,10 +16,10 @@
package androidx.appcompat.app
-import androidx.lifecycle.findViewTreeLifecycleOwner
-import androidx.savedstate.findViewTreeSavedStateRegistryOwner
import androidx.activity.findViewTreeOnBackPressedDispatcherOwner
+import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeViewModelStoreOwner
+import androidx.savedstate.findViewTreeSavedStateRegistryOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatDialogTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatDialogTest.kt
index ceb8677..c82b2ce 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatDialogTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatDialogTest.kt
@@ -17,8 +17,8 @@
package androidx.appcompat.app
import android.view.View
-import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt
index d395ac9..3144e25 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeRtlTestUtilsRegressionTestCase.kt
@@ -25,13 +25,13 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
+import java.util.Locale
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.Locale
/**
* This is one approach to customizing Activity configuration that's used in google3.
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeTestCase.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeTestCase.kt
index c0139a5..501bcfc 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeTestCase.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeTestCase.kt
@@ -42,6 +42,7 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.LifecycleOwnerUtils.waitForRecreation
import androidx.testutils.waitForExecution
+import java.util.concurrent.CountDownLatch
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNull
@@ -49,7 +50,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
@Suppress("DEPRECATION")
@LargeTest
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatActivity.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatActivity.kt
index e0a6fb8..f894124 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatActivity.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatActivity.kt
@@ -17,7 +17,6 @@
package androidx.appcompat.app
import android.os.Bundle
-
import androidx.appcompat.test.R
class NoThemeAppCompatActivity : AppCompatActivity() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAttributeTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAttributeTest.kt
index 715a55e..aa2e0f5 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAttributeTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAttributeTest.kt
@@ -22,8 +22,8 @@
import android.widget.ImageView
import android.widget.SeekBar
import android.widget.TextView
-import androidx.appcompat.test.R
import androidx.appcompat.app.AppCompatActivity
+import androidx.appcompat.test.R
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
diff --git a/appsearch/appsearch-platform-storage/lint-baseline.xml b/appsearch/appsearch-platform-storage/lint-baseline.xml
index 279ab97..d82c712 100644
--- a/appsearch/appsearch-platform-storage/lint-baseline.xml
+++ b/appsearch/appsearch-platform-storage/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 8.1.0-alpha07" type="baseline" client="gradle" dependencies="false" name="AGP (8.0.0-beta03)" variant="all" version="8.1.0-alpha07">
+<issues format="6" by="lint 8.1.0-beta01" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-beta01)" variant="all" version="8.1.0-beta01">
<issue
id="WrongConstant"
@@ -244,4 +244,31 @@
file="src/main/java/androidx/appsearch/platformstorage/converter/SetSchemaRequestToPlatformConverter.java"/>
</issue>
+ <issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastT cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" return BuildCompat.isAtLeastT();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/appsearch/platformstorage/FeaturesImpl.java"/>
+ </issue>
+
+ <issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastT cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" if (BuildCompat.isAtLeastT()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/appsearch/platformstorage/converter/GetSchemaResponseToPlatformConverter.java"/>
+ </issue>
+
+ <issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastT cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" if (BuildCompat.isAtLeastT()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/appsearch/platformstorage/converter/SearchResultToPlatformConverter.java"/>
+ </issue>
+
</issues>
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerExtension.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerExtension.kt
index 0ae17d0..00934a5 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerExtension.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerExtension.kt
@@ -54,19 +54,30 @@
// These are the default global settings.
it.mergeIntoMain = null
it.baselineProfileOutputDir = "generated/baselineProfiles"
- it.enableR8BaselineProfileRewrite = false
+ it.baselineProfileRulesRewrite = null
+ it.dexLayoutOptimization = null
it.saveInSrc = true
it.automaticGenerationDuringBuild = false
}
/**
- * Controls the global [BaselineProfileVariantConfiguration.enableR8BaselineProfileRewrite].
+ * Controls the global [BaselineProfileVariantConfiguration.baselineProfileRulesRewrite].
* Note that this value is overridden by per variant configurations.
*/
- override var enableR8BaselineProfileRewrite: Boolean?
- get() = main.enableR8BaselineProfileRewrite
+ override var baselineProfileRulesRewrite: Boolean?
+ get() = main.baselineProfileRulesRewrite
set(value) {
- main.enableR8BaselineProfileRewrite = value
+ main.baselineProfileRulesRewrite = value
+ }
+
+ /**
+ * Controls the global [BaselineProfileVariantConfiguration.dexLayoutOptimization].
+ * Note that this value is overridden by per variant configurations.
+ */
+ override var dexLayoutOptimization: Boolean?
+ get() = main.dexLayoutOptimization
+ set(value) {
+ main.dexLayoutOptimization = value
}
/**
@@ -182,7 +193,13 @@
* TODO: This feature is experimental and currently not working properly.
* https://issuetracker.google.com/issue?id=271172067.
*/
- var enableR8BaselineProfileRewrite: Boolean?
+ var baselineProfileRulesRewrite: Boolean?
+
+ /**
+ * Enables R8 to optimize the primary dex file used to contain only classes utilized for
+ * startup.
+ */
+ var dexLayoutOptimization: Boolean?
/**
* Specifies whether generated baseline profiles should be stored in the src folder.
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPlugin.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPlugin.kt
index 995c84d..b2792c6 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPlugin.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPlugin.kt
@@ -20,6 +20,7 @@
import androidx.baselineprofile.gradle.consumer.task.MainGenerateBaselineProfileTask
import androidx.baselineprofile.gradle.consumer.task.MergeBaselineProfileTask
import androidx.baselineprofile.gradle.consumer.task.PrintConfigurationForVariantTask
+import androidx.baselineprofile.gradle.consumer.task.PrintMapPropertiesForVariantTask
import androidx.baselineprofile.gradle.consumer.task.maybeCreateGenerateTask
import androidx.baselineprofile.gradle.utils.AgpFeature
import androidx.baselineprofile.gradle.utils.AgpPlugin
@@ -169,10 +170,19 @@
variant = variant,
variantConfig = variantConfiguration
)
+ PrintMapPropertiesForVariantTask.registerForVariant(
+ project = project,
+ variant = variant
+ )
// Sets the r8 rewrite baseline profile for the non debuggable variant.
- if (variantConfiguration.enableR8BaselineProfileRewrite) {
- r8Utils.enableR8RulesRewriteForVariant(variant)
+ variantConfiguration.baselineProfileRulesRewrite?.let {
+ r8Utils.setRulesRewriteForVariantEnabled(variant, it)
+ }
+
+ // Sets the r8 startup dex optimization profile for the non debuggable variant.
+ variantConfiguration.dexLayoutOptimization?.let {
+ r8Utils.setDexLayoutOptimizationEnabled(variant, it)
}
// Check if this variant has any direct dependency
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/PerVariantConsumerExtensionManager.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/PerVariantConsumerExtensionManager.kt
index 6168f23..eb7b035 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/PerVariantConsumerExtensionManager.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/PerVariantConsumerExtensionManager.kt
@@ -52,8 +52,11 @@
val dependencies: List<Pair<Project, String?>>
get() = getMergedListForVariant(variant) { dependencies }
- val enableR8BaselineProfileRewrite: Boolean
- get() = getOverriddenValueForVariant(variant) { enableR8BaselineProfileRewrite }
+ val baselineProfileRulesRewrite: Boolean?
+ get() = getOverriddenValueForVariantAllowNull(variant) { baselineProfileRulesRewrite }
+
+ val dexLayoutOptimization: Boolean?
+ get() = getOverriddenValueForVariantAllowNull(variant) { dexLayoutOptimization }
val saveInSrc: Boolean
get() = getOverriddenValueForVariant(variant) { saveInSrc }
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintConfigurationForVariantTask.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintConfigurationForVariantTask.kt
index c9e2d08..d33f08a 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintConfigurationForVariantTask.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintConfigurationForVariantTask.kt
@@ -49,7 +49,8 @@
"""
mergeIntoMain=`${variantConfig.mergeIntoMain}`
baselineProfileOutputDir=`${variantConfig.baselineProfileOutputDir}`
- enableR8BaselineProfileRewrite=`${variantConfig.enableR8BaselineProfileRewrite}`
+ baselineProfileRulesRewrite=`${variantConfig.baselineProfileRulesRewrite}`
+ dexLayoutOptimization=`${variantConfig.dexLayoutOptimization}`
saveInSrc=`${variantConfig.saveInSrc}`
automaticGenerationDuringBuild=`${variantConfig.automaticGenerationDuringBuild}`
""".trimIndent()
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintMapPropertiesForVariantTask.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintMapPropertiesForVariantTask.kt
new file mode 100644
index 0000000..2318a42
--- /dev/null
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/task/PrintMapPropertiesForVariantTask.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2023 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.baselineprofile.gradle.consumer.task
+
+import androidx.baselineprofile.gradle.utils.maybeRegister
+import com.android.build.api.variant.Variant
+import org.gradle.api.DefaultTask
+import org.gradle.api.Project
+import org.gradle.api.provider.MapProperty
+import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.TaskAction
+import org.gradle.work.DisableCachingByDefault
+
+/**
+ * Only used for testing, this task does not have description or group so that it doesn't show up
+ * in the task list. It prints internal properties to facilitate assertions in integration tests.
+ */
+@DisableCachingByDefault(because = "Not worth caching. Used only for tests.")
+abstract class PrintMapPropertiesForVariantTask : DefaultTask() {
+
+ companion object {
+
+ private const val TASK_NAME_PREFIX = "printExperimentalPropertiesForVariant"
+
+ internal fun registerForVariant(
+ project: Project,
+ variant: Variant,
+ ) {
+ project
+ .tasks
+ .maybeRegister<PrintMapPropertiesForVariantTask>(TASK_NAME_PREFIX, variant.name) {
+ it.properties.set(variant.experimentalProperties)
+ }
+ }
+ }
+
+ @get: Input
+ abstract val properties: MapProperty<String, Any>
+
+ @TaskAction
+ fun exec() {
+ properties.get().forEach { logger.warn("${it.key}=${it.value}") }
+ }
+}
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/AgpPlugin.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/AgpPlugin.kt
index 413406a..19d2d8d 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/AgpPlugin.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/AgpPlugin.kt
@@ -50,16 +50,6 @@
private val maxAgpVersion: AndroidPluginVersion,
) {
- companion object {
- private val gradleSyncProps by lazy {
- listOf(
- "android.injected.build.model.v2",
- "android.injected.build.model.only",
- "android.injected.build.model.only.advanced",
- )
- }
- }
-
protected val logger: Logger
get() = project.logger
@@ -175,9 +165,7 @@
}
}
- protected fun isGradleSyncRunning() = gradleSyncProps.any {
- it in project.properties && project.properties[it].toString().toBoolean()
- }
+ protected fun isGradleSyncRunning() = project.isGradleSyncRunning()
protected fun afterVariants(block: () -> (Unit)) = afterVariantBlocks.add(block)
@@ -277,6 +265,18 @@
.findByType(com.android.build.gradle.TestExtension::class.java)
}
+private val gradleSyncProps by lazy {
+ listOf(
+ "android.injected.build.model.v2",
+ "android.injected.build.model.only",
+ "android.injected.build.model.only.advanced",
+ )
+}
+
+internal fun Project.isGradleSyncRunning() = gradleSyncProps.any {
+ it in project.properties && project.properties[it].toString().toBoolean()
+}
+
/**
* Enumerates the supported android plugins.
*/
diff --git a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/R8Utils.kt b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/R8Utils.kt
index 121dc35..a56a3de 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/R8Utils.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/utils/R8Utils.kt
@@ -32,26 +32,56 @@
companion object {
private const val PROPERTY_R8_REWRITE_BASELINE_PROFILE_RULES =
"android.experimental.art-profile-r8-rewriting"
- private val AGP_MIN_VERSION = AndroidPluginVersion(8, 1, 0).alpha(8)
+ private const val PROPERTY_R8_DEX_LAYOUT_OPTIMIZATION =
+ "android.experimental.r8.dex-startup-optimization"
}
@Suppress("UnstableApiUsage")
- fun enableR8RulesRewriteForVariant(variant: Variant) {
+ fun setRulesRewriteForVariantEnabled(variant: Variant, value: Boolean) {
// Checks the AGP min version to support this.
- if (project.agpVersion() < AGP_MIN_VERSION) {
+ if (project.agpVersion() < AndroidPluginVersion(8, 1, 0).alpha(8)) {
+ if (!project.isGradleSyncRunning()) {
+ throw IllegalStateException(
+ """
+ Unable to set baseline profile rules rewrite property in module `${project.path}`
+ due to minimum AGP version requirement not met. This functionality requires at
+ least AGP version 8.1.0. Please check your module build.gradle file and ensure
+ the property `baselineProfileRulesRewrite` is not set.
+ """.trimIndent()
+ )
+ }
return
}
- // TODO: Checks the R8 version to support this.
-
// TODO: Note that currently there needs to be at least a baseline profile,
// even if empty. For this reason we always add a src set that points to
// an empty file. This can removed after b/271158087 is fixed.
- GenerateDummyBaselineProfileTask.setupForVariant(project, variant)
+ if (value) GenerateDummyBaselineProfileTask.setupForVariant(project, variant)
// Sets the experimental property
- variant.experimentalProperties.put(PROPERTY_R8_REWRITE_BASELINE_PROFILE_RULES, true)
+ variant.experimentalProperties.put(PROPERTY_R8_REWRITE_BASELINE_PROFILE_RULES, value)
+ }
+
+ @Suppress("UnstableApiUsage")
+ fun setDexLayoutOptimizationEnabled(variant: Variant, value: Boolean) {
+
+ // Checks the AGP min version to support this.
+ if (project.agpVersion() < AndroidPluginVersion(8, 1, 0).alpha(11)) {
+ if (!project.isGradleSyncRunning()) {
+ throw IllegalStateException(
+ """
+ Unable to set dex layout optimization property in module `${project.path}` due to
+ minimum AGP version requirement not met. This functionality requires at least AGP
+ version 8.1.0. Please check your module build.gradle file and ensure the property
+ `dexLayoutOptimization` is not set.
+ """.trimIndent()
+ )
+ }
+ }
+
+ // Sets the experimental property
+ variant.experimentalProperties.put(PROPERTY_R8_DEX_LAYOUT_OPTIMIZATION, value)
}
}
diff --git a/benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPluginTest.kt b/benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPluginTest.kt
index a7e1cdf..2ab457a 100644
--- a/benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPluginTest.kt
+++ b/benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPluginTest.kt
@@ -27,6 +27,7 @@
import androidx.baselineprofile.gradle.utils.VariantProfile
import androidx.baselineprofile.gradle.utils.build
import androidx.baselineprofile.gradle.utils.buildAndAssertThatOutput
+import androidx.baselineprofile.gradle.utils.buildAndFailAndAssertThatOutput
import androidx.baselineprofile.gradle.utils.require
import androidx.baselineprofile.gradle.utils.requireInOrder
import com.google.common.truth.Truth.assertThat
@@ -286,9 +287,6 @@
androidPlugin = ANDROID_APPLICATION_PLUGIN,
flavors = true,
dependencyOnProducerProject = true,
- baselineProfileBlock = """
- enableR8BaselineProfileRewrite = false
- """.trimIndent(),
additionalGradleCodeBlock = """
androidComponents {
onVariants(selector()) { variant ->
@@ -343,7 +341,7 @@
}
@Test
- fun testR8RewriteBaselineProfilePropertySet() {
+ fun testExperimentalPropertiesNotSet() {
projectSetup.producer.setupWithFreeAndPaidFlavors(
freeReleaseProfileLines = listOf(Fixtures.CLASS_1_METHOD_1, Fixtures.CLASS_1),
paidReleaseProfileLines = listOf(Fixtures.CLASS_2_METHOD_1, Fixtures.CLASS_2)
@@ -352,31 +350,20 @@
androidPlugin = ANDROID_LIBRARY_PLUGIN,
dependencyOnProducerProject = true,
flavors = true,
- buildTypeAnotherRelease = true,
- additionalGradleCodeBlock = """
- androidComponents {
- onVariants(selector()) { variant ->
- println(variant.name)
- tasks.register("print" + variant.name, PrintTask) { t ->
- def prop = "android.experimental.art-profile-r8-rewriting"
- if (prop in variant.experimentalProperties) {
- def value = variant.experimentalProperties[prop].get().toString()
- t.text.set( "r8-rw=" + value)
- } else {
- t.text.set( "r8-rw=false")
- }
- }
- }
- }
- """.trimIndent()
+ buildTypeAnotherRelease = true
)
arrayOf(
- "printFreeRelease",
- "printPaidRelease",
- "printFreeAnotherRelease",
- "printPaidAnotherRelease",
- ).forEach { gradleRunner.buildAndAssertThatOutput(it) { contains("r8-rw=false") } }
+ "printExperimentalPropertiesForVariantFreeRelease",
+ "printExperimentalPropertiesForVariantPaidRelease",
+ "printExperimentalPropertiesForVariantFreeAnotherRelease",
+ "printExperimentalPropertiesForVariantPaidAnotherRelease",
+ ).forEach {
+ gradleRunner.buildAndAssertThatOutput(it) {
+ doesNotContain("android.experimental.art-profile-r8-rewriting=")
+ doesNotContain("android.experimental.r8.dex-startup-optimization=")
+ }
+ }
}
@Test
@@ -672,7 +659,6 @@
baselineProfileBlock = """
// Global configuration
- enableR8BaselineProfileRewrite = false
saveInSrc = true
automaticGenerationDuringBuild = false
baselineProfileOutputDir = "generated/baselineProfiles"
@@ -681,14 +667,12 @@
// Per variant configuration overrides global configuration.
variants {
free {
- enableR8BaselineProfileRewrite = true
saveInSrc = false
automaticGenerationDuringBuild = true
baselineProfileOutputDir = "somefolder"
mergeIntoMain = false
}
paidRelease {
- enableR8BaselineProfileRewrite = true
saveInSrc = false
automaticGenerationDuringBuild = true
baselineProfileOutputDir = "someOtherfolder"
@@ -702,7 +686,6 @@
gradleRunner.buildAndAssertThatOutput(
"printBaselineProfileExtensionForVariantFreeRelease"
) {
- contains("enableR8BaselineProfileRewrite=`true`")
contains("saveInSrc=`false`")
contains("automaticGenerationDuringBuild=`true`")
contains("baselineProfileOutputDir=`somefolder`")
@@ -712,7 +695,6 @@
gradleRunner.buildAndAssertThatOutput(
"printBaselineProfileExtensionForVariantPaidRelease"
) {
- contains("enableR8BaselineProfileRewrite=`true`")
contains("saveInSrc=`false`")
contains("automaticGenerationDuringBuild=`true`")
contains("baselineProfileOutputDir=`someOtherfolder`")
@@ -732,7 +714,6 @@
baselineProfileBlock = """
// Global configuration
- enableR8BaselineProfileRewrite = false
saveInSrc = true
automaticGenerationDuringBuild = false
baselineProfileOutputDir = "generated/baselineProfiles"
@@ -741,14 +722,12 @@
// Per variant configuration overrides global configuration.
variants {
release {
- enableR8BaselineProfileRewrite = true
saveInSrc = false
automaticGenerationDuringBuild = true
baselineProfileOutputDir = "myReleaseFolder"
mergeIntoMain = false
}
paidRelease {
- enableR8BaselineProfileRewrite = true
saveInSrc = false
automaticGenerationDuringBuild = true
baselineProfileOutputDir = "someOtherfolder"
@@ -762,7 +741,6 @@
gradleRunner.buildAndAssertThatOutput(
"printBaselineProfileExtensionForVariantFreeRelease"
) {
- contains("enableR8BaselineProfileRewrite=`true`")
contains("saveInSrc=`false`")
contains("automaticGenerationDuringBuild=`true`")
contains("baselineProfileOutputDir=`myReleaseFolder`")
@@ -772,7 +750,6 @@
gradleRunner.buildAndAssertThatOutput(
"printBaselineProfileExtensionForVariantPaidRelease"
) {
- contains("enableR8BaselineProfileRewrite=`true`")
contains("saveInSrc=`false`")
contains("automaticGenerationDuringBuild=`true`")
contains("baselineProfileOutputDir=`someOtherfolder`")
@@ -1108,6 +1085,60 @@
assertThat(notFound).isEmpty()
}
}
+
+ @Test
+ fun testRulesRewriteExperimentalPropertiesSet() {
+ projectSetup.producer.setupWithFreeAndPaidFlavors(
+ freeReleaseProfileLines = listOf(Fixtures.CLASS_1_METHOD_1, Fixtures.CLASS_1),
+ paidReleaseProfileLines = listOf(Fixtures.CLASS_2_METHOD_1, Fixtures.CLASS_2)
+ )
+ projectSetup.consumer.setup(
+ androidPlugin = ANDROID_LIBRARY_PLUGIN,
+ dependencyOnProducerProject = true,
+ flavors = true,
+ buildTypeAnotherRelease = true,
+ baselineProfileBlock = """
+ baselineProfileRulesRewrite = true
+ """.trimIndent()
+ )
+ arrayOf(
+ "printExperimentalPropertiesForVariantFreeRelease",
+ "printExperimentalPropertiesForVariantPaidRelease",
+ "printExperimentalPropertiesForVariantFreeAnotherRelease",
+ "printExperimentalPropertiesForVariantPaidAnotherRelease",
+ ).forEach {
+ projectSetup.consumer.gradleRunner.buildAndFailAndAssertThatOutput(it) {
+ contains("Unable to set baseline profile rules rewrite property")
+ }
+ }
+ }
+
+ @Test
+ fun testDexLayoutOptimizationExperimentalPropertiesSet() {
+ projectSetup.producer.setupWithFreeAndPaidFlavors(
+ freeReleaseProfileLines = listOf(Fixtures.CLASS_1_METHOD_1, Fixtures.CLASS_1),
+ paidReleaseProfileLines = listOf(Fixtures.CLASS_2_METHOD_1, Fixtures.CLASS_2)
+ )
+ projectSetup.consumer.setup(
+ androidPlugin = ANDROID_LIBRARY_PLUGIN,
+ dependencyOnProducerProject = true,
+ flavors = true,
+ buildTypeAnotherRelease = true,
+ baselineProfileBlock = """
+ dexLayoutOptimization = true
+ """.trimIndent()
+ )
+ arrayOf(
+ "printExperimentalPropertiesForVariantFreeRelease",
+ "printExperimentalPropertiesForVariantPaidRelease",
+ "printExperimentalPropertiesForVariantFreeAnotherRelease",
+ "printExperimentalPropertiesForVariantPaidAnotherRelease",
+ ).forEach {
+ projectSetup.consumer.gradleRunner.buildAndFailAndAssertThatOutput(it) {
+ contains(" Unable to set dex layout optimization property")
+ }
+ }
+ }
}
@RunWith(JUnit4::class)
@@ -1253,4 +1284,35 @@
assertThat(notFound).isEmpty()
}
}
+
+ @Test
+ fun testExperimentalPropertiesSet() {
+ projectSetup.producer.setupWithFreeAndPaidFlavors(
+ freeReleaseProfileLines = listOf(Fixtures.CLASS_1_METHOD_1, Fixtures.CLASS_1),
+ paidReleaseProfileLines = listOf(Fixtures.CLASS_2_METHOD_1, Fixtures.CLASS_2)
+ )
+ projectSetup.consumer.setup(
+ androidPlugin = ANDROID_LIBRARY_PLUGIN,
+ dependencyOnProducerProject = true,
+ flavors = true,
+ buildTypeAnotherRelease = true,
+ baselineProfileBlock = """
+ baselineProfileRulesRewrite = true
+ dexLayoutOptimization = true
+ """.trimIndent()
+ )
+
+ arrayOf(
+ "printExperimentalPropertiesForVariantFreeRelease",
+ "printExperimentalPropertiesForVariantPaidRelease",
+ "printExperimentalPropertiesForVariantFreeAnotherRelease",
+ "printExperimentalPropertiesForVariantPaidAnotherRelease",
+ ).forEach {
+ projectSetup.consumer.gradleRunner.buildAndAssertThatOutput(it) {
+ // These properties are ignored in agp 8.0
+ contains("android.experimental.art-profile-r8-rewriting=true")
+ contains("android.experimental.r8.dex-startup-optimization=true")
+ }
+ }
+ }
}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
index 737b39d..ceb4d5e 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
@@ -23,6 +23,9 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.test.rule.GrantPermissionRule
+import java.util.concurrent.TimeUnit
+import kotlin.test.assertFailsWith
+import kotlin.test.assertTrue
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.Assert.assertNotNull
@@ -33,9 +36,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
-import kotlin.test.assertFailsWith
-import kotlin.test.assertTrue
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ConfigurationErrorTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ConfigurationErrorTest.kt
index 7342c236..80df5f0 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ConfigurationErrorTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ConfigurationErrorTest.kt
@@ -18,13 +18,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlin.test.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
-import kotlin.test.assertNotNull
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoHelperTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoHelperTest.kt
index a919048..5e509d3 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoHelperTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoHelperTest.kt
@@ -23,15 +23,15 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertNotEquals
+import kotlin.test.assertTrue
import org.junit.After
import org.junit.Assume
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.test.assertEquals
-import kotlin.test.assertFalse
-import kotlin.test.assertNotEquals
-import kotlin.test.assertTrue
@LargeTest
@SdkSuppress(minSdkVersion = 23)
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
index 02231c1d..73a35d4 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
@@ -19,12 +19,12 @@
import android.os.Build
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import kotlin.test.assertTrue
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
-import kotlin.test.assertTrue
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/UserspaceTracingTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/UserspaceTracingTest.kt
index 73f5067..8b8bfb0 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/UserspaceTracingTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/UserspaceTracingTest.kt
@@ -19,6 +19,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
+import java.io.File
+import kotlin.test.assertNotNull
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
@@ -28,8 +30,6 @@
import perfetto.protos.TracePacket
import perfetto.protos.TrackDescriptor
import perfetto.protos.TrackEvent
-import java.io.File
-import kotlin.test.assertNotNull
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt
index 9b2eac8..8ab7d68 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/WarmupManagerTest.kt
@@ -18,11 +18,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/AtraceTagTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/AtraceTagTest.kt
index c5f13d6..749c4f5 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/AtraceTagTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/AtraceTagTest.kt
@@ -20,12 +20,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
-import org.junit.Assume
-import org.junit.Test
-import org.junit.runner.RunWith
import kotlin.test.assertContains
import kotlin.test.assertEquals
import kotlin.test.assertNotEquals
+import org.junit.Assume
+import org.junit.Test
+import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
@SdkSuppress(minSdkVersion = 21)
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/PerfettoConfigTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/PerfettoConfigTest.kt
index f1815b3..7aac3c7 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/PerfettoConfigTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/PerfettoConfigTest.kt
@@ -20,16 +20,16 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlin.test.assertFalse
+import kotlin.test.assertNotNull
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import perfetto.protos.DataSourceConfig
import perfetto.protos.FtraceConfig
import perfetto.protos.TraceConfig
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
-import kotlin.test.assertFalse
-import kotlin.test.assertNotNull
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/UiStateTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/UiStateTest.kt
index 101ea48..9bf3860 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/UiStateTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/perfetto/UiStateTest.kt
@@ -19,6 +19,8 @@
import androidx.benchmark.createTempFileFromAsset
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.io.File
+import kotlin.test.assertEquals
import okio.ByteString
import org.junit.Assert.assertTrue
import org.junit.Test
@@ -26,8 +28,6 @@
import perfetto.protos.Trace
import perfetto.protos.TracePacket
import perfetto.protos.UiState
-import java.io.File
-import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoConfig.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoConfig.kt
index 2ea9b46..bb09ace 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoConfig.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoConfig.kt
@@ -21,8 +21,8 @@
import androidx.annotation.RestrictTo
import androidx.benchmark.Shell
import java.io.File
-import perfetto.protos.DataSourceConfig
import perfetto.protos.AndroidPowerConfig
+import perfetto.protos.DataSourceConfig
import perfetto.protos.FtraceConfig
import perfetto.protos.MeminfoCounters
import perfetto.protos.ProcessStatsConfig
diff --git a/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt
index 9b4f1f3..3c34893 100644
--- a/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt
+++ b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleTest.kt
@@ -18,11 +18,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import java.util.concurrent.TimeUnit
import org.junit.Assert
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt
index 752f230..db192f8 100644
--- a/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt
+++ b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/InstrumentationResultsRunListener.kt
@@ -20,8 +20,8 @@
import androidx.annotation.RestrictTo
import androidx.benchmark.InstrumentationResults
import androidx.test.internal.runner.listener.InstrumentationRunListener
-import org.junit.runner.Result
import java.io.PrintStream
+import org.junit.runner.Result
/**
* Used to register files to copy at the end of the entire test run in CI.
diff --git a/benchmark/benchmark-macro/lint-baseline.xml b/benchmark/benchmark-macro/lint-baseline.xml
index fb8dd8f..9433540 100644
--- a/benchmark/benchmark-macro/lint-baseline.xml
+++ b/benchmark/benchmark-macro/lint-baseline.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 8.1.0-alpha11" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-alpha11)" variant="all" version="8.1.0-alpha11">
+<issues format="6" by="lint 8.1.0-beta01" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.0-beta01)" variant="all" version="8.1.0-beta01">
<issue
id="BanThreadSleep"
@@ -22,15 +22,6 @@
<issue
id="BanThreadSleep"
message="Uses Thread.sleep()"
- errorLine1=" Thread.sleep(Arguments.killProcessDelayMillis)"
- errorLine2=" ~~~~~">
- <location
- file="src/main/java/androidx/benchmark/macro/BaselineProfiles.kt"/>
- </issue>
-
- <issue
- id="BanThreadSleep"
- message="Uses Thread.sleep()"
errorLine1=" Thread.sleep(5000)"
errorLine2=" ~~~~~">
<location
@@ -118,4 +109,13 @@
file="src/main/java/androidx/benchmark/macro/ProfileInstallBroadcast.kt"/>
</issue>
+ <issue
+ id="PrereleaseSdkCoreDependency"
+ message="Prelease SDK check isAtLeastU cannot be called as this project has a versioned dependency on androidx.core:core"
+ errorLine1=" if (BuildCompat.isAtLeastU() || Shell.isSessionRooted()) {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="src/main/java/androidx/benchmark/macro/CompilationMode.kt"/>
+ </issue>
+
</issues>
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/FileLinkingRule.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/FileLinkingRule.kt
index 8ce14941..e3560f6 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/FileLinkingRule.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/FileLinkingRule.kt
@@ -21,11 +21,11 @@
import androidx.benchmark.Outputs
import androidx.benchmark.perfetto.UiState
import androidx.benchmark.perfetto.appendUiState
+import java.io.File
import org.junit.rules.RuleChain
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
-import java.io.File
/**
* Rule to enable linking files and traces to Studio UI for macrobench correctness tests.
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt
index a150eee..1a07546 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/IdeSummaryStringTest.kt
@@ -21,11 +21,11 @@
import androidx.benchmark.Outputs
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.io.File
+import kotlin.test.assertFailsWith
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.File
-import kotlin.test.assertFailsWith
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt
index de94880..337128e 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkTest.kt
@@ -24,14 +24,14 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.tracing.trace
-import org.junit.Assume.assumeTrue
-import org.junit.Test
-import org.junit.runner.RunWith
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertTrue
import org.junit.Assume.assumeFalse
+import org.junit.Assume.assumeTrue
import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerRailTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerRailTest.kt
index 5cf3d0a..0d729e3 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerRailTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerRailTest.kt
@@ -23,7 +23,6 @@
import kotlin.test.assertFalse
import kotlin.test.assertTrue
import org.junit.Assume.assumeTrue
-
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
index c9c8608..e56cb23 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
@@ -22,10 +22,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import kotlin.test.assertFailsWith
import org.junit.Assume.assumeTrue
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.test.assertFailsWith
/**
* Tests for PerfettoCapture
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoSdkHandshakeTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoSdkHandshakeTest.kt
index ac15ffe..5251a9c 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoSdkHandshakeTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoSdkHandshakeTest.kt
@@ -31,10 +31,10 @@
import androidx.tracing.perfetto.PerfettoHandshake
import androidx.tracing.perfetto.PerfettoHandshake.ExternalLibraryProvider
import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_ALREADY_ENABLED
-import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_ERROR_BINARY_MISSING
-import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_SUCCESS
import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_CANCELLED
+import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_ERROR_BINARY_MISSING
import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_ERROR_OTHER
+import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_SUCCESS
import com.google.common.truth.Truth.assertThat
import java.io.File
import java.io.StringReader
diff --git a/benchmark/benchmark/src/androidTest/java/androidx/benchmark/benchmark/SynchronizedBenchmark.kt b/benchmark/benchmark/src/androidTest/java/androidx/benchmark/benchmark/SynchronizedBenchmark.kt
index a890b12..0a84a30 100644
--- a/benchmark/benchmark/src/androidTest/java/androidx/benchmark/benchmark/SynchronizedBenchmark.kt
+++ b/benchmark/benchmark/src/androidTest/java/androidx/benchmark/benchmark/SynchronizedBenchmark.kt
@@ -20,10 +20,10 @@
import androidx.benchmark.junit4.measureRepeated
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import java.util.concurrent.atomic.AtomicInteger
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.atomic.AtomicInteger
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/Adb.kt b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/Adb.kt
index 2c25293..e78a7a0 100644
--- a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/Adb.kt
+++ b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/Adb.kt
@@ -16,10 +16,10 @@
package androidx.benchmark.gradle
+import java.util.concurrent.TimeUnit
import org.gradle.api.GradleException
import org.gradle.api.logging.LogLevel
import org.gradle.api.logging.Logger
-import java.util.concurrent.TimeUnit
/**
* Helper class wrapping the adb cli tool.
diff --git a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt
index 5c02ad4..89f09cb 100644
--- a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt
+++ b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt
@@ -16,6 +16,9 @@
package androidx.benchmark.gradle
+import java.nio.file.Files
+import java.nio.file.Paths
+import java.nio.file.StandardCopyOption
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.provider.Property
@@ -23,9 +26,6 @@
import org.gradle.api.tasks.TaskAction
import org.gradle.kotlin.dsl.property
import org.gradle.work.DisableCachingByDefault
-import java.nio.file.Files
-import java.nio.file.Paths
-import java.nio.file.StandardCopyOption
@Suppress("UnstableApiUsage")
@DisableCachingByDefault(
diff --git a/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt b/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt
index 4decc0a..01f9af5 100644
--- a/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt
+++ b/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt
@@ -17,6 +17,10 @@
package androidx.benchmark.gradle
import androidx.testutils.gradle.ProjectSetupRule
+import java.io.File
+import kotlin.test.assertFailsWith
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
import org.gradle.testkit.runner.GradleRunner
import org.gradle.testkit.runner.UnexpectedBuildFailure
import org.junit.Before
@@ -24,10 +28,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.io.File
-import kotlin.test.assertFailsWith
-import kotlin.test.assertFalse
-import kotlin.test.assertTrue
private val PLUGINS_HEADER = """
plugins {
diff --git a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/BackgroundWorkActivity.kt b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/BackgroundWorkActivity.kt
index 9ccde18..64abbf4 100644
--- a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/BackgroundWorkActivity.kt
+++ b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/BackgroundWorkActivity.kt
@@ -23,12 +23,12 @@
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.tracing.trace
-import kotlin.concurrent.thread
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.OutOfQuotaPolicy
import androidx.work.WorkInfo
import androidx.work.WorkManager
import java.util.concurrent.CountDownLatch
+import kotlin.concurrent.thread
class BackgroundWorkActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
diff --git a/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/SingleColorPowerBenchmark.kt b/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/SingleColorPowerBenchmark.kt
index 70de30b..daff320 100644
--- a/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/SingleColorPowerBenchmark.kt
+++ b/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/SingleColorPowerBenchmark.kt
@@ -16,9 +16,9 @@
package androidx.benchmark.integration.macrobenchmark
-import android.os.Bundle
import android.content.Intent
import android.graphics.Color
+import android.os.Bundle
import androidx.benchmark.macro.BatteryCharge
import androidx.benchmark.macro.CompilationMode
import androidx.benchmark.macro.ExperimentalMetricApi
diff --git a/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/TrivialPowerBenchmark.kt b/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/TrivialPowerBenchmark.kt
index 8917e0e..abd49e50 100644
--- a/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/TrivialPowerBenchmark.kt
+++ b/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/TrivialPowerBenchmark.kt
@@ -18,10 +18,10 @@
import android.content.Intent
import androidx.benchmark.macro.BatteryCharge
-import androidx.benchmark.macro.PowerCategory
-import androidx.benchmark.macro.PowerCategoryDisplayLevel
import androidx.benchmark.macro.CompilationMode
import androidx.benchmark.macro.ExperimentalMetricApi
+import androidx.benchmark.macro.PowerCategory
+import androidx.benchmark.macro.PowerCategoryDisplayLevel
import androidx.benchmark.macro.PowerMetric
import androidx.benchmark.macro.PowerRail
import androidx.benchmark.macro.StartupMode
diff --git a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricAuthExtensions.kt b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricAuthExtensions.kt
index a940f035..df6709e 100755
--- a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricAuthExtensions.kt
+++ b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricAuthExtensions.kt
@@ -18,8 +18,8 @@
import androidx.biometric.BiometricPrompt.AuthenticationResult
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.Executor
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Shows an authentication prompt to the user.
diff --git a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricOrCredentialAuthExtensions.kt b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricOrCredentialAuthExtensions.kt
index a41bf5d..39a9372 100755
--- a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricOrCredentialAuthExtensions.kt
+++ b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class2BiometricOrCredentialAuthExtensions.kt
@@ -18,8 +18,8 @@
import androidx.biometric.BiometricPrompt.AuthenticationResult
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.Executor
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Shows an authentication prompt to the user.
diff --git a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricAuthExtensions.kt b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricAuthExtensions.kt
index f5d0ee3..5808509 100755
--- a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricAuthExtensions.kt
+++ b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricAuthExtensions.kt
@@ -19,8 +19,8 @@
import androidx.biometric.BiometricPrompt.CryptoObject
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.Executor
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Shows an authentication prompt to the user.
diff --git a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricOrCredentialAuthExtensions.kt b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricOrCredentialAuthExtensions.kt
index e26acf4..3da017d 100755
--- a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricOrCredentialAuthExtensions.kt
+++ b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/Class3BiometricOrCredentialAuthExtensions.kt
@@ -21,8 +21,8 @@
import androidx.biometric.BiometricPrompt.CryptoObject
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.Executor
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Shows an authentication prompt to the user.
diff --git a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CoroutineAuthPromptCallback.kt b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CoroutineAuthPromptCallback.kt
index fb6de45..f07c3ef 100644
--- a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CoroutineAuthPromptCallback.kt
+++ b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CoroutineAuthPromptCallback.kt
@@ -18,8 +18,8 @@
import androidx.biometric.BiometricPrompt.AuthenticationResult
import androidx.fragment.app.FragmentActivity
-import kotlinx.coroutines.CancellableContinuation
import kotlin.coroutines.resumeWithException
+import kotlinx.coroutines.CancellableContinuation
/**
* Implementation of [AuthPromptCallback] used to transform callback results for coroutine APIs.
diff --git a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CredentialAuthExtensions.kt b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CredentialAuthExtensions.kt
index fe98720..d37eb21 100755
--- a/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CredentialAuthExtensions.kt
+++ b/biometric/biometric-ktx/src/main/java/androidx/biometric/auth/CredentialAuthExtensions.kt
@@ -21,8 +21,8 @@
import androidx.biometric.BiometricPrompt.AuthenticationResult
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.Executor
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Shows an authentication prompt to the user.
diff --git a/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/AuthPromptTestActivity.kt b/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/AuthPromptTestActivity.kt
index 0e92e2a..ef20273 100755
--- a/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/AuthPromptTestActivity.kt
+++ b/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/AuthPromptTestActivity.kt
@@ -24,9 +24,9 @@
import androidx.biometric.BiometricPrompt
import androidx.biometric.auth.AuthPrompt
import androidx.biometric.auth.AuthPromptCallback
+import androidx.biometric.auth.authenticateWithClass3Biometrics
import androidx.biometric.auth.startClass2BiometricAuthentication
import androidx.biometric.auth.startClass2BiometricOrCredentialAuthentication
-import androidx.biometric.auth.authenticateWithClass3Biometrics
import androidx.biometric.auth.startClass3BiometricOrCredentialAuthentication
import androidx.biometric.auth.startCredentialAuthentication
import androidx.biometric.integration.testapp.R.string.biometric_prompt_description
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothGattServiceTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothGattServiceTest.kt
index 0ac236b..eb01e73 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothGattServiceTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothGattServiceTest.kt
@@ -16,8 +16,8 @@
package androidx.bluetooth
-import android.bluetooth.BluetoothGattService as FwkBluetoothGattService
import android.bluetooth.BluetoothGattCharacteristic as FwkBluetoothGattCharacteristic
+import android.bluetooth.BluetoothGattService as FwkBluetoothGattService
import android.bluetooth.BluetoothGattService.SERVICE_TYPE_PRIMARY
import java.util.UUID
import org.junit.Assert.assertEquals
diff --git a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/advertiser/AdvertiserFragment.kt b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/advertiser/AdvertiserFragment.kt
index e5f71ad..e22e999 100644
--- a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/advertiser/AdvertiserFragment.kt
+++ b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/advertiser/AdvertiserFragment.kt
@@ -23,7 +23,6 @@
import android.view.View
import android.view.ViewGroup
import android.widget.EditText
-
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.PopupMenu
import androidx.bluetooth.AdvertiseResult
@@ -36,14 +35,12 @@
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
-
+import java.util.UUID
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
-import java.util.UUID
-
class AdvertiserFragment : Fragment() {
private companion object {
diff --git a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/common/ScanResultAdapter.kt b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/common/ScanResultAdapter.kt
index ed937a5..0762fa9 100644
--- a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/common/ScanResultAdapter.kt
+++ b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/common/ScanResultAdapter.kt
@@ -21,7 +21,6 @@
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
-
import androidx.bluetooth.integration.testapp.R
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
diff --git a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerAdapter.kt b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerAdapter.kt
index 7641f8a..9cf5027 100644
--- a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerAdapter.kt
+++ b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerAdapter.kt
@@ -23,7 +23,6 @@
import android.view.ViewGroup
import android.widget.Button
import android.widget.TextView
-
import androidx.bluetooth.integration.testapp.R
import androidx.core.view.isVisible
import androidx.recyclerview.widget.DiffUtil
diff --git a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerFragment.kt b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerFragment.kt
index ca0309d..5bfc8f0 100644
--- a/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerFragment.kt
+++ b/bluetooth/integration-tests/testapp/src/main/java/androidx/bluetooth/integration/testapp/ui/scanner/ScannerFragment.kt
@@ -16,6 +16,9 @@
package androidx.bluetooth.integration.testapp.ui.scanner
+// TODO(ofy) Migrate from androidx.bluetooth.integration.testapp.experimental.BluetoothLe
+// to androidx.bluetooth.BluetoothLe once scan API is in place
+import android.annotation.SuppressLint
import android.bluetooth.le.ScanResult
import android.bluetooth.le.ScanSettings
import android.os.Bundle
@@ -24,11 +27,8 @@
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
-
import androidx.bluetooth.integration.testapp.R
import androidx.bluetooth.integration.testapp.databinding.FragmentScannerBinding
-import android.annotation.SuppressLint
-// TODO(ofy) Migrate to androidx.bluetooth.BluetoothLe once scan API is in place
import androidx.bluetooth.integration.testapp.experimental.BluetoothLe
import androidx.bluetooth.integration.testapp.ui.common.getColor
import androidx.core.view.isVisible
@@ -36,15 +36,13 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
-
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayout.Tab
-
+import java.lang.Exception
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
-import java.lang.Exception
class ScannerFragment : Fragment() {
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt
index 54ccdca..c628d7f 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt
@@ -16,11 +16,11 @@
package androidx.build
+import javax.inject.Inject
+import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
-import org.gradle.api.Project
-import javax.inject.Inject
open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor(
project: Project
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
index a8dcae9..bb7940d 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
@@ -35,6 +35,8 @@
import androidx.build.resources.configurePublicResourcesStub
import androidx.build.sbom.validateAllArchiveInputsRecognized
import androidx.build.studio.StudioTask
+import androidx.build.testConfiguration.ModuleInfoGenerator
+import androidx.build.testConfiguration.TestModule
import androidx.build.testConfiguration.addAppApkToTestConfigGeneration
import androidx.build.testConfiguration.configureTestConfigGeneration
import com.android.build.api.artifact.SingleArtifact
@@ -227,7 +229,19 @@
task.inputs.property("ignoreFailures", ignoreFailures)
val xmlReportDestDir = project.getHostTestResultDirectory()
- val archiveName = "${project.path}:${task.name}.zip"
+ val testName = "${project.path}:${task.name}"
+ project.rootProject.tasks.named("createModuleInfo").configure {
+ it as ModuleInfoGenerator
+ it.testModules.add(
+ TestModule(
+ name = testName,
+ path = listOf(
+ project.projectDir.toRelativeString(project.getSupportRootFolder())
+ )
+ )
+ )
+ }
+ val archiveName = "$testName.zip"
if (project.isDisplayTestOutput()) {
// Enable tracing to see results in command line
task.testLogging.apply {
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
index f6c6252..db8882a 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
@@ -24,8 +24,8 @@
import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
-import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetPreset
+import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTests
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
@@ -90,7 +90,7 @@
fun desktop(
block: Action<KotlinJvmTarget>? = null
): KotlinJvmTarget? {
- return if (project.enableJvm()) {
+ return if (project.enableDesktop()) {
kotlinExtension.jvm("desktop") {
block?.execute(this)
}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXPlaygroundRootImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXPlaygroundRootImplPlugin.kt
index 96d19f7..c2c4d54 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXPlaygroundRootImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXPlaygroundRootImplPlugin.kt
@@ -18,12 +18,12 @@
import androidx.build.gradle.isRoot
import groovy.xml.DOMBuilder
+import java.net.URI
+import java.net.URL
import org.gradle.api.GradleException
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.RepositoryHandler
-import java.net.URI
-import java.net.URL
/**
* This plugin is used in Playground projects and adds functionality like resolving to snapshot
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/BuildOnServerTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/BuildOnServerTask.kt
index 006a4fc..5af1390 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/BuildOnServerTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/BuildOnServerTask.kt
@@ -16,15 +16,15 @@
package androidx.build
+import java.io.File
+import java.io.FileNotFoundException
import org.gradle.api.DefaultTask
+import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import java.io.File
-import java.io.FileNotFoundException
-import org.gradle.api.tasks.CacheableTask
/**
* Task for building all of Androidx libraries and documentation
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/InspectionRelease.kt b/buildSrc/private/src/main/kotlin/androidx/build/InspectionRelease.kt
index dc38caa..0db92e6 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/InspectionRelease.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/InspectionRelease.kt
@@ -19,10 +19,10 @@
import androidx.inspection.gradle.InspectionPlugin
import androidx.inspection.gradle.createConsumeInspectionConfiguration
import androidx.inspection.gradle.createConsumeNonDexedInspectionConfiguration
+import java.io.File
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.tasks.Sync
-import java.io.File
/**
* Copies artifacts prepared by InspectionPlugin into $destDir/inspection
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt b/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt
index 7ce68bb..d1319ad 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt
@@ -79,8 +79,6 @@
}
private val DisabledRules = listOf(
- // does not match IJ default ordering
- "import-ordering",
// not useful for our projects
"final-newline",
// TODO: reenable when https://github.com/pinterest/ktlint/issues/1221 is resolved
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt b/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt
index e2d0e2a..6d9ff9c 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt
@@ -21,7 +21,6 @@
import com.google.gson.GsonBuilder
import com.google.gson.JsonObject
import com.google.gson.stream.JsonWriter
-import org.gradle.api.artifacts.Configuration
import groovy.util.Node
import java.io.File
import java.io.StringReader
@@ -37,6 +36,7 @@
import org.gradle.api.GradleException
import org.gradle.api.Project
import org.gradle.api.XmlProvider
+import org.gradle.api.artifacts.Configuration
import org.gradle.api.component.ComponentWithVariants
import org.gradle.api.component.SoftwareComponent
import org.gradle.api.component.SoftwareComponentFactory
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt b/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt
index 8dcfd8d..5c6a88c 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt
@@ -15,12 +15,12 @@
*/
package androidx.build
-import org.gradle.api.Project
-import org.gradle.api.Task
-import org.gradle.api.tasks.TaskProvider
import java.util.Collections
import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock
+import org.gradle.api.Project
+import org.gradle.api.Task
+import org.gradle.api.tasks.TaskProvider
/**
* Holder class used for lazily registering tasks using the new Lazy task execution API.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/ProjectParser.kt b/buildSrc/private/src/main/kotlin/androidx/build/ProjectParser.kt
index f12cbd1..9bf82ea 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/ProjectParser.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/ProjectParser.kt
@@ -16,13 +16,12 @@
package androidx.build
+import java.io.File
import java.util.concurrent.ConcurrentHashMap
import org.gradle.api.Project
import org.gradle.api.services.BuildService
import org.gradle.api.services.BuildServiceParameters
-import java.io.File
-
abstract class ProjectParser : BuildService<BuildServiceParameters.None> {
@Transient
val cache: MutableMap<File, ParsedProject> = ConcurrentHashMap()
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/Release.kt b/buildSrc/private/src/main/kotlin/androidx/build/Release.kt
index ea56dcb..d6e9baf 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/Release.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/Release.kt
@@ -17,6 +17,9 @@
import androidx.build.uptodatedness.cacheEvenIfNoOutputs
import com.android.build.gradle.LibraryExtension
+import java.io.File
+import java.io.FileNotFoundException
+import java.util.Locale
import org.gradle.api.Action
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
@@ -30,9 +33,6 @@
import org.gradle.api.tasks.bundling.Zip
import org.gradle.plugin.devel.GradlePluginDevelopmentExtension
import org.gradle.work.DisableCachingByDefault
-import java.io.File
-import java.io.FileNotFoundException
-import java.util.Locale
/**
* Simple description for an artifact that is released from this project.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/SourceJarTaskHelper.kt b/buildSrc/private/src/main/kotlin/androidx/build/SourceJarTaskHelper.kt
index 35ea471..45894a5 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/SourceJarTaskHelper.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/SourceJarTaskHelper.kt
@@ -17,9 +17,13 @@
package androidx.build
import androidx.build.dokka.kmpDocs.DokkaAnalysisPlatform
+import androidx.build.dokka.kmpDocs.docsPlatform
import com.android.build.gradle.LibraryExtension
import com.google.gson.GsonBuilder
import java.io.File
+import java.util.Locale
+import org.gradle.api.DefaultTask
+import org.gradle.api.GradleException
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.attributes.Bundling
@@ -29,22 +33,18 @@
import org.gradle.api.component.AdhocComponentWithVariants
import org.gradle.api.file.DuplicatesStrategy
import org.gradle.api.plugins.JavaPluginExtension
+import org.gradle.api.tasks.CacheableTask
+import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.OutputFile
+import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.bundling.Jar
import org.gradle.kotlin.dsl.extra
import org.gradle.kotlin.dsl.named
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
-import java.util.Locale
-import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.MAIN_COMPILATION_NAME
-import androidx.build.dokka.kmpDocs.docsPlatform
-import org.gradle.api.DefaultTask
-import org.gradle.api.GradleException
-import org.gradle.api.tasks.CacheableTask
-import org.gradle.api.tasks.Input
-import org.gradle.api.tasks.OutputFile
-import org.gradle.api.tasks.TaskAction
+import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
/**
* Sets up a source jar task for an Android library project.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt
index 3cb172a..fcbd5cb 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt
@@ -24,11 +24,11 @@
import org.gradle.api.artifacts.Dependency
import org.gradle.api.provider.Property
import org.gradle.api.provider.SetProperty
+import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.TaskProvider
import org.gradle.kotlin.dsl.setProperty
-import org.gradle.api.tasks.CacheableTask
/**
* Task for verifying the androidx dependency-stability-suffix rule
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/VerifyVersionFilesTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/VerifyVersionFilesTask.kt
index 14eacb9..da12c90 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/VerifyVersionFilesTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/VerifyVersionFilesTask.kt
@@ -16,16 +16,16 @@
package androidx.build
-import org.gradle.api.DefaultTask
-import org.gradle.api.tasks.InputDirectory
-import org.gradle.api.tasks.PathSensitive
-import org.gradle.api.tasks.PathSensitivity
-import org.gradle.api.tasks.TaskAction
import java.io.File
import java.io.FileInputStream
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream
+import org.gradle.api.DefaultTask
import org.gradle.api.tasks.CacheableTask
+import org.gradle.api.tasks.InputDirectory
+import org.gradle.api.tasks.PathSensitive
+import org.gradle.api.tasks.PathSensitivity
+import org.gradle.api.tasks.TaskAction
/**
* Task for verifying version files in Androidx artifacts
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/VersionFileWriterTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/VersionFileWriterTask.kt
index 328350a..ba29911 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/VersionFileWriterTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/VersionFileWriterTask.kt
@@ -17,6 +17,8 @@
package androidx.build
import com.android.build.gradle.LibraryExtension
+import java.io.File
+import java.io.PrintWriter
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.DirectoryProperty
@@ -25,8 +27,6 @@
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction
import org.gradle.work.DisableCachingByDefault
-import java.io.File
-import java.io.PrintWriter
/**
* Task that allows to write a version to a given output file.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/checkapi/ApiLocation.kt b/buildSrc/private/src/main/kotlin/androidx/build/checkapi/ApiLocation.kt
index 0f22c64..535e820 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/checkapi/ApiLocation.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/checkapi/ApiLocation.kt
@@ -16,12 +16,11 @@
package androidx.build.checkapi
-import java.io.File
-
import androidx.build.Version
import androidx.build.version
-import org.gradle.api.Project
+import java.io.File
import java.io.Serializable
+import org.gradle.api.Project
/**
* Contains information about the files used to record a library's API surfaces. This class may
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt b/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt
index 9fec2fd..fdec904 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt
@@ -19,12 +19,12 @@
import androidx.build.Version
import androidx.build.checkapi.ApiLocation.Companion.isResourceApiFilename
import androidx.build.version
-import org.gradle.api.GradleException
-import org.gradle.api.Project
import java.io.File
import java.nio.file.Files
import java.nio.file.Path
import kotlin.io.path.name
+import org.gradle.api.GradleException
+import org.gradle.api.Project
enum class ApiType {
CLASSAPI,
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/BuildPropParser.kt b/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/BuildPropParser.kt
index 5bd14ff1..f851099 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/BuildPropParser.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/BuildPropParser.kt
@@ -16,8 +16,8 @@
package androidx.build.dependencyTracker
-import org.gradle.api.logging.Logger
import java.io.File
+import org.gradle.api.logging.Logger
/**
* Utility class that can parse build.prop files and extract the sha's for frameworks/support.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt b/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt
index 6bc5a7c..6bd3a1c 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt
@@ -16,14 +16,13 @@
package androidx.build.dependencyTracker
+import java.io.File
+import java.io.Serializable
import org.gradle.api.logging.LogLevel
import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger
import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext
import org.gradle.internal.time.Clock
-import java.io.File
-import java.io.Serializable
-
/**
* Gradle logger that logs to a file
*/
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/ProjectGraph.kt b/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/ProjectGraph.kt
index bdb408c..8472eeb 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/ProjectGraph.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/dependencyTracker/ProjectGraph.kt
@@ -17,10 +17,9 @@
package androidx.build.dependencyTracker
import androidx.build.getSupportRootFolder
-import org.gradle.api.Project
import java.io.File
-
import java.io.Serializable
+import org.gradle.api.Project
import org.gradle.api.logging.Logger
/**
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXDocsImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXDocsImplPlugin.kt
index 25452de..21b7fdd 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXDocsImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXDocsImplPlugin.kt
@@ -18,7 +18,6 @@
import androidx.build.PROJECT_STRUCTURE_METADATA_FILENAME
import androidx.build.SupportConfig
-import androidx.build.multiplatformUsage
import androidx.build.dackka.DackkaTask
import androidx.build.dackka.GenerateMetadataTask
import androidx.build.dependencies.KOTLIN_VERSION
@@ -29,6 +28,7 @@
import androidx.build.getDistributionDirectory
import androidx.build.getKeystore
import androidx.build.getLibraryByName
+import androidx.build.multiplatformUsage
import com.android.build.api.attributes.BuildTypeAttr
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.LibraryPlugin
@@ -61,10 +61,10 @@
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Classpath
-import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.InputFiles
-import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.Internal
+import org.gradle.api.tasks.OutputDirectory
+import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.Sync
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitClient.kt b/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitClient.kt
index 4cdaa21..9b1ecee 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitClient.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitClient.kt
@@ -21,8 +21,8 @@
import java.io.File
import org.gradle.api.GradleException
import org.gradle.api.Project
-import org.gradle.api.provider.Provider
import org.gradle.api.logging.Logger
+import org.gradle.api.provider.Provider
interface GitClient {
fun findChangedFilesSince(
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitRunnerGitClient.kt b/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitRunnerGitClient.kt
index 2be38e2..2057187 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitRunnerGitClient.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/gitclient/GitRunnerGitClient.kt
@@ -16,9 +16,9 @@
package androidx.build.gitclient
-import org.gradle.api.logging.Logger
import java.io.File
import java.util.concurrent.TimeUnit
+import org.gradle.api.logging.Logger
/**
* A simple git client that uses system process commands to communicate with the git setup in the
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiCompatibilityTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiCompatibilityTask.kt
index c176f11..15b77b7 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiCompatibilityTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiCompatibilityTask.kt
@@ -18,6 +18,9 @@
import androidx.build.OperatingSystem
import androidx.build.getOperatingSystem
+import java.io.ByteArrayOutputStream
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
@@ -34,9 +37,6 @@
import org.gradle.workers.WorkParameters
import org.gradle.workers.WorkerExecutionException
import org.gradle.workers.WorkerExecutor
-import java.io.ByteArrayOutputStream
-import java.io.File
-import javax.inject.Inject
/**
* Task which depends on [GenerateNativeApiTask] and compares the current native API from the build
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiEquivalenceTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiEquivalenceTask.kt
index 6ca2b8d..d6e5964 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiEquivalenceTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/CheckNativeApiEquivalenceTask.kt
@@ -17,6 +17,7 @@
package androidx.build.libabigail
import androidx.build.metalava.checkEqual
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
@@ -27,7 +28,6 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.work.DisableCachingByDefault
-import java.io.File
/**
* Checks that the native API files in the build folder are exactly the same as the checked in
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/GenerateNativeApiTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/GenerateNativeApiTask.kt
index 41194e3..ad4c23f 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/GenerateNativeApiTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/GenerateNativeApiTask.kt
@@ -18,6 +18,8 @@
import androidx.build.OperatingSystem
import androidx.build.getOperatingSystem
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.provider.ListProperty
@@ -33,8 +35,6 @@
import org.gradle.workers.WorkAction
import org.gradle.workers.WorkParameters
import org.gradle.workers.WorkerExecutor
-import java.io.File
-import javax.inject.Inject
private const val ARCH_PREFIX = "android."
internal val architectures = listOf("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/NativeApiTasks.kt b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/NativeApiTasks.kt
index 43f03ba..9101dc7 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/NativeApiTasks.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/NativeApiTasks.kt
@@ -21,8 +21,8 @@
import androidx.build.checkapi.getRequiredCompatibilityApiLocation
import androidx.build.uptodatedness.cacheEvenIfNoOutputs
import com.android.build.gradle.LibraryExtension
-import org.gradle.api.Project
import java.io.File
+import org.gradle.api.Project
/**
* Adds native API generation / updating / checking tasks to a project.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/UpdateNativeApi.kt b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/UpdateNativeApi.kt
index 4e46a2d..b430e48 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/UpdateNativeApi.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/UpdateNativeApi.kt
@@ -18,6 +18,7 @@
import androidx.build.OperatingSystem
import androidx.build.getOperatingSystem
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
@@ -28,7 +29,6 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.work.DisableCachingByDefault
-import java.io.File
/**
* Task which depends on `[GenerateNativeApiTask] and takes the generated native API files from the
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiCompatibilityTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiCompatibilityTask.kt
index c376ead..0b4c852 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiCompatibilityTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiCompatibilityTask.kt
@@ -20,6 +20,8 @@
import androidx.build.checkapi.ApiLocation
import androidx.build.logging.TERMINAL_RED
import androidx.build.logging.TERMINAL_RESET
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.InputFiles
@@ -28,8 +30,6 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.workers.WorkerExecutor
-import java.io.File
-import javax.inject.Inject
/**
* This task validates that the API described in one signature txt file is compatible with the API
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiEquivalenceTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiEquivalenceTask.kt
index d827a8d..58b826c 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiEquivalenceTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/CheckApiEquivalenceTask.kt
@@ -17,6 +17,8 @@
package androidx.build.metalava
import androidx.build.checkapi.ApiLocation
+import java.io.File
+import java.util.concurrent.TimeUnit
import org.apache.commons.io.FileUtils
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
@@ -28,8 +30,6 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.work.DisableCachingByDefault
-import java.io.File
-import java.util.concurrent.TimeUnit
/** Compares two API txt files against each other. */
@DisableCachingByDefault(because = "Doesn't benefit from caching")
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiStubClassesTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiStubClassesTask.kt
index 659d191..0c68fc9 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiStubClassesTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiStubClassesTask.kt
@@ -16,13 +16,13 @@
package androidx.build.metalava
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction
import org.gradle.workers.WorkerExecutor
-import java.io.File
-import javax.inject.Inject
@CacheableTask
abstract class GenerateApiStubClassesTask @Inject constructor(
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiTask.kt
index f087b00..1a1ccea 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiTask.kt
@@ -19,6 +19,8 @@
import androidx.build.checkapi.ApiBaselinesLocation
import androidx.build.checkapi.ApiLocation
import androidx.build.java.JavaCompileInputs
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
@@ -30,8 +32,6 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.workers.WorkerExecutor
-import java.io.File
-import javax.inject.Inject
/** Generate an API signature text file from a set of source files. */
@CacheableTask
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/MetalavaTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/MetalavaTask.kt
index 3b87d7e..0083bed 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/MetalavaTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/MetalavaTask.kt
@@ -16,12 +16,15 @@
package androidx.build.metalava
+import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.file.ConfigurableFileCollection
import org.gradle.api.file.FileCollection
import org.gradle.api.file.RegularFileProperty
+import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Classpath
+import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
@@ -29,9 +32,6 @@
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.workers.WorkerExecutor
-import javax.inject.Inject
-import org.gradle.api.provider.Property
-import org.gradle.api.tasks.Input
/** Base class for invoking Metalava. */
@CacheableTask
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/RegenerateOldApisTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/RegenerateOldApisTask.kt
index 139541e..c802617 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/RegenerateOldApisTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/RegenerateOldApisTask.kt
@@ -23,6 +23,8 @@
import androidx.build.getAndroidJar
import androidx.build.getCheckoutRoot
import androidx.build.java.JavaCompileInputs
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.FileCollection
@@ -32,8 +34,6 @@
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.util.PatternFilterable
import org.gradle.workers.WorkerExecutor
-import java.io.File
-import javax.inject.Inject
/** Generate API signature text files using previously built .jar/.aar artifacts. */
@CacheableTask
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/UpdateBaselineTasks.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/UpdateBaselineTasks.kt
index 43dbc6e..59ad911 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/UpdateBaselineTasks.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/UpdateBaselineTasks.kt
@@ -18,6 +18,8 @@
import androidx.build.checkapi.ApiBaselinesLocation
import androidx.build.checkapi.ApiLocation
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.file.FileCollection
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
@@ -29,8 +31,6 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.workers.WorkerExecutor
-import java.io.File
-import javax.inject.Inject
@CacheableTask
abstract class UpdateApiLintBaselineTask @Inject constructor(
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/AndroidXPaparazziImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/AndroidXPaparazziImplPlugin.kt
index 8137fdd..892e691 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/AndroidXPaparazziImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/AndroidXPaparazziImplPlugin.kt
@@ -35,8 +35,8 @@
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.testing.Test
import org.gradle.kotlin.dsl.get
-import org.gradle.kotlin.dsl.the
import org.gradle.kotlin.dsl.register
+import org.gradle.kotlin.dsl.the
import org.gradle.kotlin.dsl.withType
import org.gradle.process.JavaForkOptions
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiReleaseTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiReleaseTask.kt
index 8091f1a..df32518 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiReleaseTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiReleaseTask.kt
@@ -17,6 +17,7 @@
package androidx.build.resources
import androidx.build.checkapi.ApiLocation
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.provider.Property
@@ -27,7 +28,6 @@
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import java.io.File
/**
* Task for verifying changes in the public Android resource surface, e.g. `public.xml`.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiTask.kt
index 7320d3b..2b2a1b0 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/resources/CheckResourceApiTask.kt
@@ -17,6 +17,7 @@
package androidx.build.resources
import androidx.build.checkapi.ApiLocation
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
@@ -24,10 +25,9 @@
import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
-import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
-import java.io.File
+import org.gradle.api.tasks.TaskAction
/**
* Task for detecting changes in the public Android resource surface, e.g. `public.xml`.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/resources/GenerateResourceApiTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/resources/GenerateResourceApiTask.kt
index dffa723..a94bc4c 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/resources/GenerateResourceApiTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/resources/GenerateResourceApiTask.kt
@@ -17,6 +17,7 @@
package androidx.build.resources
import androidx.build.checkapi.ApiLocation
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.file.RegularFileProperty
@@ -28,7 +29,6 @@
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import java.io.File
/**
* Generates a resource API file for consumption by other API tasks.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/resources/PublicResourcesStubHelper.kt b/buildSrc/private/src/main/kotlin/androidx/build/resources/PublicResourcesStubHelper.kt
index 528c6bb..baae1c5 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/resources/PublicResourcesStubHelper.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/resources/PublicResourcesStubHelper.kt
@@ -18,9 +18,9 @@
import androidx.build.getSupportRootFolder
import com.android.build.gradle.LibraryExtension
+import java.io.File
import org.gradle.api.Project
import org.gradle.api.tasks.Copy
-import java.io.File
fun Project.configurePublicResourcesStub(extension: LibraryExtension) {
val targetResFolder = File(project.buildDir, "generated/res/public-stub")
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/resources/ResourceTasks.kt b/buildSrc/private/src/main/kotlin/androidx/build/resources/ResourceTasks.kt
index 3e7187d..e889831 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/resources/ResourceTasks.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/resources/ResourceTasks.kt
@@ -23,8 +23,8 @@
import androidx.build.checkapi.getRequiredCompatibilityApiLocation
import androidx.build.metalava.UpdateApiTask
import androidx.build.uptodatedness.cacheEvenIfNoOutputs
-import org.gradle.api.Project
import java.util.Locale
+import org.gradle.api.Project
object ResourceTasks {
private const val GENERATE_RESOURCE_API_TASK = "generateResourceApi"
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/resources/UpdateResourceApiTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/resources/UpdateResourceApiTask.kt
index fa66eef..bec59cc0 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/resources/UpdateResourceApiTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/resources/UpdateResourceApiTask.kt
@@ -17,6 +17,7 @@
package androidx.build.resources
import androidx.build.checkapi.ApiLocation
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
@@ -28,7 +29,6 @@
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import java.io.File
/**
* Task for updating the public Android resource surface, e.g. `public.xml`.
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/studio/StudioPlatformUtilities.kt b/buildSrc/private/src/main/kotlin/androidx/build/studio/StudioPlatformUtilities.kt
index 61b3bf7..587f0a9 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/studio/StudioPlatformUtilities.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/studio/StudioPlatformUtilities.kt
@@ -16,9 +16,9 @@
package androidx.build.studio
-import org.gradle.process.ExecSpec
import java.io.File
import java.util.Locale
+import org.gradle.process.ExecSpec
/**
* Utility class containing helper functions and values that change between Linux and OSX
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/OwnersService.kt b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/OwnersService.kt
index e75e8a9..d49701d 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/OwnersService.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/OwnersService.kt
@@ -18,6 +18,7 @@
import androidx.build.getDistributionDirectory
import com.google.gson.GsonBuilder
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.RegularFileProperty
@@ -27,7 +28,6 @@
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.bundling.Zip
-import java.io.File
@CacheableTask
abstract class ModuleInfoGenerator : DefaultTask() {
@@ -52,7 +52,7 @@
}
/**
- * Register two tasks need to generate information for Android test owners service.
+ * Register two tasks needed to generate information for Android test owners service.
* One task zips all the OWNERS files in frameworks/support, and second task creates a
* module-info.json that links test modules to paths.
*/
@@ -62,6 +62,7 @@
task.destinationDirectory.set(getDistributionDirectory())
task.from(layout.projectDirectory)
task.include("**/OWNERS")
+ task.exclude("buildSrc/.gradle/**")
task.includeEmptyDirs = false
}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestSuiteConfiguration.kt b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestSuiteConfiguration.kt
index 152b49a..3d4d026 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestSuiteConfiguration.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestSuiteConfiguration.kt
@@ -39,12 +39,12 @@
import com.android.build.api.variant.TestAndroidComponentsExtension
import com.android.build.api.variant.Variant
import com.android.build.gradle.BaseExtension
-import java.io.File
-import org.gradle.api.Project
import com.android.build.gradle.TestExtension
import com.android.build.gradle.internal.attributes.VariantAttr
import com.android.build.gradle.internal.publishing.AndroidArtifacts
import com.android.build.gradle.internal.publishing.AndroidArtifacts.ArtifactType
+import java.io.File
+import org.gradle.api.Project
import org.gradle.api.attributes.Usage
import org.gradle.api.tasks.TaskProvider
import org.gradle.kotlin.dsl.getByType
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/BundleInsideHelper.kt b/buildSrc/public/src/main/kotlin/androidx/build/BundleInsideHelper.kt
index d67eaca..502f2b5 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/BundleInsideHelper.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/BundleInsideHelper.kt
@@ -17,12 +17,12 @@
package androidx.build
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+import java.io.File
import org.gradle.api.Project
+import org.gradle.api.Task
import org.gradle.api.artifacts.Configuration
import org.gradle.api.tasks.TaskProvider
import org.gradle.jvm.tasks.Jar
-import java.io.File
-import org.gradle.api.Task
import org.gradle.kotlin.dsl.findByType
import org.gradle.kotlin.dsl.get
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt b/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt
index 867ade5..c73ff70 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt
@@ -16,8 +16,8 @@
package androidx.build
-import org.gradle.api.GradleException
import java.util.Locale
+import org.gradle.api.GradleException
enum class OperatingSystem {
LINUX,
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/SingleFileCopy.kt b/buildSrc/public/src/main/kotlin/androidx/build/SingleFileCopy.kt
index 74d81b7..6064dd2 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/SingleFileCopy.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/SingleFileCopy.kt
@@ -17,16 +17,15 @@
package androidx.build
import com.google.common.io.Files
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.OutputFile
-import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
+import org.gradle.api.tasks.TaskAction
import org.gradle.work.DisableCachingByDefault
-import java.io.File
-
@DisableCachingByDefault(because = "Doesn't benefit from cache")
open class SingleFileCopy : DefaultTask() {
@InputFile @PathSensitive(PathSensitivity.ABSOLUTE)
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/SupportConfig.kt b/buildSrc/public/src/main/kotlin/androidx/build/SupportConfig.kt
index e0087b3..aa3cf1e 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/SupportConfig.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/SupportConfig.kt
@@ -17,9 +17,9 @@
package androidx.build
import androidx.build.SupportConfig.COMPILE_SDK_VERSION
+import java.io.File
import org.gradle.api.Project
import org.gradle.api.file.FileCollection
-import java.io.File
object SupportConfig {
const val DEFAULT_MIN_SDK_VERSION = 14
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/Version.kt b/buildSrc/public/src/main/kotlin/androidx/build/Version.kt
index d385d9b..fbee578 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/Version.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/Version.kt
@@ -16,11 +16,11 @@
package androidx.build
-import org.gradle.api.Project
import java.io.File
import java.util.Locale
import java.util.regex.Matcher
import java.util.regex.Pattern
+import org.gradle.api.Project
/**
* Utility class which represents a version
diff --git a/busytown/androidx_host_tests.sh b/busytown/androidx_host_tests.sh
index bba9e74..67d8d37 100755
--- a/busytown/androidx_host_tests.sh
+++ b/busytown/androidx_host_tests.sh
@@ -5,7 +5,7 @@
cd "$(dirname $0)"
-impl/build.sh test \
+impl/build.sh test zipOwnersFiles \
-Pandroidx.ignoreTestFailures \
-Pandroidx.displayTestOutput=false \
"$@"
diff --git a/busytown/androidx_host_tests_max_dep_versions.sh b/busytown/androidx_host_tests_max_dep_versions.sh
index ef49669..4442f42 100755
--- a/busytown/androidx_host_tests_max_dep_versions.sh
+++ b/busytown/androidx_host_tests_max_dep_versions.sh
@@ -5,7 +5,7 @@
cd "$(dirname $0)"
-impl/build.sh test \
+impl/build.sh test zipOwnersFiles \
-Pandroidx.useMaxDepVersions \
-Pandroidx.displayTestOutput=false \
-Pandroidx.ignoreTestFailures "$@"
diff --git a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/testing/VerifyResultListener.kt b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/testing/VerifyResultListener.kt
index 1c65179..f88ee43 100644
--- a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/testing/VerifyResultListener.kt
+++ b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/testing/VerifyResultListener.kt
@@ -22,11 +22,11 @@
import androidx.camera.camera2.pipe.FrameNumber
import androidx.camera.camera2.pipe.Request
import androidx.camera.camera2.pipe.RequestMetadata
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.TimeoutException
import kotlinx.atomicfu.atomic
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.withTimeout
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.TimeoutException
@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java
class VerifyResultListener(capturesCount: Int) : Request.Listener {
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SupportedSurfaceCombination.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SupportedSurfaceCombination.kt
index 516f8a5..a84d164 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SupportedSurfaceCombination.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SupportedSurfaceCombination.kt
@@ -28,8 +28,8 @@
import android.media.CamcorderProfile
import android.media.MediaRecorder
import android.os.Build
-import android.util.Rational
import android.util.Pair
+import android.util.Rational
import android.util.Size
import android.view.Display
import androidx.annotation.RequiresApi
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/Camera2CameraControlCompat.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/Camera2CameraControlCompat.kt
index 33adefc..4143198 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/Camera2CameraControlCompat.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/Camera2CameraControlCompat.kt
@@ -38,10 +38,10 @@
import androidx.camera.core.impl.annotation.ExecutedBy
import dagger.Binds
import dagger.Module
+import javax.inject.Inject
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.launch
-import javax.inject.Inject
private const val TAG_KEY = "Camera2CameraControl.tag"
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ConfigureSurfaceToSecondarySessionFailQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ConfigureSurfaceToSecondarySessionFailQuirk.kt
index 98507ce..969985f 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ConfigureSurfaceToSecondarySessionFailQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ConfigureSurfaceToSecondarySessionFailQuirk.kt
@@ -16,12 +16,12 @@
package androidx.camera.camera2.pipe.integration.compat.quirk
import android.annotation.SuppressLint
+import android.hardware.camera2.CameraCaptureSession
import android.hardware.camera2.CameraCharacteristics
import android.hardware.camera2.CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
import androidx.annotation.RequiresApi
import androidx.camera.camera2.pipe.CameraMetadata
import androidx.camera.core.impl.Quirk
-import android.hardware.camera2.CameraCaptureSession
/**
* A quirk to denote the surface can only be used to configure to only one
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CapturePipeline.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CapturePipeline.kt
index 9da5b32..d854d2b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CapturePipeline.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CapturePipeline.kt
@@ -47,9 +47,9 @@
import androidx.camera.camera2.pipe.RequestMetadata
import androidx.camera.camera2.pipe.Result3A
import androidx.camera.camera2.pipe.core.Log
+import androidx.camera.camera2.pipe.integration.compat.workaround.UseTorchAsFlash
import androidx.camera.camera2.pipe.integration.compat.workaround.isFlashAvailable
import androidx.camera.camera2.pipe.integration.compat.workaround.shouldStopRepeatingBeforeCapture
-import androidx.camera.camera2.pipe.integration.compat.workaround.UseTorchAsFlash
import androidx.camera.camera2.pipe.integration.config.UseCaseCameraScope
import androidx.camera.camera2.pipe.integration.config.UseCaseGraphConfig
import androidx.camera.core.ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/EvCompControl.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/EvCompControl.kt
index 2bba010..f53608f 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/EvCompControl.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/EvCompControl.kt
@@ -26,9 +26,9 @@
import dagger.Binds
import dagger.Module
import dagger.multibindings.IntoSet
+import javax.inject.Inject
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Deferred
-import javax.inject.Inject
private const val DEFAULT_EXPOSURE_COMPENSATION = 0
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseThreads.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseThreads.kt
index 3233279..e2c7c5f 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseThreads.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseThreads.kt
@@ -18,11 +18,11 @@
import androidx.annotation.RequiresApi
import androidx.camera.core.impl.utils.executor.CameraXExecutors
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.asCoroutineDispatcher
-import java.util.concurrent.Executor
/**
* Collection of threads and scope(s) that have been configured and tuned.
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/CapturePipelineTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/CapturePipelineTest.kt
index 28e3c559..236bd7d 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/CapturePipelineTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/CapturePipelineTest.kt
@@ -37,14 +37,14 @@
import androidx.camera.camera2.pipe.integration.adapter.CameraStateAdapter
import androidx.camera.camera2.pipe.integration.adapter.RobolectricCameraPipeTestRunner
import androidx.camera.camera2.pipe.integration.adapter.asListenableFuture
-import androidx.camera.camera2.pipe.integration.compat.workaround.CapturePipelineTorchCorrection
import androidx.camera.camera2.pipe.integration.compat.StreamConfigurationMapCompat
import androidx.camera.camera2.pipe.integration.compat.quirk.CameraQuirks
import androidx.camera.camera2.pipe.integration.compat.workaround.AeFpsRange
+import androidx.camera.camera2.pipe.integration.compat.workaround.CapturePipelineTorchCorrection
import androidx.camera.camera2.pipe.integration.compat.workaround.NoOpAutoFlashAEModeDisabler
import androidx.camera.camera2.pipe.integration.compat.workaround.NotUseTorchAsFlash
-import androidx.camera.camera2.pipe.integration.compat.workaround.UseTorchAsFlashImpl
import androidx.camera.camera2.pipe.integration.compat.workaround.OutputSizesCorrector
+import androidx.camera.camera2.pipe.integration.compat.workaround.UseTorchAsFlashImpl
import androidx.camera.camera2.pipe.integration.config.UseCaseGraphConfig
import androidx.camera.camera2.pipe.integration.testing.FakeCameraGraph
import androidx.camera.camera2.pipe.integration.testing.FakeCameraGraphSession
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/quirk/CamcorderProfileResolutionQuirkTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/quirk/CamcorderProfileResolutionQuirkTest.kt
index 5779b96..83defcab 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/quirk/CamcorderProfileResolutionQuirkTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/quirk/CamcorderProfileResolutionQuirkTest.kt
@@ -29,8 +29,8 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
+import org.mockito.Mockito.`when`
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/concurrent/Camera2CameraCoordinatorTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/concurrent/Camera2CameraCoordinatorTest.kt
index c526cd1..5354bb1 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/concurrent/Camera2CameraCoordinatorTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/concurrent/Camera2CameraCoordinatorTest.kt
@@ -46,7 +46,6 @@
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
import org.robolectric.shadow.api.Shadow
-
import org.robolectric.shadows.ShadowCameraCharacteristics
import org.robolectric.shadows.ShadowCameraManager
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/AndroidImageProxyTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/AndroidImageProxyTest.kt
index a8dc00c..eafedc5 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/AndroidImageProxyTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/AndroidImageProxyTest.kt
@@ -22,15 +22,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import com.google.common.truth.Truth.assertThat
+import java.nio.ByteBuffer
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
-import java.nio.ByteBuffer
-
-import com.google.common.truth.Truth.assertThat
+import org.mockito.Mockito.`when`
/**
* Unit tests for {@link AndroidImageProxy}.
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2DiskDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2DiskDeviceTest.kt
index d414a20..1a60fa7 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2DiskDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2DiskDeviceTest.kt
@@ -19,22 +19,20 @@
import android.graphics.BitmapFactory
import android.graphics.ImageFormat
import android.graphics.Matrix
-import androidx.camera.core.imagecapture.Utils.CAMERA_CAPTURE_RESULT
-import androidx.camera.core.imagecapture.Utils.HEIGHT
-import androidx.camera.core.imagecapture.Utils.ROTATION_DEGREES
-import androidx.camera.core.imagecapture.Utils.WIDTH
-import androidx.camera.core.imagecapture.Utils.TEMP_FILE
-
import android.graphics.Rect
import android.util.Size
import androidx.camera.core.ImageCapture
+import androidx.camera.core.imagecapture.Utils.CAMERA_CAPTURE_RESULT
+import androidx.camera.core.imagecapture.Utils.HEIGHT
+import androidx.camera.core.imagecapture.Utils.ROTATION_DEGREES
+import androidx.camera.core.imagecapture.Utils.TEMP_FILE
+import androidx.camera.core.imagecapture.Utils.WIDTH
import androidx.camera.core.impl.utils.Exif
import androidx.camera.core.processing.Packet
import androidx.camera.testing.ExifUtil
+import androidx.camera.testing.TestImageUtil.createBitmap
import androidx.camera.testing.TestImageUtil.createJpegBytes
import androidx.camera.testing.TestImageUtil.getAverageDiff
-import androidx.camera.testing.TestImageUtil.createBitmap
-
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/utils/ExifOutputStreamTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/utils/ExifOutputStreamTest.kt
index c6386b0..5945f0a 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/utils/ExifOutputStreamTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/utils/ExifOutputStreamTest.kt
@@ -23,8 +23,8 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.io.File
+import org.junit.Test
@LargeTest
@SdkSuppress(minSdkVersion = 21)
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ZslRingBufferTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ZslRingBufferTest.kt
index 76d4471..63fcf61 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ZslRingBufferTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ZslRingBufferTest.kt
@@ -31,11 +31,11 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.any
import org.mockito.Mockito.mock
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
+import org.mockito.Mockito.`when`
@RunWith(JUnit4::class)
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInternalTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInternalTest.kt
index eb693ac..5299376 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInternalTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInternalTest.kt
@@ -20,12 +20,12 @@
import androidx.camera.core.CameraSelector
import androidx.camera.testing.fakes.FakeCamera
import androidx.camera.testing.fakes.FakeCameraInfoInternal
+import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
-import com.google.common.truth.Truth.assertThat
/**
* Unit tests for [CameraInternal].
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceOutputImplTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceOutputImplTest.kt
index bc76e238..21dd66c 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceOutputImplTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceOutputImplTest.kt
@@ -23,8 +23,8 @@
import android.util.Size
import android.view.Surface
import androidx.camera.core.CameraEffect
-import androidx.camera.core.impl.ImageFormatConstants.INTERNAL_DEFINED_IMAGE_FORMAT_PRIVATE
import androidx.camera.core.CameraSelector.LENS_FACING_FRONT
+import androidx.camera.core.impl.ImageFormatConstants.INTERNAL_DEFINED_IMAGE_FORMAT_PRIVATE
import androidx.camera.core.impl.utils.TransformUtils.sizeToRect
import androidx.camera.core.impl.utils.executor.CameraXExecutors.mainThreadExecutor
import androidx.camera.testing.fakes.FakeCamera
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionsManagerTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionsManagerTest.kt
index 6aa7222..94f0466 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionsManagerTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionsManagerTest.kt
@@ -41,6 +41,7 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -51,7 +52,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(Parameterized::class)
diff --git a/camera/camera-testing/src/androidTest/java/androidx/camera/testing/TestImageUtilDeviceTest.kt b/camera/camera-testing/src/androidTest/java/androidx/camera/testing/TestImageUtilDeviceTest.kt
index 1045e0b..7b69b03 100644
--- a/camera/camera-testing/src/androidTest/java/androidx/camera/testing/TestImageUtilDeviceTest.kt
+++ b/camera/camera-testing/src/androidTest/java/androidx/camera/testing/TestImageUtilDeviceTest.kt
@@ -24,9 +24,9 @@
import androidx.camera.testing.TestImageUtil.createJpegBytes
import androidx.camera.testing.TestImageUtil.createJpegFakeImageProxy
import androidx.camera.testing.TestImageUtil.getAverageDiff
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
-import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/ObservableExtensions.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/ObservableExtensions.kt
index aec51e1..79b54b7 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/ObservableExtensions.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/ObservableExtensions.kt
@@ -21,6 +21,7 @@
import androidx.annotation.RequiresApi
import androidx.camera.core.impl.Observable
+import kotlin.coroutines.ContinuationInterceptor
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.asExecutor
@@ -28,7 +29,6 @@
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
import kotlinx.coroutines.launch
-import kotlin.coroutines.ContinuationInterceptor
public fun <T> Observable<T>.asFlow(): Flow<T?> = callbackFlow {
val observer = object : Observable.Observer<T> {
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
index 8366234..afb86b0 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
@@ -16,7 +16,6 @@
package androidx.camera.video
-import androidx.camera.testing.mocks.helpers.ArgumentCaptor as ArgumentCaptorCameraX
import android.Manifest
import android.annotation.SuppressLint
import android.app.AppOpsManager
@@ -56,6 +55,7 @@
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.asFlow
import androidx.camera.testing.mocks.MockConsumer
+import androidx.camera.testing.mocks.helpers.ArgumentCaptor as ArgumentCaptorCameraX
import androidx.camera.testing.mocks.helpers.CallTimes
import androidx.camera.testing.mocks.helpers.CallTimesAtLeast
import androidx.camera.video.VideoOutput.SourceState.ACTIVE_NON_STREAMING
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 39a9ec0..21b32bf 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
@@ -16,11 +16,6 @@
package androidx.camera.video
-import androidx.camera.camera2.internal.compat.quirk.DeviceQuirks as Camera2DeviceQuirks
-import androidx.camera.camera2.internal.compat.quirk.ExtraCroppingQuirk as Camera2ExtraCroppingQuirk
-import androidx.camera.camera2.pipe.integration.compat.quirk.DeviceQuirks as PipeDeviceQuirks
-import androidx.camera.camera2.pipe.integration.compat.quirk.ExtraCroppingQuirk as PipeExtraCroppingQuirk
-import androidx.camera.testing.mocks.helpers.ArgumentCaptor as ArgumentCaptorCameraX
import android.Manifest
import android.content.Context
import android.graphics.Rect
@@ -34,7 +29,11 @@
import android.view.Surface
import androidx.annotation.RequiresApi
import androidx.camera.camera2.Camera2Config
+import androidx.camera.camera2.internal.compat.quirk.DeviceQuirks as Camera2DeviceQuirks
+import androidx.camera.camera2.internal.compat.quirk.ExtraCroppingQuirk as Camera2ExtraCroppingQuirk
import androidx.camera.camera2.pipe.integration.CameraPipeConfig
+import androidx.camera.camera2.pipe.integration.compat.quirk.DeviceQuirks as PipeDeviceQuirks
+import androidx.camera.camera2.pipe.integration.compat.quirk.ExtraCroppingQuirk as PipeExtraCroppingQuirk
import androidx.camera.core.AspectRatio
import androidx.camera.core.Camera
import androidx.camera.core.CameraInfo
@@ -57,6 +56,7 @@
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.camera.testing.mocks.MockConsumer
+import androidx.camera.testing.mocks.helpers.ArgumentCaptor as ArgumentCaptorCameraX
import androidx.camera.testing.mocks.helpers.CallTimesAtLeast
import androidx.camera.video.VideoRecordEvent.Finalize.ERROR_NONE
import androidx.camera.video.VideoRecordEvent.Finalize.ERROR_SOURCE_INACTIVE
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/SurfaceViewImplementationTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/SurfaceViewImplementationTest.kt
index a3f1971..f5fdfb6 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/SurfaceViewImplementationTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/SurfaceViewImplementationTest.kt
@@ -32,12 +32,12 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewImplementationTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewImplementationTest.kt
index 20d9291..25e1814 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewImplementationTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewImplementationTest.kt
@@ -15,14 +15,14 @@
*/
package androidx.camera.view
-import android.widget.FrameLayout
import android.graphics.SurfaceTexture
import android.os.Build
import android.util.Size
-import androidx.camera.view.PreviewViewImplementation.OnSurfaceNotInUseListener
import android.view.TextureView
+import android.widget.FrameLayout
import androidx.camera.core.SurfaceRequest
import androidx.camera.testing.fakes.FakeCamera
+import androidx.camera.view.PreviewViewImplementation.OnSurfaceNotInUseListener
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
@@ -30,14 +30,14 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
import java.lang.Exception
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import java.util.concurrent.TimeoutException
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/ViewfinderTransformationTest.kt b/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/ViewfinderTransformationTest.kt
index c8e7ac1..f24e5cd 100644
--- a/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/ViewfinderTransformationTest.kt
+++ b/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/ViewfinderTransformationTest.kt
@@ -23,9 +23,9 @@
import android.view.Surface
import android.view.View
import androidx.camera.viewfinder.CameraViewfinder.ScaleType
-import androidx.camera.viewfinder.internal.utils.TransformUtils.sizeToVertices
import androidx.camera.viewfinder.internal.transform.Rotation.RotationValue
import androidx.camera.viewfinder.internal.transform.TransformationInfo
+import androidx.camera.viewfinder.internal.utils.TransformUtils.sizeToVertices
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
import kotlin.math.roundToInt
diff --git a/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/model/AudioGeneratorDeviceTest.kt b/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/model/AudioGeneratorDeviceTest.kt
index e42853e..75e45364 100644
--- a/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/model/AudioGeneratorDeviceTest.kt
+++ b/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/model/AudioGeneratorDeviceTest.kt
@@ -19,8 +19,8 @@
import android.content.Context
import android.media.AudioTrack
import androidx.test.core.app.ApplicationProvider
-import androidx.test.filters.LargeTest
import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/AudioGenerator.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/AudioGenerator.kt
index ab9edeb..76a8be0 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/AudioGenerator.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/AudioGenerator.kt
@@ -25,10 +25,10 @@
import androidx.camera.core.Logger
import androidx.core.util.Preconditions.checkArgument
import androidx.core.util.Preconditions.checkArgumentNonnegative
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.withContext
import kotlin.math.pow
import kotlin.math.sin
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
private const val TAG = "AudioGenerator"
private const val DEFAULT_SAMPLE_RATE: Int = 44100
diff --git a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderValueImplTest.kt b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderValueImplTest.kt
index 91278a7..9b2b13e 100644
--- a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderValueImplTest.kt
+++ b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderValueImplTest.kt
@@ -18,8 +18,8 @@
import androidx.camera.integration.camera2.pipe.dataholders.GraphDataHolderValueImpl
import androidx.camera.integration.camera2.pipe.dataholders.GraphDataSortedRingBuffer
-import org.junit.Test
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
class GraphDataHolderValueImplTest {
@Test(expected = IllegalArgumentException::class)
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXInitTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXInitTest.kt
index d8b0f40..082a3dd 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXInitTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXInitTest.kt
@@ -29,6 +29,7 @@
import androidx.test.filters.LargeTest
import androidx.test.rule.GrantPermissionRule
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeout
import org.junit.After
@@ -38,7 +39,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/ImageCaptureTask.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/ImageCaptureTask.kt
index c7f3812..b032578 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/ImageCaptureTask.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/ImageCaptureTask.kt
@@ -25,12 +25,12 @@
import androidx.camera.view.CameraController.IMAGE_CAPTURE
import androidx.camera.view.LifecycleCameraController
import androidx.core.content.ContextCompat
-import kotlinx.coroutines.withContext
import java.io.File
import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.suspendCancellableCoroutine
+import kotlinx.coroutines.withContext
/**
* Diagnosis task that utilizes ImageCapture use case
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/MainActivity.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/MainActivity.kt
index 6eec96a..4327c6d 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/MainActivity.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/MainActivity.kt
@@ -32,10 +32,12 @@
import androidx.appcompat.app.AppCompatActivity
import androidx.camera.core.ImageCapture
import androidx.camera.core.ImageCaptureException
+import androidx.camera.mlkit.vision.MlKitAnalyzer
import androidx.camera.video.MediaStoreOutputOptions
import androidx.camera.video.Recording
import androidx.camera.video.VideoRecordEvent
import androidx.camera.view.CameraController
+import androidx.camera.view.CameraController.IMAGE_ANALYSIS
import androidx.camera.view.CameraController.IMAGE_CAPTURE
import androidx.camera.view.CameraController.VIDEO_CAPTURE
import androidx.camera.view.LifecycleCameraController
@@ -44,18 +46,16 @@
import androidx.camera.view.video.ExperimentalVideo
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
-import java.text.SimpleDateFormat
-import java.util.Locale
-import java.util.concurrent.ExecutorService
-import androidx.camera.mlkit.vision.MlKitAnalyzer
-import androidx.camera.view.CameraController.IMAGE_ANALYSIS
import androidx.core.util.Preconditions
import androidx.lifecycle.lifecycleScope
import com.google.android.material.tabs.TabLayout
import com.google.mlkit.vision.barcode.BarcodeScanner
import com.google.mlkit.vision.barcode.BarcodeScanning
import java.io.IOException
+import java.text.SimpleDateFormat
+import java.util.Locale
import java.util.concurrent.Executor
+import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
import kotlinx.coroutines.ExecutorCoroutineDispatcher
import kotlinx.coroutines.asCoroutineDispatcher
diff --git a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DataStoreTest.kt b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DataStoreTest.kt
index 870902d..b2ca7af 100644
--- a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DataStoreTest.kt
+++ b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DataStoreTest.kt
@@ -22,6 +22,7 @@
import android.graphics.Color
import android.os.Build
import androidx.test.core.app.ApplicationProvider
+import com.google.common.truth.Truth.assertThat
import java.io.BufferedReader
import java.io.File
import java.io.InputStreamReader
@@ -30,7 +31,6 @@
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
-import com.google.common.truth.Truth.assertThat
@RunWith(RobolectricTestRunner::class)
@Config(minSdk = Build.VERSION_CODES.M, maxSdk = 32)
diff --git a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DiagnosisTest.kt b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DiagnosisTest.kt
index 81d17de..e6af322 100644
--- a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DiagnosisTest.kt
+++ b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/DiagnosisTest.kt
@@ -23,6 +23,7 @@
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.camera.view.LifecycleCameraController
import androidx.test.core.app.ApplicationProvider
+import com.google.common.truth.Truth.assertThat
import java.io.BufferedReader
import java.io.File
import java.io.InputStreamReader
@@ -31,7 +32,6 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import com.google.common.truth.Truth.assertThat
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
diff --git a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextAndImageSavingTask.kt b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextAndImageSavingTask.kt
index aec614a..f5837dc 100644
--- a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextAndImageSavingTask.kt
+++ b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextAndImageSavingTask.kt
@@ -19,7 +19,6 @@
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Color.BLUE
-
import androidx.camera.view.LifecycleCameraController
class FakeTextAndImageSavingTask : DiagnosisTask("FakeTextAndImageSavingTask") {
diff --git a/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/AntelopeInstrumentedTests.kt b/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/AntelopeInstrumentedTests.kt
index 72e1b67..0b87c9a 100644
--- a/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/AntelopeInstrumentedTests.kt
+++ b/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/AntelopeInstrumentedTests.kt
@@ -23,35 +23,35 @@
import android.hardware.camera2.CameraCharacteristics
import android.hardware.camera2.CameraManager
import android.hardware.camera2.CameraMetadata
-import android.preference.PreferenceManager
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.matcher.ViewMatchers.withId
-import androidx.test.espresso.IdlingRegistry
-import org.junit.Rule
-import androidx.test.rule.ActivityTestRule
-import androidx.test.rule.GrantPermissionRule
-import org.junit.Assert
-import org.junit.Test
-import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
-import org.junit.Before
import android.os.Environment
+import android.preference.PreferenceManager
import androidx.appcompat.app.AppCompatActivity
-import androidx.test.espresso.IdlingPolicies
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import java.io.File
-import androidx.test.espresso.matcher.ViewMatchers.withSubstring
-import androidx.test.filters.MediumTest
-import androidx.test.filters.LargeTest
-import org.junit.Assume.assumeTrue
-import org.junit.FixMethodOrder
-import org.junit.runners.MethodSorters
-import java.util.concurrent.TimeUnit
import androidx.camera.integration.antelope.MainActivity.Companion.antelopeIdlingResource
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.IdlingPolicies
+import androidx.test.espresso.IdlingRegistry
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.withId
+import androidx.test.espresso.matcher.ViewMatchers.withSubstring
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.FlakyTest
-import org.junit.After
-import org.junit.runner.RunWith
+import androidx.test.filters.LargeTest
+import androidx.test.filters.MediumTest
+import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
+import androidx.test.rule.ActivityTestRule
+import androidx.test.rule.GrantPermissionRule
import com.google.common.truth.Truth.assertThat
+import java.io.File
+import java.util.concurrent.TimeUnit
+import org.junit.After
+import org.junit.Assert
+import org.junit.Assume.assumeTrue
+import org.junit.Before
+import org.junit.FixMethodOrder
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.MethodSorters
const val PREVIEW_BUFFER = "1500"
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CustomLifecycle.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CustomLifecycle.kt
index 10efb75..a68e4f2 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CustomLifecycle.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CustomLifecycle.kt
@@ -18,10 +18,10 @@
import android.os.Handler
import android.os.Looper
+import androidx.camera.integration.antelope.MainActivity.Companion.logd
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LifecycleRegistry
-import androidx.camera.integration.antelope.MainActivity.Companion.logd
/**
* Camera X normally handles lifecycle events itself. Optimizations in the API make it difficult
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestUtils.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestUtils.kt
index bc16441..e327e0e 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestUtils.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestUtils.kt
@@ -17,11 +17,11 @@
package androidx.camera.integration.antelope
import androidx.camera.integration.antelope.MainActivity.Companion.antelopeIdlingResource
-import com.google.common.math.Stats
import androidx.camera.integration.antelope.MainActivity.Companion.cameraParams
import androidx.camera.integration.antelope.MainActivity.Companion.isSingleTestRunning
import androidx.camera.integration.antelope.MainActivity.Companion.logd
import androidx.camera.integration.antelope.MainActivity.Companion.testsRemaining
+import com.google.common.math.Stats
import java.text.SimpleDateFormat
import java.util.Calendar
import kotlin.collections.ArrayList
diff --git a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/TransitionDetector.kt b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/TransitionDetector.kt
index d15d058..656461a 100644
--- a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/TransitionDetector.kt
+++ b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/TransitionDetector.kt
@@ -32,9 +32,9 @@
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiPrimitiveType
import com.intellij.psi.impl.source.PsiClassReferenceType
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.ULambdaExpression
-import java.util.EnumSet
/**
* [Detector] that checks `Transition` usages for correctness.
diff --git a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetector.kt b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetector.kt
index adcf925..16dfcd4 100644
--- a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetector.kt
+++ b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetector.kt
@@ -32,9 +32,9 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.impl.source.PsiClassReferenceType
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.util.isConstructorCall
-import java.util.EnumSet
/**
* [Detector] that checks `Animatable` calls to make sure that if they are called inside a
diff --git a/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/SpringEstimationBenchmark.kt b/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/SpringEstimationBenchmark.kt
index 7c72011..0c15e61 100644
--- a/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/SpringEstimationBenchmark.kt
+++ b/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/SpringEstimationBenchmark.kt
@@ -21,10 +21,10 @@
import androidx.compose.animation.core.estimateAnimationDurationMillis
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import kotlin.math.sqrt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.sqrt
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatableSamples.kt b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatableSamples.kt
index 0ca9c61..160a753 100644
--- a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatableSamples.kt
+++ b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatableSamples.kt
@@ -43,17 +43,17 @@
import androidx.compose.ui.composed
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Size
-import androidx.compose.ui.input.pointer.util.VelocityTracker
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.input.pointer.positionChange
+import androidx.compose.ui.input.pointer.util.VelocityTracker
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
+import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
-import kotlin.math.roundToInt
@Sampled
@Composable
diff --git a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatedValueSamples.kt b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatedValueSamples.kt
index 9a76f58..110f0c6 100644
--- a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatedValueSamples.kt
+++ b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimatedValueSamples.kt
@@ -19,11 +19,11 @@
import androidx.annotation.Sampled
import androidx.compose.animation.core.AnimationVector2D
import androidx.compose.animation.core.TwoWayConverter
-import androidx.compose.animation.core.animateValueAsState
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.animateIntOffsetAsState
import androidx.compose.animation.core.animateOffsetAsState
+import androidx.compose.animation.core.animateValueAsState
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxWidth
diff --git a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimationSpecSamples.kt b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimationSpecSamples.kt
index 272a82d..96ce4ce 100644
--- a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimationSpecSamples.kt
+++ b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/AnimationSpecSamples.kt
@@ -27,8 +27,8 @@
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.State
diff --git a/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/InfiniteTransitionTest.kt b/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/InfiniteTransitionTest.kt
index 379163f..acc232c 100644
--- a/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/InfiniteTransitionTest.kt
+++ b/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/InfiniteTransitionTest.kt
@@ -19,8 +19,8 @@
import androidx.compose.animation.VectorConverter
import androidx.compose.animation.animateColor
import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.runtime.withFrameNanos
import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.withFrameNanos
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SpringSimulation.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SpringSimulation.kt
index a2c7d99..23f1cce 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SpringSimulation.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/SpringSimulation.kt
@@ -19,7 +19,6 @@
import androidx.compose.ui.util.packFloats
import androidx.compose.ui.util.unpackFloat1
import androidx.compose.ui.util.unpackFloat2
-
import kotlin.math.cos
import kotlin.math.exp
import kotlin.math.sin
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
index ccbfd2a..7ae4fe0 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
@@ -18,6 +18,7 @@
package androidx.compose.animation.core
+import androidx.compose.animation.core.internal.JvmDefaultWithCompatibility
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
@@ -26,6 +27,7 @@
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableLongStateOf
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
@@ -37,10 +39,8 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import kotlin.math.max
-import androidx.compose.animation.core.internal.JvmDefaultWithCompatibility
-import androidx.compose.runtime.mutableLongStateOf
import kotlin.jvm.JvmName
+import kotlin.math.max
/**
* This sets up a [Transition], and updates it with the target provided by [targetState]. When
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt
index 39415bc..e3354a9 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt
@@ -20,9 +20,9 @@
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import kotlin.math.roundToInt
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorizedAnimationSpec.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorizedAnimationSpec.kt
index 83c39ce..bc21855 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorizedAnimationSpec.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorizedAnimationSpec.kt
@@ -17,8 +17,8 @@
package androidx.compose.animation.core
import androidx.compose.animation.core.AnimationConstants.DefaultDurationMillis
-import kotlin.math.min
import androidx.compose.animation.core.internal.JvmDefaultWithCompatibility
+import kotlin.math.min
/**
* [VectorizedAnimationSpec]s are stateless vector based animation specifications. They do
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt
index 5b27b547..7293a1b 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt
@@ -20,9 +20,9 @@
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
private const val DpVisibilityThreshold = 0.1f
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationTest.kt
index c932fe1..a632f65 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationTest.kt
@@ -16,11 +16,11 @@
package androidx.compose.animation.core
+import java.lang.Long.max
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.lang.Long.max
@RunWith(JUnit4::class)
class AnimationTest {
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/SpringEstimationTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/SpringEstimationTest.kt
index 7396ca5..9b0281d 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/SpringEstimationTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/SpringEstimationTest.kt
@@ -19,12 +19,12 @@
import android.os.Build
import androidx.test.filters.SdkSuppress
import junit.framework.TestCase.assertTrue
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.sqrt
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
class SpringEstimationTest(private val m: Double, private val k: Double) {
diff --git a/compose/animation/animation-graphics/src/androidAndroidTest/kotlin/androidx/compose/animation/graphics/vector/compat/XmlAnimatorParserTest.kt b/compose/animation/animation-graphics/src/androidAndroidTest/kotlin/androidx/compose/animation/graphics/vector/compat/XmlAnimatorParserTest.kt
index 6906bf6..e4cbe31 100644
--- a/compose/animation/animation-graphics/src/androidAndroidTest/kotlin/androidx/compose/animation/graphics/vector/compat/XmlAnimatorParserTest.kt
+++ b/compose/animation/animation-graphics/src/androidAndroidTest/kotlin/androidx/compose/animation/graphics/vector/compat/XmlAnimatorParserTest.kt
@@ -18,7 +18,10 @@
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.RepeatMode
-import androidx.compose.ui.graphics.Color
+import androidx.compose.animation.graphics.res.AccelerateEasing
+import androidx.compose.animation.graphics.res.DecelerateEasing
+import androidx.compose.animation.graphics.res.loadAnimatorResource
+import androidx.compose.animation.graphics.test.R
import androidx.compose.animation.graphics.vector.AnimatorSet
import androidx.compose.animation.graphics.vector.ObjectAnimator
import androidx.compose.animation.graphics.vector.Ordering
@@ -27,11 +30,8 @@
import androidx.compose.animation.graphics.vector.PropertyValuesHolderFloat
import androidx.compose.animation.graphics.vector.PropertyValuesHolderInt
import androidx.compose.animation.graphics.vector.PropertyValuesHolderPath
-import androidx.compose.animation.graphics.res.AccelerateEasing
-import androidx.compose.animation.graphics.res.DecelerateEasing
-import androidx.compose.animation.graphics.res.loadAnimatorResource
-import androidx.compose.animation.graphics.test.R
import androidx.compose.animation.graphics.vector.RepeatCountInfinite
+import androidx.compose.ui.graphics.Color
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
diff --git a/compose/animation/animation-graphics/src/androidMain/kotlin/androidx/compose/animation/graphics/res/AnimatorResources.android.kt b/compose/animation/animation-graphics/src/androidMain/kotlin/androidx/compose/animation/graphics/res/AnimatorResources.android.kt
index ed925eb..7c51152 100644
--- a/compose/animation/animation-graphics/src/androidMain/kotlin/androidx/compose/animation/graphics/res/AnimatorResources.android.kt
+++ b/compose/animation/animation-graphics/src/androidMain/kotlin/androidx/compose/animation/graphics/res/AnimatorResources.android.kt
@@ -26,19 +26,19 @@
import androidx.compose.animation.core.FastOutSlowInEasing
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.LinearOutSlowInEasing
-import androidx.compose.animation.graphics.vector.compat.AndroidVectorResources
import androidx.compose.animation.graphics.vector.Animator
+import androidx.compose.animation.graphics.vector.compat.AndroidVectorResources
import androidx.compose.animation.graphics.vector.compat.TagObjectAnimator
import androidx.compose.animation.graphics.vector.compat.TagSet
-import androidx.compose.animation.graphics.vector.compat.seekToStartTag
import androidx.compose.animation.graphics.vector.compat.parseAnimatorSet
import androidx.compose.animation.graphics.vector.compat.parseInterpolator
import androidx.compose.animation.graphics.vector.compat.parseObjectAnimator
-import org.xmlpull.v1.XmlPullParserException
+import androidx.compose.animation.graphics.vector.compat.seekToStartTag
import kotlin.math.PI
import kotlin.math.cos
import kotlin.math.pow
import kotlin.math.sin
+import org.xmlpull.v1.XmlPullParserException
/**
* Synchronously loads an [Animator] resource.
diff --git a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt
index 9dcc564..fbef2b9 100644
--- a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt
+++ b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/CrossfadeDetector.kt
@@ -31,9 +31,9 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.ULambdaExpression
-import java.util.EnumSet
/**
* [Detector] that checks `Crossfade` usages for correctness.
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/AnimatedClockDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/AnimatedClockDemo.kt
index e3a7df2..7bc053f 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/AnimatedClockDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/AnimatedClockDemo.kt
@@ -51,8 +51,8 @@
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import kotlinx.coroutines.isActive
import java.util.Calendar
+import kotlinx.coroutines.isActive
private class Time(hours: State<Int>, minutes: State<Int>, seconds: State<Int>) {
val hours by hours
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/FancyScrollingDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/FancyScrollingDemo.kt
index dadf80c..86bc567 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/FancyScrollingDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/FancyScrollingDemo.kt
@@ -27,8 +27,8 @@
import androidx.compose.foundation.gestures.rememberDraggableState
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableFloatStateOf
@@ -42,8 +42,8 @@
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
-import kotlinx.coroutines.launch
import kotlin.math.roundToInt
+import kotlinx.coroutines.launch
const val DEBUG = false
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SpringBackScrollingDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SpringBackScrollingDemo.kt
index 71d4605..4f02955 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SpringBackScrollingDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SpringBackScrollingDemo.kt
@@ -31,8 +31,8 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -51,9 +51,9 @@
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
+import kotlin.math.roundToInt
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
-import kotlin.math.roundToInt
@Preview
@Composable
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SwipeToDismissDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SwipeToDismissDemo.kt
index faa1d47..2f0db13 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SwipeToDismissDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/gesture/SwipeToDismissDemo.kt
@@ -25,9 +25,9 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.material.Button
import androidx.compose.material.Text
@@ -49,9 +49,9 @@
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
+import kotlin.math.roundToInt
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
-import kotlin.math.roundToInt
@Preview
@Composable
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateContentSizeDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateContentSizeDemo.kt
index 7c036ad..15b8a2f 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateContentSizeDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateContentSizeDemo.kt
@@ -25,8 +25,8 @@
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSizeIn
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentSize
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithMovableContentDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithMovableContentDemo.kt
index 3100d36..f25cb8a 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithMovableContentDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithMovableContentDemo.kt
@@ -20,9 +20,9 @@
import androidx.compose.animation.core.VectorConverter
import androidx.compose.animation.core.spring
+import androidx.compose.animation.demos.fancy.AnimatedDotsDemo
import androidx.compose.animation.demos.statetransition.InfiniteProgress
import androidx.compose.animation.demos.statetransition.InfinitePulsingHeart
-import androidx.compose.animation.demos.fancy.AnimatedDotsDemo
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/MultiDimensionalAnimationDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/MultiDimensionalAnimationDemo.kt
index a32e677..01ca017 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/MultiDimensionalAnimationDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/MultiDimensionalAnimationDemo.kt
@@ -22,8 +22,8 @@
import androidx.compose.animation.core.tween
import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.Canvas
-import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/RepeatedRotationDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/RepeatedRotationDemo.kt
index ade287e..5e89ee7 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/RepeatedRotationDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/RepeatedRotationDemo.kt
@@ -20,8 +20,8 @@
import androidx.compose.animation.core.animateFloat
import androidx.compose.animation.core.keyframes
import androidx.compose.animation.core.repeatable
-import androidx.compose.animation.core.updateTransition
import androidx.compose.animation.core.tween
+import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/ColumnConfigurationDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/ColumnConfigurationDemo.kt
index 4b94c68..dfd5b8e 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/ColumnConfigurationDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/ColumnConfigurationDemo.kt
@@ -27,11 +27,11 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeight
-import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Text
diff --git a/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/AnimationModifierTest.kt b/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/AnimationModifierTest.kt
index fb17dc0..ae167df 100644
--- a/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/AnimationModifierTest.kt
+++ b/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/AnimationModifierTest.kt
@@ -43,8 +43,8 @@
import junit.framework.TestCase.assertNull
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.nullValue
-import org.junit.After
import org.hamcrest.MatcherAssert.assertThat
+import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt
index 408246d..2e6a3b2 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt
@@ -25,6 +25,7 @@
import androidx.compose.animation.core.Transition
import androidx.compose.animation.core.createChildTransition
import androidx.compose.animation.core.updateTransition
+import androidx.compose.animation.internal.JvmDefaultWithCompatibility
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.Row
@@ -50,7 +51,6 @@
import androidx.compose.ui.util.fastForEach
import androidx.compose.ui.util.fastMaxBy
import kotlinx.coroutines.flow.collect
-import androidx.compose.animation.internal.JvmDefaultWithCompatibility
/**
* [AnimatedVisibility] composable animates the appearance and disappearance of its content, as
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimationModifier.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimationModifier.kt
index 2763366..4d49ae5 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimationModifier.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimationModifier.kt
@@ -23,10 +23,10 @@
import androidx.compose.animation.core.FiniteAnimationSpec
import androidx.compose.animation.core.VectorConverter
import androidx.compose.animation.core.spring
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
diff --git a/compose/animation/animation/src/test/kotlin/androidx/compose/animation/ConverterTest.kt b/compose/animation/animation/src/test/kotlin/androidx/compose/animation/ConverterTest.kt
index 4a889dc..ea4d100 100644
--- a/compose/animation/animation/src/test/kotlin/androidx/compose/animation/ConverterTest.kt
+++ b/compose/animation/animation/src/test/kotlin/androidx/compose/animation/ConverterTest.kt
@@ -27,10 +27,10 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import junit.framework.TestCase.assertEquals
+import kotlin.random.Random
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.random.Random
@RunWith(JUnit4::class)
class ConverterTest {
diff --git a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarksExtensions.kt b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarksExtensions.kt
index b0c29ab..b2247bd 100644
--- a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarksExtensions.kt
+++ b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarksExtensions.kt
@@ -20,12 +20,12 @@
import androidx.benchmark.junit4.BenchmarkRule
import androidx.benchmark.junit4.measureRepeated
import androidx.compose.testutils.ComposeTestCase
-import androidx.compose.ui.graphics.Canvas
import androidx.compose.testutils.ToggleableTestCase
import androidx.compose.testutils.assertNoPendingChanges
import androidx.compose.testutils.benchmark.android.AndroidTestCase
import androidx.compose.testutils.doFramesUntilNoChangesPending
import androidx.compose.testutils.recomposeAssertHadChanges
+import androidx.compose.ui.graphics.Canvas
/**
* Measures measure and layout performance of the given test case by toggling measure constraints.
diff --git a/compose/compiler/OWNERS b/compose/compiler/OWNERS
index e48b97d..51ec95d 100644
--- a/compose/compiler/OWNERS
+++ b/compose/compiler/OWNERS
@@ -3,4 +3,5 @@
chuckj@google.com
lelandr@google.com
anbailey@google.com
+ashikov@google.com
per-file settings.gradle = dustinlam@google.com, rahulrav@google.com
diff --git a/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/CompilerTest.kt b/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/CompilerTest.kt
index 15fa946..8b284f3 100644
--- a/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/CompilerTest.kt
+++ b/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/CompilerTest.kt
@@ -16,14 +16,14 @@
package androidx.compose.compiler.daemon
+import java.io.File
+import java.nio.file.Files
import org.jetbrains.kotlin.cli.common.ExitCode
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.io.File
-import java.nio.file.Files
@RunWith(Parameterized::class)
class CompilerTest(
diff --git a/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/DaemonProtocolTest.kt b/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/DaemonProtocolTest.kt
index a97752d..d993c1e 100644
--- a/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/DaemonProtocolTest.kt
+++ b/compose/compiler/compiler-daemon/integration-tests/src/test/kotlin/androidx/compose/compiler/daemon/DaemonProtocolTest.kt
@@ -16,9 +16,6 @@
package androidx.compose.compiler.daemon
-import org.jetbrains.kotlin.cli.common.ExitCode
-import org.junit.Assert.assertEquals
-import org.junit.Test
import java.io.ByteArrayOutputStream
import java.io.OutputStreamWriter
import java.io.PipedReader
@@ -26,6 +23,9 @@
import java.io.PrintWriter
import java.util.concurrent.CountDownLatch
import kotlin.concurrent.thread
+import org.jetbrains.kotlin.cli.common.ExitCode
+import org.junit.Assert.assertEquals
+import org.junit.Test
class DaemonProtocolTest {
diff --git a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt
index 976bfa8..65757e6 100644
--- a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt
+++ b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/Compiler.kt
@@ -16,8 +16,11 @@
package androidx.compose.compiler.daemon
+import java.io.File
+import java.nio.file.Files
import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS
import org.jetbrains.kotlin.build.report.BuildReporter
+import org.jetbrains.kotlin.build.report.DoNothingICReporter
import org.jetbrains.kotlin.build.report.metrics.DoNothingBuildMetricsReporter
import org.jetbrains.kotlin.cli.common.ExitCode
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
@@ -26,13 +29,10 @@
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.kotlin.config.Services
import org.jetbrains.kotlin.incremental.ClasspathChanges.ClasspathSnapshotEnabled
-import org.jetbrains.kotlin.build.report.DoNothingICReporter
+import org.jetbrains.kotlin.incremental.ClasspathSnapshotFiles
import org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner
import org.jetbrains.kotlin.incremental.multiproject.EmptyModulesApiHistory
import org.jetbrains.kotlin.incremental.withIC
-import java.io.File
-import java.nio.file.Files
-import org.jetbrains.kotlin.incremental.ClasspathSnapshotFiles
internal fun parseArgs(
args: Array<String>,
diff --git a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/main.kt b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/main.kt
index 20445ef..8e8f201 100644
--- a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/main.kt
+++ b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/main.kt
@@ -17,11 +17,11 @@
package androidx.compose.compiler.daemon
import java.io.File
-import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback
import java.io.PrintWriter
import java.lang.IllegalArgumentException
import java.net.URLDecoder
import java.nio.charset.Charset
+import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback
private data class CliOptions(
val disableEmbeddedPlugin: Boolean = false,
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenSignatureTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenSignatureTest.kt
index f0a2827..668afad 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenSignatureTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractCodegenSignatureTest.kt
@@ -20,11 +20,11 @@
import android.content.Context
import android.os.Bundle
import android.widget.LinearLayout
+import java.net.URLClassLoader
import org.intellij.lang.annotations.Language
import org.jetbrains.kotlin.backend.common.output.OutputFile
-import org.robolectric.Robolectric
-import java.net.URLClassLoader
import org.junit.Assert.assertEquals
+import org.robolectric.Robolectric
fun printPublicApi(classDump: String, name: String): String {
return classDump
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractComposeDiagnosticsTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractComposeDiagnosticsTest.kt
index 2cf385c..9cc20bc 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractComposeDiagnosticsTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractComposeDiagnosticsTest.kt
@@ -16,103 +16,54 @@
package androidx.compose.compiler.plugins.kotlin
-import androidx.compose.compiler.plugins.kotlin.facade.AnalysisResult
import androidx.compose.compiler.plugins.kotlin.facade.SourceFile
import org.jetbrains.kotlin.checkers.DiagnosedRange
import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil
-import org.junit.Assert
+import org.jetbrains.kotlin.utils.addToStdlib.flatGroupBy
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertThrows
abstract class AbstractComposeDiagnosticsTest : AbstractCompilerTest() {
- private class DiagnosticTestException(message: String) : Exception(message)
-
protected fun check(expectedText: String, ignoreParseErrors: Boolean = false) {
val diagnosedRanges: MutableList<DiagnosedRange> = ArrayList()
val clearText = CheckerTestUtil.parseDiagnosedRanges(expectedText, diagnosedRanges)
val errors = analyze(
listOf(SourceFile("test.kt", clearText, ignoreParseErrors))
- ).diagnostics.toMutableList()
+ ).diagnostics
- // Ensure all the expected messages are there
- val message = StringBuilder()
- val found = mutableSetOf<AnalysisResult.Diagnostic>()
- for (range in diagnosedRanges) {
- for (diagnostic in range.getDiagnostics()) {
- val reportedDiagnostics = errors.filter { it.factoryName == diagnostic.name }
- if (reportedDiagnostics.isNotEmpty()) {
- val reportedDiagnostic =
- reportedDiagnostics.find {
- it.textRanges.find {
- it.startOffset == range.start && it.endOffset == range.end
- } != null
- }
- if (reportedDiagnostic == null) {
- val firstRange = reportedDiagnostics.first().textRanges.first()
- message.append(
- " Error ${diagnostic.name} reported at ${
- firstRange.startOffset
- }-${firstRange.endOffset} but expected at ${range.start}-${range.end}\n"
- )
- message.append(
- sourceInfo(clearText, firstRange.startOffset, firstRange.endOffset)
- )
- } else {
- errors.remove(reportedDiagnostic)
- found.add(reportedDiagnostic)
- }
- } else {
- message.append(
- " Diagnostic ${diagnostic.name} not reported, expected at ${
- range.start
- }\n"
- )
- message.append(
- sourceInfo(clearText, range.start, range.end)
- )
+ val rangeToDiagnostics = errors.flatGroupBy { it.textRanges }.mapValues { entry ->
+ entry.value.map { it.factoryName }.toSet()
+ }
+ val startOffsetToGroups = rangeToDiagnostics.entries.groupBy(
+ keySelector = { it.key.startOffset },
+ valueTransform = { it.value }
+ )
+ val endOffsetsToGroups = rangeToDiagnostics.entries.groupBy(
+ keySelector = { it.key.endOffset },
+ valueTransform = { it.value }
+ )
+
+ val annotatedText = buildString {
+ for ((i, c) in clearText.withIndex()) {
+ endOffsetsToGroups[i]?.let { groups ->
+ repeat(groups.size) { append("<!>") }
}
+ startOffsetToGroups[i]?.let { groups ->
+ for (diagnostics in groups) {
+ append("<!${diagnostics.joinToString(",")}!>")
+ }
+ }
+ append(c)
}
}
- // Ensure only the expected errors are reported
- for (diagnostic in errors) {
- if (diagnostic !in found) {
- val range = diagnostic.textRanges.first()
- message.append(
- " Unexpected diagnostic ${diagnostic.factoryName} reported at ${
- range.startOffset
- }\n"
- )
- message.append(
- sourceInfo(clearText, range.startOffset, range.endOffset)
- )
- }
- }
-
- // Throw an error if anything was found that was not expected
- if (message.isNotEmpty()) throw DiagnosticTestException("Mismatched errors:\n$message")
+ assertEquals(expectedText, annotatedText)
}
protected fun checkFail(expectedText: String) {
- Assert.assertThrows(DiagnosticTestException::class.java) {
+ assertThrows(AssertionError::class.java) {
check(expectedText)
}
}
-
- private fun String.lineStart(offset: Int): Int {
- return this.lastIndexOf('\n', offset) + 1
- }
-
- private fun String.lineEnd(offset: Int): Int {
- val result = this.indexOf('\n', offset)
- return if (result < 0) this.length else result
- }
-
- // Return the source line that contains the given range with the range underlined with '~'s
- private fun sourceInfo(clearText: String, start: Int, end: Int): String {
- val lineStart = clearText.lineStart(start)
- val lineEnd = clearText.lineEnd(start)
- val displayEnd = if (end > lineEnd) lineEnd else end
- return " " + clearText.substring(lineStart, lineEnd) + "\n" +
- " ".repeat(2 + start - lineStart) + "~".repeat(displayEnd - start) + "\n"
- }
}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLoweringTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLoweringTests.kt
index 11a509a..7ce1dbf 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLoweringTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLoweringTests.kt
@@ -18,9 +18,9 @@
import androidx.compose.runtime.Composer
import androidx.compose.runtime.snapshots.Snapshot
+import java.net.URLClassLoader
import org.intellij.lang.annotations.Language
import org.robolectric.RuntimeEnvironment
-import java.net.URLClassLoader
abstract class AbstractLoweringTests : AbstractCodegenTest() {
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMultiPlatformIntegrationTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMultiPlatformIntegrationTest.kt
index 6d470eb..e62740f 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMultiPlatformIntegrationTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMultiPlatformIntegrationTest.kt
@@ -17,6 +17,10 @@
package androidx.compose.compiler.plugins.kotlin
import com.intellij.openapi.util.io.FileUtil
+import java.io.ByteArrayOutputStream
+import java.io.File
+import java.io.PrintStream
+import java.io.PrintWriter
import org.intellij.lang.annotations.Language
import org.jetbrains.kotlin.cli.common.CLICompiler
import org.jetbrains.kotlin.cli.common.CLITool
@@ -24,10 +28,6 @@
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.org.objectweb.asm.ClassReader
import org.jetbrains.org.objectweb.asm.util.TraceClassVisitor
-import java.io.ByteArrayOutputStream
-import java.io.File
-import java.io.PrintStream
-import java.io.PrintWriter
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.rules.TemporaryFolder
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
index 48ceddc..096c0ac 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ControlFlowTransformTests.kt
@@ -455,7 +455,7 @@
A(%composer, 0)
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@M3
}
A(%composer, 0)
sourceInformationMarkerEnd(%composer)
@@ -504,7 +504,7 @@
if (isTraceInProgress()) {
traceEventEnd()
}
- return
+ return@composableLambdaInstance
}
sourceInformationMarkerEnd(%composer)
}, %composer, 0)
@@ -575,7 +575,7 @@
sourceInformationMarkerStart(%composer, <>, "C:Test.kt")
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@M1
}
sourceInformationMarkerEnd(%composer)
}, %composer, 0)
@@ -636,7 +636,7 @@
sourceInformationMarkerStart(%composer, <>, "C:Test.kt")
if (condition) {
%composer.endToMarker(tmp0_marker)
- return
+ return@M3
}
sourceInformationMarkerEnd(%composer)
}, %composer, 0)
@@ -773,7 +773,7 @@
A(%composer, 0)
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@M3
}
A(%composer, 0)
sourceInformationMarkerEnd(%composer)
@@ -783,7 +783,7 @@
A(%composer, 0)
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@M3
}
A(%composer, 0)
sourceInformationMarkerEnd(%composer)
@@ -908,7 +908,7 @@
sourceInformationMarkerStart(%composer, <>, "C<A()>:Test.kt")
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@FakeBox
}
A(%composer, 0)
sourceInformationMarkerEnd(%composer)
@@ -1081,7 +1081,7 @@
sourceInformationMarkerStart(%composer, <>, "C<A()>:Test.kt")
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@IW
}
A(%composer, 0)
sourceInformationMarkerEnd(%composer)
@@ -1242,7 +1242,7 @@
Identity {
if (condition) {
sourceInformationMarkerEnd(%composer)
- return
+ return@M1
}
}
sourceInformationMarkerEnd(%composer)
@@ -6175,7 +6175,7 @@
sourceInformationMarkerStart(%composer, <>, "C:Test.kt")
if (true) {
%composer.endToMarker(tmp0_marker)
- return
+ return@Inline1
}
sourceInformationMarkerEnd(%composer)
}, %composer, 0)
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FcsTypeResolutionTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FcsTypeResolutionTests.kt
index ad921b5..72f0c67 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FcsTypeResolutionTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FcsTypeResolutionTests.kt
@@ -38,7 +38,7 @@
@Composable
fun Int.Foo(content: @Composable Int.(foo: String) -> Unit) {
- content<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>
+ content<!NO_VALUE_FOR_PARAMETER!>()<!>
}
@Composable
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
index 2cd3d0b..1ed753c 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RememberIntrinsicTransformTests.kt
@@ -1167,10 +1167,10 @@
if (isTraceInProgress()) {
traceEventStart(<>, %dirty, -1, <>)
}
- used(%composer.cache(%dirty and 0b1110 === 0b0100, {
+ used(%composer.cache(%dirty and 0b1110 === 0b0100) {
effect()
}
- ))
+ )
if (isTraceInProgress()) {
traceEventEnd()
}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RunComposableTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RunComposableTests.kt
index 4aad0a8..2fc2e49 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RunComposableTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/RunComposableTests.kt
@@ -21,6 +21,7 @@
import androidx.compose.runtime.Composition
import androidx.compose.runtime.MonotonicFrameClock
import androidx.compose.runtime.Recomposer
+import java.net.URLClassLoader
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.Dispatchers
@@ -31,9 +32,8 @@
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.setupLanguageVersionSettings
import org.jetbrains.kotlin.config.CompilerConfiguration
-import org.junit.Test
-import java.net.URLClassLoader
import org.junit.Assert.assertEquals
+import org.junit.Test
class RunComposableTests : AbstractCodegenTest() {
override fun CompilerConfiguration.updateConfiguration() {
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableDeclarationCheckerTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableDeclarationCheckerTests.kt
index 07aa897..2c611cf 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableDeclarationCheckerTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableDeclarationCheckerTests.kt
@@ -128,7 +128,7 @@
acceptSuspend <!TYPE_MISMATCH!>@Composable {}<!>
acceptComposableSuspend @Composable {}
acceptComposableSuspend(composableLambda)
- acceptSuspend(<!COMPOSABLE_SUSPEND_FUN, TYPE_MISMATCH!>@Composable suspend fun() { }<!>)
+ acceptSuspend(<!COMPOSABLE_SUSPEND_FUN,TYPE_MISMATCH!>@Composable suspend fun() { }<!>)
}
"""
)
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt
index 51ed468..ec3ef15 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt
@@ -39,13 +39,13 @@
import com.sun.jdi.request.StepRequest
import com.sun.tools.jdi.SocketAttachingConnector
import java.io.File
+import java.net.URL
+import java.net.URLClassLoader
+import kotlin.properties.Delegates
import org.intellij.lang.annotations.Language
import org.jetbrains.kotlin.backend.common.output.SimpleOutputFileCollection
import org.jetbrains.kotlin.cli.common.output.writeAllTo
import org.jetbrains.kotlin.codegen.GeneratedClassLoader
-import java.net.URL
-import java.net.URLClassLoader
-import kotlin.properties.Delegates
import org.junit.After
import org.junit.AfterClass
import org.junit.Before
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposableTargetChecker.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposableTargetChecker.kt
index bd9e032..a6f50fa 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposableTargetChecker.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposableTargetChecker.kt
@@ -17,9 +17,8 @@
package androidx.compose.compiler.plugins.kotlin
import androidx.compose.compiler.plugins.kotlin.analysis.ComposeWritableSlices
-import androidx.compose.compiler.plugins.kotlin.inference.ErrorReporter
-import androidx.compose.compiler.plugins.kotlin.inference.TypeAdapter
import androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer
+import androidx.compose.compiler.plugins.kotlin.inference.ErrorReporter
import androidx.compose.compiler.plugins.kotlin.inference.Item
import androidx.compose.compiler.plugins.kotlin.inference.LazyScheme
import androidx.compose.compiler.plugins.kotlin.inference.LazySchemeStorage
@@ -28,6 +27,7 @@
import androidx.compose.compiler.plugins.kotlin.inference.Open
import androidx.compose.compiler.plugins.kotlin.inference.Scheme
import androidx.compose.compiler.plugins.kotlin.inference.Token
+import androidx.compose.compiler.plugins.kotlin.inference.TypeAdapter
import androidx.compose.compiler.plugins.kotlin.inference.deserializeScheme
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.backend.jvm.ir.psiElement
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposeFlags.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposeFlags.kt
deleted file mode 100644
index 99d7528..0000000
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ComposeFlags.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2019 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.compose.compiler.plugins.kotlin
-
-object ComposeFlags {
- var FRAMED_COMPONENTS = false
- var FRAMED_MODEL_CLASSES = true
-}
\ No newline at end of file
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ValidatedAssignment.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ValidatedAssignment.kt
deleted file mode 100644
index 9646462..0000000
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/ValidatedAssignment.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2019 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.compose.compiler.plugins.kotlin
-
-import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
-import org.jetbrains.kotlin.descriptors.FunctionDescriptor
-import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
-import org.jetbrains.kotlin.types.KotlinType
-
-class ValidatedAssignment(
- val validationType: ValidationType,
- val validationCall: ResolvedCall<*>?,
- val uncheckedValidationCall: ResolvedCall<*>?,
- val assignment: ResolvedCall<*>?,
- val assignmentLambda: FunctionDescriptor?, // needed?
- val type: KotlinType,
- val name: String,
- val descriptor: DeclarationDescriptor
-)
-
-enum class ValidationType {
- CHANGED,
- SET,
- UPDATE
-}
\ No newline at end of file
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposeWritableSlices.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposeWritableSlices.kt
index 9261e3e..550b80e 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposeWritableSlices.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposeWritableSlices.kt
@@ -1,8 +1,8 @@
package androidx.compose.compiler.plugins.kotlin.analysis
-import androidx.compose.compiler.plugins.kotlin.lower.KeyInfo
import androidx.compose.compiler.plugins.kotlin.FunctionMetrics
import androidx.compose.compiler.plugins.kotlin.inference.LazyScheme
+import androidx.compose.compiler.plugins.kotlin.lower.KeyInfo
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.ir.declarations.IrAttributeContainer
import org.jetbrains.kotlin.ir.expressions.IrExpression
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTargetAnnotationsTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTargetAnnotationsTransformer.kt
index 2eb7e75..73ee72d 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTargetAnnotationsTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableTargetAnnotationsTransformer.kt
@@ -23,7 +23,6 @@
import androidx.compose.compiler.plugins.kotlin.analysis.ComposeWritableSlices
import androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer
import androidx.compose.compiler.plugins.kotlin.inference.ErrorReporter
-import androidx.compose.compiler.plugins.kotlin.inference.TypeAdapter
import androidx.compose.compiler.plugins.kotlin.inference.Item
import androidx.compose.compiler.plugins.kotlin.inference.LazyScheme
import androidx.compose.compiler.plugins.kotlin.inference.LazySchemeStorage
@@ -32,6 +31,7 @@
import androidx.compose.compiler.plugins.kotlin.inference.Open
import androidx.compose.compiler.plugins.kotlin.inference.Scheme
import androidx.compose.compiler.plugins.kotlin.inference.Token
+import androidx.compose.compiler.plugins.kotlin.inference.TypeAdapter
import androidx.compose.compiler.plugins.kotlin.inference.deserializeScheme
import androidx.compose.compiler.plugins.kotlin.irTrace
import androidx.compose.compiler.plugins.kotlin.mergeWith
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrInlineReferenceLocator.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrInlineReferenceLocator.kt
index f3b721c..7870f61 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrInlineReferenceLocator.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrInlineReferenceLocator.kt
@@ -61,7 +61,7 @@
val parent = declaration.parent as? IrFunction
if (parent?.isInlineFunctionCall(context) == true &&
declaration.isInlineParameter()) {
- declaration.defaultValue?.expression?.unwrapInlineLambda()?.let {
+ declaration.defaultValue?.expression?.unwrapLambda()?.let {
inlineLambdaToParameter[it] = declaration
}
}
@@ -74,7 +74,7 @@
for (parameter in function.valueParameters) {
if (parameter.isInlineParameter()) {
expression.getValueArgument(parameter.index)
- ?.unwrapInlineLambda()
+ ?.unwrapLambda()
?.let { inlineLambdaToParameter[it] = parameter }
}
}
@@ -96,8 +96,8 @@
it in context.irBuiltIns.primitiveArraysToPrimitiveTypes
}
-private fun IrExpression.unwrapInlineLambda(): IrFunctionSymbol? = when {
- this is IrBlock && origin.isInlinable ->
+fun IrExpression.unwrapLambda(): IrFunctionSymbol? = when {
+ this is IrBlock && origin.isLambdaBlockOrigin ->
(statements.lastOrNull() as? IrFunctionReference)?.symbol
this is IrFunctionExpression ->
@@ -107,6 +107,6 @@
null
}
-private val IrStatementOrigin?.isInlinable: Boolean
+private val IrStatementOrigin?.isLambdaBlockOrigin: Boolean
get() = isLambda || this == IrStatementOrigin.ADAPTED_FUNCTION_REFERENCE ||
this == IrStatementOrigin.SUSPEND_CONVERSION
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
index 01fc0be..ccf22cf 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
@@ -23,6 +23,7 @@
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.IrElement
+import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.IrAnnotationContainer
import org.jetbrains.kotlin.ir.declarations.IrClass
@@ -89,6 +90,7 @@
import org.jetbrains.kotlin.ir.expressions.IrWhen
import org.jetbrains.kotlin.ir.expressions.IrWhileLoop
import org.jetbrains.kotlin.ir.expressions.impl.IrIfThenElseImpl
+import org.jetbrains.kotlin.ir.symbols.IrReturnTargetSymbol
import org.jetbrains.kotlin.ir.symbols.IrTypeAliasSymbol
import org.jetbrains.kotlin.ir.types.IrDynamicType
import org.jetbrains.kotlin.ir.types.IrErrorType
@@ -115,6 +117,7 @@
import org.jetbrains.kotlin.ir.util.statements
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptVoid
+import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.utils.Printer
@@ -516,11 +519,16 @@
val arg = getValueArgument(i)
if (arg != null) {
val param = symbol.owner.valueParameters[i]
- val isTrailingLambda = i == symbol.owner.valueParameters.size - 1 &&
- (
- arg is IrFunctionExpression ||
- (arg is IrBlock && arg.origin == IrStatementOrigin.LAMBDA)
- )
+ val isLambda = arg is IrFunctionExpression ||
+ (arg is IrBlock &&
+ (arg.origin == IrStatementOrigin.LAMBDA ||
+ arg.origin == IrStatementOrigin.ADAPTED_FUNCTION_REFERENCE))
+ if (isLambda) {
+ arg.unwrapLambda()?.let {
+ returnTargetToCall[it] = this
+ }
+ }
+ val isTrailingLambda = i == symbol.owner.valueParameters.size - 1 && isLambda
if (isTrailingLambda) {
trailingLambda = arg
} else {
@@ -801,33 +809,42 @@
println("}")
}
+ // Map local return targets to the corresponding function call.
+ // This is used to print qualified returns.
+ private val returnTargetToCall =
+ mutableMapOf<IrReturnTargetSymbol, IrFunctionAccessExpression>()
+
+ private val IrFunction.isLambda: Boolean
+ get() = name.asString() == SpecialNames.ANONYMOUS_STRING ||
+ origin == IrDeclarationOrigin.ADAPTER_FOR_CALLABLE_REFERENCE
+
+ private fun IrExpression.isLastStatementIn(statements: List<IrStatement>): Boolean {
+ val lastStatement = statements.lastOrNull()
+ return when {
+ lastStatement === this -> true
+ lastStatement is IrBlock -> isLastStatementIn(lastStatement.statements)
+ else -> false
+ }
+ }
+
+ private fun IrExpression.isLastStatementIn(function: IrFunction): Boolean =
+ function.body?.let { isLastStatementIn(it.statements) } ?: false
+
override fun visitReturn(expression: IrReturn) {
val value = expression.value
- // only print the return statement directly if it is not a lambda
+ // Only print the return statement directly if it is not the last statement in a lambda
val returnTarget = expression.returnTargetSymbol.owner
- if (returnTarget !is IrFunction ||
- returnTarget.origin != IrDeclarationOrigin.ADAPTER_FOR_CALLABLE_REFERENCE) {
-
- val isLastStatementInLambda =
- returnTarget is IrFunction &&
- returnTarget.name.asString() == "<anonymous>" &&
- returnTarget.body?.statements?.last().let {
- it == expression || (it is IrBlock && it.statements.last() == expression)
- }
-
- if (!isLastStatementInLambda) {
- print("return ")
- }
+ if (returnTarget !is IrFunction || !returnTarget.isLambda ||
+ !expression.isLastStatementIn(returnTarget)) {
+ val suffix = returnTargetToCall[returnTarget.symbol]?.let {
+ "@${it.symbol.owner.name}"
+ } ?: ""
+ print("return$suffix ")
}
- if (expression.type.isUnit() || value.type.isUnit()) {
- if (value is IrGetObjectValue) {
- return
- } else {
- value.print()
- }
- } else {
- value.print()
+ if (value.type.isUnit() && value is IrGetObjectValue) {
+ return
}
+ value.print()
}
override fun visitBlock(expression: IrBlock) {
diff --git a/compose/compiler/compiler/integration-tests/src/test/kotlin/androidx/compose/compiler/test/CompilerPluginRuntimeVersionCheckTest.kt b/compose/compiler/compiler/integration-tests/src/test/kotlin/androidx/compose/compiler/test/CompilerPluginRuntimeVersionCheckTest.kt
index fd0bf61..9559f16 100644
--- a/compose/compiler/compiler/integration-tests/src/test/kotlin/androidx/compose/compiler/test/CompilerPluginRuntimeVersionCheckTest.kt
+++ b/compose/compiler/compiler/integration-tests/src/test/kotlin/androidx/compose/compiler/test/CompilerPluginRuntimeVersionCheckTest.kt
@@ -17,6 +17,10 @@
package androidx.compose.compiler.test
import androidx.testutils.gradle.ProjectSetupRule
+import java.io.File
+import javax.xml.parsers.DocumentBuilderFactory
+import javax.xml.xpath.XPathConstants
+import javax.xml.xpath.XPathFactory
import org.gradle.testkit.runner.GradleRunner
import org.gradle.testkit.runner.TaskOutcome
import org.junit.Assert.assertEquals
@@ -26,10 +30,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.io.File
-import javax.xml.parsers.DocumentBuilderFactory
-import javax.xml.xpath.XPathConstants
-import javax.xml.xpath.XPathFactory
@RunWith(JUnit4::class)
class CompilerPluginRuntimeVersionCheckTest {
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/example1/Main.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/example1/Main.jvm.kt
index 584efe8..8bf13c0 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/example1/Main.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/example1/Main.jvm.kt
@@ -24,7 +24,6 @@
import androidx.compose.foundation.Image
import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.VerticalScrollbar
-import androidx.compose.foundation.mouseClickable
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
@@ -42,6 +41,7 @@
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState
+import androidx.compose.foundation.mouseClickable
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.rememberScrollbarAdapter
import androidx.compose.foundation.shape.CircleShape
@@ -75,29 +75,29 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
-import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.FocusRequester
+import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shadow
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.input.key.Key
-import androidx.compose.ui.input.pointer.isAltPressed
-import androidx.compose.ui.input.pointer.isCtrlPressed
-import androidx.compose.ui.input.pointer.isMetaPressed
-import androidx.compose.ui.input.pointer.isPrimaryPressed
-import androidx.compose.ui.input.pointer.isSecondaryPressed
-import androidx.compose.ui.input.pointer.isShiftPressed
-import androidx.compose.ui.input.pointer.isTertiaryPressed
import androidx.compose.ui.input.key.isMetaPressed
import androidx.compose.ui.input.key.isShiftPressed
import androidx.compose.ui.input.key.key
import androidx.compose.ui.input.key.onPreviewKeyEvent
import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.PointerIcon
+import androidx.compose.ui.input.pointer.isAltPressed
import androidx.compose.ui.input.pointer.isBackPressed
+import androidx.compose.ui.input.pointer.isCtrlPressed
import androidx.compose.ui.input.pointer.isForwardPressed
+import androidx.compose.ui.input.pointer.isMetaPressed
+import androidx.compose.ui.input.pointer.isPrimaryPressed
+import androidx.compose.ui.input.pointer.isSecondaryPressed
+import androidx.compose.ui.input.pointer.isShiftPressed
+import androidx.compose.ui.input.pointer.isTertiaryPressed
import androidx.compose.ui.input.pointer.pointerHoverIcon
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalUriHandler
@@ -118,15 +118,15 @@
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
-import androidx.compose.ui.window.Window
import androidx.compose.ui.window.FrameWindowScope
+import androidx.compose.ui.window.Window
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.launchApplication
import androidx.compose.ui.window.rememberWindowState
import androidx.compose.ui.window.singleWindowApplication
+import kotlin.random.Random
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
-import kotlin.random.Random
private const val title = "Desktop Compose Elements"
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt
index 2b9d6c4..912f063 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt
@@ -17,9 +17,9 @@
package androidx.compose.desktop.examples.popupexample
import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.compose.foundation.background
import androidx.compose.foundation.TooltipArea
import androidx.compose.foundation.TooltipPlacement
+import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/swingexample/Main.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/swingexample/Main.jvm.kt
index cb1aa60..06ddea7 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/swingexample/Main.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/swingexample/Main.jvm.kt
@@ -47,13 +47,11 @@
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.launchApplication
import androidx.compose.ui.window.rememberWindowState
-import kotlinx.coroutines.DelicateCoroutinesApi
-import kotlinx.coroutines.GlobalScope
import java.awt.BorderLayout
import java.awt.Color as awtColor
import java.awt.Component
-import java.awt.GridLayout
import java.awt.Dimension
+import java.awt.GridLayout
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.JButton
@@ -61,6 +59,8 @@
import javax.swing.JPanel
import javax.swing.SwingUtilities
import javax.swing.WindowConstants
+import kotlinx.coroutines.DelicateCoroutinesApi
+import kotlinx.coroutines.GlobalScope
val northClicks = mutableStateOf(0)
val westClicks = mutableStateOf(0)
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Examples.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Examples.jvm.kt
index e360681..a74900c 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Examples.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Examples.jvm.kt
@@ -60,6 +60,12 @@
import androidx.compose.ui.window.launchApplication
import androidx.compose.ui.window.rememberNotification
import androidx.compose.ui.window.rememberWindowState
+import java.awt.Dimension
+import java.awt.FileDialog
+import java.awt.Frame
+import java.awt.event.WindowAdapter
+import java.awt.event.WindowEvent
+import javax.imageio.ImageIO
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
@@ -67,12 +73,6 @@
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
-import java.awt.Dimension
-import java.awt.FileDialog
-import java.awt.Frame
-import java.awt.event.WindowAdapter
-import java.awt.event.WindowEvent
-import javax.imageio.ImageIO
@OptIn(DelicateCoroutinesApi::class)
fun helloWorld() = GlobalScope.launchApplication {
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SpacingBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SpacingBenchmark.kt
index 182d5b4..d0d5564 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SpacingBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SpacingBenchmark.kt
@@ -37,16 +37,16 @@
import androidx.compose.testutils.benchmark.toggleStateBenchmarkLayout
import androidx.compose.testutils.benchmark.toggleStateBenchmarkMeasure
import androidx.compose.testutils.benchmark.toggleStateBenchmarkRecompose
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.offset
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/AspectRatioSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/AspectRatioSample.kt
index 9063cd8..7a7f5b5 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/AspectRatioSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/AspectRatioSample.kt
@@ -17,8 +17,8 @@
package androidx.compose.foundation.layout.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxWithConstraintsSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxWithConstraintsSample.kt
index 8c17d20..0222c88 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxWithConstraintsSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxWithConstraintsSample.kt
@@ -17,8 +17,8 @@
package androidx.compose.foundation.layout.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.size
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/ColumnSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/ColumnSample.kt
index 66fd1c0..c4cfe09 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/ColumnSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/ColumnSample.kt
@@ -17,18 +17,18 @@
package androidx.compose.foundation.layout.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
-import androidx.compose.ui.layout.VerticalAlignmentLine
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.layout.Layout
+import androidx.compose.ui.layout.VerticalAlignmentLine
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import kotlin.math.max
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/LayoutPaddingSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/LayoutPaddingSample.kt
index b34d40f..86e4ea6 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/LayoutPaddingSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/LayoutPaddingSample.kt
@@ -18,8 +18,8 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.background
-import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.absolutePadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SizeModifierSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SizeModifierSample.kt
index 90a175c..ac4662d 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SizeModifierSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SizeModifierSample.kt
@@ -24,14 +24,14 @@
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.size
-import androidx.compose.foundation.layout.sizeIn
-import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.requiredSizeIn
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.sizeIn
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.layout.wrapContentWidth
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SpacerSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SpacerSample.kt
index fe7d2d5..ac36b09 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SpacerSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/SpacerSample.kt
@@ -17,8 +17,8 @@
package androidx.compose.foundation.layout.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.size
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/WindowInsetsPaddingSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/WindowInsetsPaddingSample.kt
index ae72f5e..44ff60d 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/WindowInsetsPaddingSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/WindowInsetsPaddingSample.kt
@@ -24,8 +24,8 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.ExperimentalLayoutApi
import androidx.compose.foundation.layout.MutableWindowInsets
-import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.captionBarPadding
import androidx.compose.foundation.layout.consumeWindowInsets
@@ -34,7 +34,6 @@
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.ime
import androidx.compose.foundation.layout.imePadding
-import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.layout.mandatorySystemGesturesPadding
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.navigationBarsPadding
@@ -51,6 +50,7 @@
import androidx.compose.foundation.layout.systemGesturesPadding
import androidx.compose.foundation.layout.union
import androidx.compose.foundation.layout.waterfallPadding
+import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AlignmentLineTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AlignmentLineTest.kt
index 02d5c5c..c8d896e 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AlignmentLineTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AlignmentLineTest.kt
@@ -39,14 +39,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.min
import org.junit.After
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.min
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AspectRatioTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AspectRatioTest.kt
index 71c17f1..460b85a 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AspectRatioTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/AspectRatioTest.kt
@@ -17,9 +17,9 @@
package androidx.compose.foundation.layout
import androidx.compose.runtime.Composable
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.node.Ref
import androidx.compose.ui.platform.InspectableValue
import androidx.compose.ui.platform.ValueElement
@@ -27,17 +27,17 @@
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxTest.kt
index 55c4cb4..913aff8 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxTest.kt
@@ -40,14 +40,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxWithConstraintsTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxWithConstraintsTest.kt
index a4c46cf..d3cdacb 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxWithConstraintsTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/BoxWithConstraintsTest.kt
@@ -35,8 +35,8 @@
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.paint
import androidx.compose.ui.draw.drawBehind
+import androidx.compose.ui.draw.paint
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.layout.Layout
@@ -57,15 +57,15 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.test.rule.ActivityTestRule
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertTrue
+import org.junit.Test
+import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/IntrinsicTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/IntrinsicTest.kt
index 0d96ae64..dcc13ab 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/IntrinsicTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/IntrinsicTest.kt
@@ -17,33 +17,33 @@
package androidx.compose.foundation.layout
import androidx.compose.runtime.Composable
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.layout.IntrinsicMeasurable
import androidx.compose.ui.layout.IntrinsicMeasureScope
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.LayoutCoordinates
import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasurePolicy
import androidx.compose.ui.layout.MeasureResult
import androidx.compose.ui.layout.MeasureScope
-import androidx.compose.ui.node.Ref
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.onSizeChanged
+import androidx.compose.ui.node.Ref
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.constrainHeight
import androidx.compose.ui.unit.constrainWidth
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/LayoutTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/LayoutTest.kt
index 7b3e8ca..bfc6d1d 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/LayoutTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/LayoutTest.kt
@@ -54,6 +54,9 @@
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isFinite
import androidx.compose.ui.unit.offset
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.max
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking
import org.junit.Assert.assertEquals
@@ -62,9 +65,6 @@
import org.junit.Assert.fail
import org.junit.Before
import org.junit.Rule
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.max
open class LayoutTest {
@Suppress("DEPRECATION")
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/OffsetTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/OffsetTest.kt
index a20f98e..b784301 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/OffsetTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/OffsetTest.kt
@@ -40,6 +40,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import org.junit.After
import org.junit.Assert
import org.junit.Assert.assertEquals
@@ -48,7 +49,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/PaddingTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/PaddingTest.kt
index cb1732a..d1af40b1 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/PaddingTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/PaddingTest.kt
@@ -19,12 +19,12 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Alignment
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.LayoutCoordinates
-import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.layout.onGloballyPositioned
+import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.platform.InspectableValue
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.ValueElement
@@ -34,8 +34,12 @@
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import org.junit.After
import org.junit.Assert
import org.junit.Assert.assertEquals
@@ -43,10 +47,6 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SizeTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SizeTest.kt
index cee92f7..46f3307 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SizeTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SizeTest.kt
@@ -22,20 +22,20 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.layout.IntrinsicMeasurable
import androidx.compose.ui.layout.IntrinsicMeasureScope
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.LayoutCoordinates
import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasurePolicy
import androidx.compose.ui.layout.MeasureResult
import androidx.compose.ui.layout.MeasureScope
-import androidx.compose.ui.node.Ref
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInParent
import androidx.compose.ui.layout.positionInRoot
+import androidx.compose.ui.node.Ref
import androidx.compose.ui.platform.InspectableValue
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.ValueElement
@@ -48,21 +48,21 @@
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.constrain
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.MediumTest
+import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import org.junit.After
import org.junit.Assert.assertEquals
+import org.junit.Assert.assertNotEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.MediumTest
-import androidx.test.filters.SdkSuppress
-import org.junit.Assert.assertNotEquals
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SpacerTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SpacerTest.kt
index cb7da5b..6d2bb4e 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SpacerTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/SpacerTest.kt
@@ -21,14 +21,14 @@
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt
index 4872573..ca4f233 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt
@@ -16,13 +16,13 @@
package androidx.compose.foundation.layout
+import android.content.Context
import android.graphics.Insets as FrameworkInsets
import android.graphics.Rect as AndroidRect
-import android.view.WindowInsets as AndroidWindowInsets
-import android.content.Context
import android.os.Build
import android.view.View
import android.view.ViewGroup
+import android.view.WindowInsets as AndroidWindowInsets
import android.view.WindowInsetsAnimation
import android.view.animation.LinearInterpolator
import android.widget.FrameLayout
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt
index 5615d51..f6d68db 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt
@@ -17,10 +17,10 @@
package androidx.compose.foundation.layout
import android.graphics.Rect as AndroidRect
-import android.view.WindowInsets as AndroidWindowInsets
import android.os.Build
import android.view.View
import android.view.ViewGroup
+import android.view.WindowInsets as AndroidWindowInsets
import androidx.activity.ComponentActivity
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
diff --git a/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsets.android.kt b/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsets.android.kt
index c77441a..44a21ed 100644
--- a/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsets.android.kt
+++ b/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsets.android.kt
@@ -16,7 +16,6 @@
package androidx.compose.foundation.layout
-import androidx.core.graphics.Insets as AndroidXInsets
import android.os.Build
import android.view.View
import android.view.View.OnAttachStateChangeListener
@@ -28,16 +27,17 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshots.Snapshot
+import androidx.compose.ui.R
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.LocalView
+import androidx.compose.ui.unit.Density
+import androidx.compose.ui.unit.LayoutDirection
+import androidx.core.graphics.Insets as AndroidXInsets
import androidx.core.view.OnApplyWindowInsetsListener
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsAnimationCompat
import androidx.core.view.WindowInsetsCompat
import java.util.WeakHashMap
-import androidx.compose.ui.R
-import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.LayoutDirection
import org.jetbrains.annotations.TestOnly
internal fun AndroidXInsets.toInsetsValues(): InsetsValues =
diff --git a/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsConnection.android.kt b/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsConnection.android.kt
index e406da8..91d6cff 100644
--- a/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsConnection.android.kt
+++ b/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsConnection.android.kt
@@ -36,26 +36,26 @@
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
import androidx.compose.ui.input.nestedscroll.NestedScrollSource
import androidx.compose.ui.input.nestedscroll.nestedScroll
+import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.LocalView
-import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.Velocity
-import kotlin.math.roundToInt
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
-import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.debugInspectorInfo
import androidx.compose.ui.unit.Density
+import androidx.compose.ui.unit.LayoutDirection
+import androidx.compose.ui.unit.Velocity
import androidx.compose.ui.util.packFloats
import androidx.compose.ui.util.unpackFloat1
import androidx.compose.ui.util.unpackFloat2
import kotlin.math.abs
import kotlin.math.exp
import kotlin.math.ln
+import kotlin.math.roundToInt
import kotlin.math.sign
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.Job
import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
/**
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Arrangement.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Arrangement.kt
index a408742..b7e385e 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Arrangement.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Arrangement.kt
@@ -16,6 +16,7 @@
package androidx.compose.foundation.layout
+import androidx.compose.foundation.layout.internal.JvmDefaultWithCompatibility
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.Stable
import androidx.compose.ui.Alignment
@@ -25,7 +26,6 @@
import androidx.compose.ui.unit.dp
import kotlin.math.min
import kotlin.math.roundToInt
-import androidx.compose.foundation.layout.internal.JvmDefaultWithCompatibility
/**
* Used to specify the arrangement of the layout's children in layouts like [Row] or [Column] in
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/AspectRatio.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/AspectRatio.kt
index bd8c46e..03ba1e45 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/AspectRatio.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/AspectRatio.kt
@@ -17,12 +17,12 @@
package androidx.compose.foundation.layout
import androidx.compose.runtime.Stable
-import androidx.compose.ui.layout.Measurable
-import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.IntrinsicMeasurable
import androidx.compose.ui.layout.IntrinsicMeasureScope
+import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasureResult
+import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.node.LayoutModifierNode
import androidx.compose.ui.node.ModifierNodeElement
import androidx.compose.ui.platform.InspectorInfo
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Intrinsic.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Intrinsic.kt
index 4b382a7..d4b84a8 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Intrinsic.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Intrinsic.kt
@@ -17,13 +17,13 @@
package androidx.compose.foundation.layout
import androidx.compose.runtime.Stable
-import androidx.compose.ui.layout.LayoutModifier
-import androidx.compose.ui.layout.Measurable
-import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.IntrinsicMeasurable
import androidx.compose.ui.layout.IntrinsicMeasureScope
+import androidx.compose.ui.layout.LayoutModifier
+import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasureResult
+import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.constrain
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Spacer.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Spacer.kt
index 2dfc2c8..4ba62fe 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Spacer.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/Spacer.kt
@@ -18,13 +18,13 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.NonRestartableComposable
+import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasurePolicy
import androidx.compose.ui.layout.MeasureResult
import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.unit.Constraints
-import androidx.compose.ui.Modifier
/**
* Component that represents an empty space layout, whose size can be defined using
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerTestCase.kt
index ff79ab3..96778f3 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerTestCase.kt
@@ -37,8 +37,8 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalDensity
-import kotlinx.coroutines.runBlocking
import kotlin.random.Random
+import kotlinx.coroutines.runBlocking
/**
* Test case that puts many horizontal scrollers in a vertical scroller
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/TrailingLambdaBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/TrailingLambdaBenchmark.kt
index 73585f9..3cc15b9 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/TrailingLambdaBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/TrailingLambdaBenchmark.kt
@@ -30,11 +30,11 @@
import androidx.compose.testutils.benchmark.toggleStateBenchmarkRecompose
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/lazy/LazyGridScrollingBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/lazy/LazyGridScrollingBenchmark.kt
index d21da5c..2e190b3 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/lazy/LazyGridScrollingBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/lazy/LazyGridScrollingBenchmark.kt
@@ -25,10 +25,10 @@
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSize
-import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
-import androidx.compose.foundation.lazy.grid.LazyGridState
-import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.GridCells
+import androidx.compose.foundation.lazy.grid.LazyGridState
+import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
+import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.items
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.shape.RoundedCornerShape
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextDelegateBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextDelegateBenchmark.kt
index 9bb4429..101c12e 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextDelegateBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextDelegateBenchmark.kt
@@ -35,12 +35,12 @@
import androidx.compose.ui.unit.sp
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
+import kotlin.math.roundToInt
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.roundToInt
@OptIn(InternalFoundationTextApi::class)
@LargeTest
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextTestCase.kt
index 308b085..92c706c 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextTestCase.kt
@@ -32,8 +32,8 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalTextInputService
-import androidx.compose.ui.text.benchmark.RandomTextGenerator
import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.benchmark.RandomTextGenerator
import androidx.compose.ui.text.input.EditCommand
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.ImeOptions
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewTestCase.kt
index 7c7f2a5..eb41dcf 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewTestCase.kt
@@ -20,11 +20,11 @@
import android.view.View
import android.view.ViewGroup
import android.widget.HorizontalScrollView
+import androidx.compose.foundation.benchmark.NestedScrollerTestCase
import androidx.compose.testutils.ToggleableTestCase
import androidx.compose.testutils.benchmark.android.AndroidTestCase
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
-import androidx.compose.foundation.benchmark.NestedScrollerTestCase
import kotlin.random.Random
/**
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/DrawModifiersDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/DrawModifiersDemo.kt
index 0c0c3eb..ca3fffe 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/DrawModifiersDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/DrawModifiersDemo.kt
@@ -19,8 +19,8 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.samples.BorderSample
import androidx.compose.foundation.samples.BorderSampleWithBrush
import androidx.compose.foundation.samples.BorderSampleWithDataClass
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/OverscrollDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/OverscrollDemo.kt
index df7592a..c375e4e 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/OverscrollDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/OverscrollDemo.kt
@@ -20,9 +20,9 @@
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.samples.OverscrollSample
import androidx.compose.foundation.samples.OverscrollWithDraggable_After
import androidx.compose.foundation.samples.OverscrollWithDraggable_Before
-import androidx.compose.foundation.samples.OverscrollSample
import androidx.compose.foundation.verticalScroll
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/PointerIconDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/PointerIconDemo.kt
index 6a4a6cd..4c73cb5 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/PointerIconDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/PointerIconDemo.kt
@@ -26,8 +26,8 @@
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.integration.demos.common.ComposableDemo
-import androidx.compose.runtime.Composable
import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/SuspendingGesturesDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/SuspendingGesturesDemo.kt
index 6bae60a..4a3744e 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/SuspendingGesturesDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/SuspendingGesturesDemo.kt
@@ -20,8 +20,8 @@
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
import androidx.compose.foundation.border
-import androidx.compose.foundation.gestures.detectDragGestures
import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.detectDragGestures
import androidx.compose.foundation.gestures.detectHorizontalDragGestures
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.detectTransformGestures
@@ -33,12 +33,12 @@
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
-import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.offset
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.size
import androidx.compose.integration.demos.common.ComposableDemo
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyGridSnappingDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyGridSnappingDemos.kt
index 7b7ec83..86151d9 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyGridSnappingDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyGridSnappingDemos.kt
@@ -19,8 +19,8 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.FlingBehavior
-import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior
import androidx.compose.foundation.gestures.snapping.SnapLayoutInfoProvider
+import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeFontPadding.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeFontPadding.kt
index 3e76a2e..d20cf1b 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeFontPadding.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeFontPadding.kt
@@ -43,10 +43,10 @@
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.text.Placeholder
import androidx.compose.ui.text.PlaceholderVerticalAlign
+import androidx.compose.ui.text.PlatformTextStyle
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.buildAnnotatedString
-import androidx.compose.ui.text.PlatformTextStyle
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.tooling.preview.Preview
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeText.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeText.kt
index 709067a..5a10e21 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeText.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeText.kt
@@ -44,8 +44,8 @@
import androidx.compose.material.Icon
import androidx.compose.material.IconButton
import androidx.compose.material.ListItem
-import androidx.compose.material.Slider
import androidx.compose.material.RadioButton
+import androidx.compose.material.Slider
import androidx.compose.material.Switch
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextAccessibility.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextAccessibility.kt
index 3f36fd9..f3ccb2e 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextAccessibility.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextAccessibility.kt
@@ -16,8 +16,8 @@
package androidx.compose.foundation.demos.text
-import androidx.compose.material.Text
import androidx.compose.foundation.layout.Column
+import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.text.ExperimentalTextApi
import androidx.compose.ui.text.SpanStyle
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelection.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelection.kt
index d251f63..fcfec76 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelection.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelection.kt
@@ -24,12 +24,12 @@
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.text.selection.DisableSelection
+import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.foundation.text.selection.DisableSelection
-import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.buildAnnotatedString
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelectionSample.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelectionSample.kt
index 01670e0..9d63ed7 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelectionSample.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextSelectionSample.kt
@@ -24,15 +24,15 @@
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
+import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.withStyle
import androidx.compose.ui.text.buildAnnotatedString
+import androidx.compose.ui.text.withStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldFocusKeyboardInteraction.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldFocusKeyboardInteraction.kt
index e57604b..0d01e6b 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldFocusKeyboardInteraction.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldFocusKeyboardInteraction.kt
@@ -16,11 +16,11 @@
package androidx.compose.foundation.demos.text
-import android.widget.Button as AndroidButton
import android.content.Context
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.view.inputmethod.EditorInfo
+import android.widget.Button as AndroidButton
import android.widget.EditText
import android.widget.LinearLayout
import androidx.compose.foundation.border
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VariableFontsDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VariableFontsDemo.kt
index 843f8fe..8e052ff 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VariableFontsDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VariableFontsDemo.kt
@@ -25,7 +25,6 @@
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
-import androidx.testutils.fonts.R
import androidx.compose.foundation.demos.text.FontVariationSettingsCompot.compatSetFontVariationSettings
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -54,6 +53,7 @@
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
+import androidx.testutils.fonts.R
import java.io.File
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt
index 2cc6ff7..96b1a1e 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt
@@ -18,8 +18,8 @@
import android.util.Log
import androidx.annotation.Sampled
-import androidx.compose.foundation.text.ClickableText
import androidx.compose.foundation.gestures.detectTapGestures
+import androidx.compose.foundation.text.ClickableText
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DragGestureDetectorSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DragGestureDetectorSamples.kt
index ed0b6f4..d08b4cf 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DragGestureDetectorSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DragGestureDetectorSamples.kt
@@ -19,6 +19,7 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.awaitDragOrCancellation
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitHorizontalDragOrCancellation
import androidx.compose.foundation.gestures.awaitHorizontalTouchSlopOrCancellation
@@ -27,7 +28,6 @@
import androidx.compose.foundation.gestures.awaitVerticalTouchSlopOrCancellation
import androidx.compose.foundation.gestures.detectDragGestures
import androidx.compose.foundation.gestures.detectDragGesturesAfterLongPress
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.detectHorizontalDragGestures
import androidx.compose.foundation.gestures.detectVerticalDragGestures
import androidx.compose.foundation.gestures.drag
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/FocusableSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/FocusableSample.kt
index e394ae4..c90595b 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/FocusableSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/FocusableSample.kt
@@ -20,8 +20,8 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.border
import androidx.compose.foundation.focusGroup
-import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.focusable
+import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.interaction.collectIsFocusedAsState
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionSourceSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionSourceSample.kt
index 4b8fb36..ffe33b6 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionSourceSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionSourceSample.kt
@@ -18,17 +18,17 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.BorderStroke
-import androidx.compose.foundation.interaction.DragInteraction
-import androidx.compose.foundation.interaction.Interaction
-import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.LocalIndication
-import androidx.compose.foundation.interaction.PressInteraction
import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.draggable
import androidx.compose.foundation.gestures.rememberDraggableState
import androidx.compose.foundation.indication
+import androidx.compose.foundation.interaction.DragInteraction
+import androidx.compose.foundation.interaction.Interaction
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.interaction.PressInteraction
import androidx.compose.foundation.interaction.collectIsDraggedAsState
import androidx.compose.foundation.interaction.collectIsPressedAsState
import androidx.compose.foundation.layout.Box
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollerSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollerSamples.kt
index b0028b7..9a1430e 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollerSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollerSamples.kt
@@ -17,17 +17,17 @@
package androidx.compose.foundation.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.gestures.scrollBy
-import androidx.compose.foundation.gestures.animateScrollBy
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
+import androidx.compose.foundation.gestures.animateScrollBy
+import androidx.compose.foundation.gestures.scrollBy
import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectionSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectionSample.kt
index 2d93ad6..38973fb 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectionSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectionSample.kt
@@ -18,10 +18,10 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.layout.Column
-import androidx.compose.material.Text
-import androidx.compose.runtime.Composable
import androidx.compose.foundation.text.selection.DisableSelection
import androidx.compose.foundation.text.selection.SelectionContainer
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
@Sampled
@Composable
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TapGestureSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TapGestureSamples.kt
index 9255c67..b78ea5d 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TapGestureSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TapGestureSamples.kt
@@ -20,9 +20,9 @@
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
import androidx.compose.foundation.border
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitLongPressOrCancellation
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformGestureSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformGestureSamples.kt
index d4940a6..f0c3785 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformGestureSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformGestureSamples.kt
@@ -18,14 +18,14 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.background
+import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.calculateCentroid
import androidx.compose.foundation.gestures.calculateCentroidSize
import androidx.compose.foundation.gestures.calculatePan
import androidx.compose.foundation.gestures.calculateRotation
import androidx.compose.foundation.gestures.calculateZoom
import androidx.compose.foundation.gestures.detectTransformGestures
-import androidx.compose.foundation.gestures.awaitFirstDown
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.offset
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BorderTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BorderTest.kt
index 599ccd0..1eb8626 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BorderTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BorderTest.kt
@@ -19,8 +19,8 @@
import android.os.Build
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.requiredSize
+import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.GenericShape
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -54,13 +54,13 @@
import androidx.compose.ui.unit.dp
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import kotlin.math.floor
+import kotlin.math.roundToInt
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.floor
-import kotlin.math.roundToInt
@MediumTest
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ImageTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ImageTest.kt
index f852d45..364d71f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ImageTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ImageTest.kt
@@ -19,9 +19,9 @@
import android.os.Build
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.heightIn
+import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.sizeIn
-import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.test.R
import androidx.compose.runtime.mutableStateOf
@@ -41,8 +41,8 @@
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.asAndroidBitmap
import androidx.compose.ui.graphics.drawscope.CanvasDrawScope
-import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.graphics.toPixelMap
import androidx.compose.ui.layout.ContentScale
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/IndicationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/IndicationTest.kt
index 64ba70c..6de2d3d 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/IndicationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/IndicationTest.kt
@@ -37,6 +37,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
@@ -45,8 +47,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SystemGestureExclusionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SystemGestureExclusionTest.kt
index 17e0b89..8314fe4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SystemGestureExclusionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SystemGestureExclusionTest.kt
@@ -16,6 +16,7 @@
package androidx.compose.foundation
+import android.graphics.Rect as AndroidRect
import android.os.Build
import android.view.View
import android.view.ViewGroup
@@ -41,7 +42,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import android.graphics.Rect as AndroidRect
/**
* Testing the support for Android Views in Compose UI.
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitEachGestureTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitEachGestureTest.kt
index 592c0df..2107d07 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitEachGestureTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitEachGestureTest.kt
@@ -34,14 +34,14 @@
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.cancel
import kotlinx.coroutines.coroutineScope
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitTouchEventTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitTouchEventTest.kt
index 591e968..851df06 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitTouchEventTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/AwaitTouchEventTest.kt
@@ -16,9 +16,9 @@
package androidx.compose.foundation.gesture
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitLongPressOrCancellation
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.text.BasicText
import androidx.compose.ui.Modifier
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/ForEachGestureTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/ForEachGestureTest.kt
index 5660223..59f9952 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/ForEachGestureTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/ForEachGestureTest.kt
@@ -31,10 +31,6 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Assert.assertTrue
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CancellationException
@@ -42,6 +38,10 @@
import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
+import org.junit.Assert.assertTrue
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
@Suppress("DEPRECATION")
@MediumTest
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapFlingBehaviorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapFlingBehaviorTest.kt
index 39f045c..af3679b 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapFlingBehaviorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapFlingBehaviorTest.kt
@@ -24,7 +24,10 @@
import androidx.compose.foundation.gestures.snapping.SnapLayoutInfoProvider
import androidx.compose.foundation.gestures.snapping.SnapPositionInLayout.Companion.CenterToCenter
import androidx.compose.foundation.gestures.snapping.calculateDistanceToDesiredSnapPosition
+import androidx.compose.foundation.gestures.snapping.offsetOnMainAxis
import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior
+import androidx.compose.foundation.gestures.snapping.singleAxisViewportSize
+import androidx.compose.foundation.gestures.snapping.sizeOnMainAxis
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
@@ -469,11 +472,16 @@
var itemIndex = -1
if (state == null) return -1
var minDistance = Float.POSITIVE_INFINITY
+ val layoutInfo = state.layoutInfo
(state.layoutInfo.visibleItemsInfo).forEach {
val distance = calculateDistanceToDesiredSnapPosition(
- state.layoutInfo,
- it,
- CenterToCenter
+ mainAxisViewPortSize = layoutInfo.singleAxisViewportSize,
+ beforeContentPadding = layoutInfo.beforeContentPadding,
+ afterContentPadding = layoutInfo.afterContentPadding,
+ itemSize = it.sizeOnMainAxis(orientation = layoutInfo.orientation),
+ itemOffset = it.offsetOnMainAxis(orientation = layoutInfo.orientation),
+ itemIndex = it.index,
+ snapPositionInLayout = CenterToCenter
)
if (abs(distance) < minDistance) {
minDistance = abs(distance)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapFlingBehaviorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapFlingBehaviorTest.kt
index 3153d92..603bbf7 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapFlingBehaviorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapFlingBehaviorTest.kt
@@ -26,6 +26,7 @@
import androidx.compose.foundation.gestures.snapping.SnapPositionInLayout.Companion.CenterToCenter
import androidx.compose.foundation.gestures.snapping.calculateDistanceToDesiredSnapPosition
import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior
+import androidx.compose.foundation.gestures.snapping.singleAxisViewportSize
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
@@ -457,11 +458,16 @@
var itemIndex = -1
if (state == null) return -1
var minDistance = Float.POSITIVE_INFINITY
+ val layoutInfo = state.layoutInfo
(state.layoutInfo.visibleItemsInfo).forEach {
val distance = calculateDistanceToDesiredSnapPosition(
- state.layoutInfo,
- it,
- CenterToCenter
+ mainAxisViewPortSize = layoutInfo.singleAxisViewportSize,
+ beforeContentPadding = layoutInfo.beforeContentPadding,
+ afterContentPadding = layoutInfo.afterContentPadding,
+ itemSize = it.size,
+ itemOffset = it.offset,
+ itemIndex = it.index,
+ snapPositionInLayout = CenterToCenter
)
if (abs(distance) < minDistance) {
minDistance = abs(distance)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateItemPlacementTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateItemPlacementTest.kt
index 030e1d7..5885114 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateItemPlacementTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateItemPlacementTest.kt
@@ -18,6 +18,8 @@
import androidx.compose.animation.core.FiniteAnimationSpec
import androidx.compose.animation.core.LinearEasing
+import androidx.compose.animation.core.VisibilityThreshold
+import androidx.compose.animation.core.spring
import androidx.compose.animation.core.tween
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.scrollBy
@@ -28,6 +30,8 @@
import androidx.compose.foundation.layout.requiredHeightIn
import androidx.compose.foundation.layout.requiredWidth
import androidx.compose.foundation.layout.requiredWidthIn
+import androidx.compose.foundation.lazy.list.getValueAtFrame
+import androidx.compose.foundation.lazy.list.getVelocityAtFrame
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -2254,6 +2258,70 @@
}
}
+ @Test
+ fun interruptedSizeChange() {
+ var item0Size by mutableStateOf(itemSizeDp)
+ val animSpec = spring(visibilityThreshold = IntOffset.VisibilityThreshold)
+ rule.setContent {
+ LazyGrid(cells = 1) {
+ items(2, key = { it }) {
+ Item(it, if (it == 0) item0Size else itemSizeDp, animSpec = animSpec)
+ }
+ }
+ }
+
+ rule.runOnUiThread {
+ item0Size = itemSize2Dp
+ }
+
+ rule.waitForIdle()
+ rule.mainClock.advanceTimeByFrame()
+ onAnimationFrame(duration = FrameDuration) { fraction ->
+ if (fraction == 0f) {
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, itemSize)
+ )
+ } else {
+ assertThat(fraction).isEqualTo(1f)
+ val valueAfterOneFrame =
+ animSpec.getValueAtFrame(1, from = itemSize, to = itemSize2)
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, valueAfterOneFrame)
+ )
+ }
+ }
+
+ rule.runOnUiThread {
+ item0Size = 0.dp
+ }
+
+ rule.waitForIdle()
+ val startValue = animSpec.getValueAtFrame(2, from = itemSize, to = itemSize2)
+ val startVelocity = animSpec.getVelocityAtFrame(2, from = itemSize, to = itemSize2)
+ onAnimationFrame(duration = FrameDuration) { fraction ->
+ if (fraction == 0f) {
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, startValue)
+ )
+ } else {
+ assertThat(fraction).isEqualTo(1f)
+ val valueAfterThreeFrames = animSpec.getValueAtFrame(
+ 1,
+ from = startValue,
+ to = 0f,
+ initialVelocity = startVelocity
+ )
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, valueAfterThreeFrames)
+ )
+ }
+ }
+ }
+
private fun AxisOffset(crossAxis: Float, mainAxis: Float) =
if (isVertical) Offset(crossAxis, mainAxis) else Offset(mainAxis, crossAxis)
@@ -2337,9 +2405,11 @@
for (i in 0..duration step FrameDuration) {
val fraction = i / duration.toFloat()
onFrame(fraction)
- rule.mainClock.advanceTimeBy(FrameDuration)
- expectedTime += FrameDuration
- assertThat(expectedTime).isEqualTo(rule.mainClock.currentTime)
+ if (i < duration) {
+ rule.mainClock.advanceTimeBy(FrameDuration)
+ expectedTime += FrameDuration
+ assertThat(expectedTime).isEqualTo(rule.mainClock.currentTime)
+ }
}
}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridsIndexedTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridsIndexedTest.kt
index d6b35bd..53934b3 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridsIndexedTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridsIndexedTest.kt
@@ -17,8 +17,8 @@
package androidx.compose.foundation.lazy.grid
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.text.BasicText
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyNestedScrollingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyNestedScrollingTest.kt
index eba984d..25502d0 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyNestedScrollingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyNestedScrollingTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.foundation.lazy.grid
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.ScrollableState
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.requiredSize
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.layout.requiredHeight
+import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.lazy.list.TestTouchSlop
import androidx.compose.foundation.lazy.list.scrollBy
import androidx.compose.foundation.lazy.list.setContentWithTestViewConfiguration
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyScrollTest.kt
index c868e03..fc52c37 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyScrollTest.kt
@@ -24,8 +24,8 @@
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.Dp
import androidx.test.filters.MediumTest
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt
index fa60831..2763637 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt
@@ -18,6 +18,10 @@
import androidx.compose.animation.core.FiniteAnimationSpec
import androidx.compose.animation.core.LinearEasing
+import androidx.compose.animation.core.SpringSpec
+import androidx.compose.animation.core.VectorConverter
+import androidx.compose.animation.core.VisibilityThreshold
+import androidx.compose.animation.core.spring
import androidx.compose.animation.core.tween
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.scrollBy
@@ -65,14 +69,15 @@
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import kotlinx.coroutines.runBlocking
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.runners.Parameterized
-import kotlin.math.roundToInt
import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@LargeTest
@RunWith(Parameterized::class)
@@ -1703,6 +1708,58 @@
}
}
+ @Test
+ fun interruptedSizeChange() {
+ var item0Size by mutableStateOf(itemSizeDp)
+ val animSpec = spring(visibilityThreshold = IntOffset.VisibilityThreshold)
+ rule.setContent {
+ LazyList {
+ items(2, key = { it }) {
+ Item(it, if (it == 0) item0Size else itemSizeDp, animSpec = animSpec)
+ }
+ }
+ }
+
+ rule.runOnUiThread {
+ item0Size = itemSize2Dp
+ }
+
+ rule.waitForIdle()
+ rule.mainClock.advanceTimeByFrame()
+ onAnimationFrame(duration = FrameDuration) { fraction ->
+ if (fraction == 0f) {
+ assertPositions(0 to 0f, 1 to itemSize)
+ } else {
+ assertThat(fraction).isEqualTo(1f)
+ val valueAfterOneFrame =
+ animSpec.getValueAtFrame(1, from = itemSize, to = itemSize2)
+ assertPositions(0 to 0f, 1 to valueAfterOneFrame, fraction = fraction)
+ }
+ }
+
+ rule.runOnUiThread {
+ item0Size = 0.dp
+ }
+
+ rule.waitForIdle()
+ val startValue = animSpec.getValueAtFrame(2, from = itemSize, to = itemSize2)
+ val startVelocity = animSpec.getVelocityAtFrame(2, from = itemSize, to = itemSize2)
+ onAnimationFrame(duration = FrameDuration) { fraction ->
+ if (fraction == 0f) {
+ assertPositions(0 to 0f, 1 to startValue)
+ } else {
+ assertThat(fraction).isEqualTo(1f)
+ val valueAfterThreeFrames = animSpec.getValueAtFrame(
+ 1,
+ from = startValue,
+ to = 0f,
+ initialVelocity = startVelocity
+ )
+ assertPositions(0 to 0f, 1 to valueAfterThreeFrames)
+ }
+ }
+ }
+
private fun assertPositions(
vararg expected: Pair<Any, Float>,
crossAxis: List<Pair<Any, Float>>? = null,
@@ -1777,9 +1834,11 @@
for (i in 0..duration step FrameDuration) {
val fraction = i / duration.toFloat()
onFrame(fraction)
- rule.mainClock.advanceTimeBy(FrameDuration)
- expectedTime += FrameDuration
- assertThat(expectedTime).isEqualTo(rule.mainClock.currentTime)
+ if (i < duration) {
+ rule.mainClock.advanceTimeBy(FrameDuration)
+ expectedTime += FrameDuration
+ assertThat(expectedTime).isEqualTo(rule.mainClock.currentTime)
+ }
}
}
@@ -1923,3 +1982,51 @@
End,
Center
}
+
+internal fun SpringSpec<IntOffset>.getValueAtFrame(
+ frameCount: Int,
+ from: Float,
+ to: Float,
+ initialVelocity: IntOffset = IntOffset.Zero
+): Float {
+ val frameInNanos = TimeUnit.MILLISECONDS.toNanos(FrameDuration)
+ val vectorized = vectorize(converter = IntOffset.VectorConverter)
+ return IntOffset.VectorConverter.convertFromVector(
+ vectorized.getValueFromNanos(
+ playTimeNanos = frameInNanos * frameCount,
+ initialValue = IntOffset.VectorConverter.convertToVector(
+ IntOffset(0, from.toInt())
+ ),
+ targetValue = IntOffset.VectorConverter.convertToVector(
+ IntOffset(0, to.toInt())
+ ),
+ initialVelocity = IntOffset.VectorConverter.convertToVector(
+ initialVelocity
+ )
+ )
+ ).y.toFloat()
+}
+
+internal fun SpringSpec<IntOffset>.getVelocityAtFrame(
+ frameCount: Int,
+ from: Float,
+ to: Float,
+ initialVelocity: IntOffset = IntOffset.Zero
+): IntOffset {
+ val frameInNanos = TimeUnit.MILLISECONDS.toNanos(FrameDuration)
+ val vectorized = vectorize(converter = IntOffset.VectorConverter)
+ return IntOffset.VectorConverter.convertFromVector(
+ vectorized.getVelocityFromNanos(
+ playTimeNanos = frameInNanos * frameCount,
+ initialValue = IntOffset.VectorConverter.convertToVector(
+ IntOffset(0, from.toInt())
+ ),
+ targetValue = IntOffset.VectorConverter.convertToVector(
+ IntOffset(0, to.toInt())
+ ),
+ initialVelocity = IntOffset.VectorConverter.convertToVector(
+ initialVelocity
+ )
+ )
+ )
+}
\ No newline at end of file
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListPinnableContainerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListPinnableContainerTest.kt
index a743ac3c..1b9ebac 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListPinnableContainerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListPinnableContainerTest.kt
@@ -18,9 +18,9 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
-import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListState
+import androidx.compose.foundation.lazy.items
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.DisposableEffect
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListsIndexedTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListsIndexedTest.kt
index df2d615..41fc6d4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListsIndexedTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListsIndexedTest.kt
@@ -21,10 +21,10 @@
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyList
import androidx.compose.foundation.lazy.LazyListScope
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyNestedScrollingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyNestedScrollingTest.kt
index 78a5fdc..cac03bd 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyNestedScrollingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyNestedScrollingTest.kt
@@ -16,17 +16,17 @@
package androidx.compose.foundation.lazy.list
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.ScrollableState
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.requiredSize
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyScrollTest.kt
index bca1dc3..14fe3b1 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyScrollTest.kt
@@ -19,24 +19,26 @@
import androidx.compose.animation.core.FloatSpringSpec
import androidx.compose.foundation.AutoTestFrameClock
import androidx.compose.foundation.BaseLazyLayoutTestWithOrientation.Companion.FrameDuration
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.animateScrollBy
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.rememberLazyListState
+import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.Dp
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -47,8 +49,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
@MediumTest
@RunWith(Parameterized::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateItemPlacementTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateItemPlacementTest.kt
index 984c7d4..41f1c73f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateItemPlacementTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateItemPlacementTest.kt
@@ -18,6 +18,8 @@
import androidx.compose.animation.core.FiniteAnimationSpec
import androidx.compose.animation.core.LinearEasing
+import androidx.compose.animation.core.VisibilityThreshold
+import androidx.compose.animation.core.spring
import androidx.compose.animation.core.tween
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.scrollBy
@@ -27,6 +29,8 @@
import androidx.compose.foundation.layout.requiredHeightIn
import androidx.compose.foundation.layout.requiredWidth
import androidx.compose.foundation.layout.requiredWidthIn
+import androidx.compose.foundation.lazy.list.getValueAtFrame
+import androidx.compose.foundation.lazy.list.getVelocityAtFrame
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -1992,6 +1996,70 @@
}
}
+ @Test
+ fun interruptedSizeChange() {
+ var item0Size by mutableStateOf(itemSizeDp)
+ val animSpec = spring(visibilityThreshold = IntOffset.VisibilityThreshold)
+ rule.setContent {
+ LazyStaggeredGrid(cells = 1) {
+ items(2, key = { it }) {
+ Item(it, if (it == 0) item0Size else itemSizeDp, animSpec = animSpec)
+ }
+ }
+ }
+
+ rule.runOnUiThread {
+ item0Size = itemSize2Dp
+ }
+
+ rule.waitForIdle()
+ rule.mainClock.advanceTimeByFrame()
+ onAnimationFrame(duration = FrameDuration) { fraction ->
+ if (fraction == 0f) {
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, itemSize)
+ )
+ } else {
+ assertThat(fraction).isEqualTo(1f)
+ val valueAfterOneFrame =
+ animSpec.getValueAtFrame(1, from = itemSize, to = itemSize2)
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, valueAfterOneFrame)
+ )
+ }
+ }
+
+ rule.runOnUiThread {
+ item0Size = 0.dp
+ }
+
+ rule.waitForIdle()
+ val startValue = animSpec.getValueAtFrame(2, from = itemSize, to = itemSize2)
+ val startVelocity = animSpec.getVelocityAtFrame(2, from = itemSize, to = itemSize2)
+ onAnimationFrame(duration = FrameDuration) { fraction ->
+ if (fraction == 0f) {
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, startValue)
+ )
+ } else {
+ assertThat(fraction).isEqualTo(1f)
+ val valueAfterThreeFrames = animSpec.getValueAtFrame(
+ 1,
+ from = startValue,
+ to = 0f,
+ initialVelocity = startVelocity
+ )
+ assertPositions(
+ 0 to AxisOffset(0f, 0f),
+ 1 to AxisOffset(0f, valueAfterThreeFrames)
+ )
+ }
+ }
+ }
+
private fun AxisOffset(crossAxis: Float, mainAxis: Float) =
if (isVertical) Offset(crossAxis, mainAxis) else Offset(mainAxis, crossAxis)
@@ -2075,9 +2143,11 @@
for (i in 0..duration step FrameDuration) {
val fraction = i / duration.toFloat()
onFrame(fraction)
- rule.mainClock.advanceTimeBy(FrameDuration)
- expectedTime += FrameDuration
- assertThat(expectedTime).isEqualTo(rule.mainClock.currentTime)
+ if (i < duration) {
+ rule.mainClock.advanceTimeBy(FrameDuration)
+ expectedTime += FrameDuration
+ assertThat(expectedTime).isEqualTo(rule.mainClock.currentTime)
+ }
}
}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridReverseLayoutTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridReverseLayoutTest.kt
index 6af08de..344ebe3 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridReverseLayoutTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridReverseLayoutTest.kt
@@ -19,15 +19,15 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.layout.Box
-import androidx.compose.ui.Modifier
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
+import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalLayoutDirection
-import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequesterViewIntegrationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequesterViewIntegrationTest.kt
index d3a38ce..37436c9 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequesterViewIntegrationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequesterViewIntegrationTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.foundation.relocation
-import android.graphics.Rect as AndroidRect
import android.content.Context
+import android.graphics.Rect as AndroidRect
import android.view.View
import android.widget.FrameLayout
import androidx.compose.foundation.ExperimentalFoundationApi
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/ClickableTextTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/ClickableTextTest.kt
index b23e468..d48e823 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/ClickableTextTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/ClickableTextTest.kt
@@ -29,6 +29,9 @@
import androidx.compose.ui.text.AnnotatedString
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
import org.mockito.kotlin.any
import org.mockito.kotlin.argWhere
import org.mockito.kotlin.inOrder
@@ -36,9 +39,6 @@
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyNoMoreInteractions
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftWrapTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftWrapTest.kt
index bba26f4..e96325c 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftWrapTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftWrapTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.foundation.text
-import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.LocalDensity
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextInlineContentTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextInlineContentTest.kt
index 0226267..3d76e18 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextInlineContentTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextInlineContentTest.kt
@@ -43,11 +43,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextDelegateIntegrationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextDelegateIntegrationTest.kt
index 3120601..ecc70a7 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextDelegateIntegrationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextDelegateIntegrationTest.kt
@@ -28,13 +28,13 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import kotlin.math.roundToInt
@OptIn(InternalFoundationTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldInteractionsTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldInteractionsTest.kt
index dc5e79b..1970055 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldInteractionsTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldInteractionsTest.kt
@@ -16,12 +16,12 @@
package androidx.compose.foundation.text
+import androidx.compose.foundation.focusable
import androidx.compose.foundation.interaction.DragInteraction
import androidx.compose.foundation.interaction.FocusInteraction
import androidx.compose.foundation.interaction.Interaction
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.interaction.PressInteraction
-import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.runtime.mutableStateOf
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutResultIntegrationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutResultIntegrationTest.kt
index b6a2ee9..2a3379c 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutResultIntegrationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutResultIntegrationTest.kt
@@ -28,13 +28,13 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import kotlin.math.floor
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import kotlin.math.floor
@OptIn(InternalFoundationTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextLayoutResultIntegrationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextLayoutResultIntegrationTest.kt
index 1735715..e86416a 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextLayoutResultIntegrationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextLayoutResultIntegrationTest.kt
@@ -29,14 +29,14 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
+import com.google.common.truth.IntegerSubject
import com.google.common.truth.Truth.assertThat
+import kotlin.math.floor
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.google.common.truth.IntegerSubject
-import kotlin.math.floor
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt
index 05fbc24..e601a24 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt
@@ -40,10 +40,10 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerFocusTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerFocusTest.kt
index 4abc2b5..540a13b 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerFocusTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerFocusTest.kt
@@ -57,13 +57,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
import java.util.concurrent.CountDownLatch
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt
index 54927cb..7096695 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt
@@ -79,15 +79,15 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
import java.util.concurrent.CountDownLatch
import kotlin.math.max
import kotlin.math.sign
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlePopupPositionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlePopupPositionTest.kt
index 69c23d1..55b4d0e 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlePopupPositionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlePopupPositionTest.kt
@@ -44,6 +44,8 @@
import androidx.test.espresso.matcher.BoundedMatcher
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers
import org.hamcrest.Description
import org.hamcrest.Matcher
@@ -51,8 +53,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlesTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlesTest.kt
index d4c185a..8e8cdac 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlesTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionHandlesTest.kt
@@ -37,14 +37,14 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldDefaultWidthTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldDefaultWidthTest.kt
index 6ff37fe..bc01efe 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldDefaultWidthTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldDefaultWidthTest.kt
@@ -36,11 +36,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.ceil
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.ceil
-import kotlin.math.roundToInt
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldOnValueChangeTextFieldValueTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldOnValueChangeTextFieldValueTest.kt
index adda314..ed5ac51 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldOnValueChangeTextFieldValueTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldOnValueChangeTextFieldValueTest.kt
@@ -41,6 +41,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.clearInvocations
@@ -48,10 +52,6 @@
import org.mockito.kotlin.mock
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt
index 990b749..31f5b9d 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt
@@ -150,12 +150,6 @@
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.mockito.kotlin.any
-import org.mockito.kotlin.argumentCaptor
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
import kotlin.test.assertFailsWith
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@@ -163,6 +157,12 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldUndoTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldUndoTest.kt
index 3ad3067..4d82c56 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldUndoTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldUndoTest.kt
@@ -16,7 +16,6 @@
package androidx.compose.foundation.textfield
-import androidx.compose.ui.input.key.KeyEvent as ComposeKeyEvent
import android.view.KeyEvent
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.text.BasicTextField
@@ -27,6 +26,7 @@
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.input.key.Key
+import androidx.compose.ui.input.key.KeyEvent as ComposeKeyEvent
import androidx.compose.ui.input.key.nativeKeyCode
import androidx.compose.ui.platform.LocalTextInputService
import androidx.compose.ui.test.hasSetTextAction
@@ -36,10 +36,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/AndroidOverscroll.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/AndroidOverscroll.kt
index 0df1c34..48fccdc 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/AndroidOverscroll.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/AndroidOverscroll.kt
@@ -24,8 +24,8 @@
import androidx.compose.foundation.EdgeEffectCompat.onAbsorbCompat
import androidx.compose.foundation.EdgeEffectCompat.onPullDistanceCompat
import androidx.compose.foundation.EdgeEffectCompat.onReleaseWithOppositeDelta
-import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.neverEqualPolicy
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Background.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Background.kt
index 7fb11a3..83ed93c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Background.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Background.kt
@@ -16,7 +16,6 @@
package androidx.compose.foundation
-import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Brush
@@ -25,6 +24,7 @@
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.drawOutline
+import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.node.DrawModifierNode
import androidx.compose.ui.node.ModifierNodeElement
import androidx.compose.ui.platform.InspectorInfo
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Border.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Border.kt
index e188941..c95216d 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Border.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Border.kt
@@ -17,9 +17,9 @@
package androidx.compose.foundation
import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.CacheDrawModifierNode
import androidx.compose.ui.draw.CacheDrawScope
import androidx.compose.ui.draw.DrawResult
-import androidx.compose.ui.draw.CacheDrawModifierNode
import androidx.compose.ui.geometry.CornerRadius
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.RoundRect
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Image.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Image.kt
index 48a21a8..64b4556 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Image.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Image.kt
@@ -20,7 +20,6 @@
import androidx.compose.runtime.NonRestartableComposable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.draw.paint
@@ -29,12 +28,13 @@
import androidx.compose.ui.graphics.FilterQuality
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.drawscope.DrawScope.Companion.DefaultFilterQuality
-import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.layout.ContentScale
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.role
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Indication.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Indication.kt
index e15bfe4..d0ab687 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Indication.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Indication.kt
@@ -25,11 +25,11 @@
import androidx.compose.runtime.State
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
-import androidx.compose.ui.graphics.drawscope.ContentDrawScope
-import androidx.compose.ui.draw.DrawModifier
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
+import androidx.compose.ui.draw.DrawModifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.platform.debugInspectorInfo
/**
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ForEachGesture.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ForEachGesture.kt
index 4901cab..fde5758 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ForEachGesture.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ForEachGesture.kt
@@ -19,9 +19,9 @@
import androidx.compose.ui.input.pointer.PointerEventPass
import androidx.compose.ui.input.pointer.PointerInputScope
import androidx.compose.ui.util.fastAny
+import kotlin.coroutines.cancellation.CancellationException
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.isActive
-import kotlin.coroutines.cancellation.CancellationException
/**
* A gesture was canceled and cannot continue, likely because another gesture has taken
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableState.kt
index 33c8439..e56a7a43 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollableState.kt
@@ -18,12 +18,12 @@
import androidx.compose.foundation.MutatePriority
import androidx.compose.foundation.MutatorMutex
+import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberUpdatedState
import kotlinx.coroutines.coroutineScope
-import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
/**
* An object representing something that can be scrolled. This interface is implemented by states
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TapGestureDetector.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TapGestureDetector.kt
index 2614f34..4a19ae0 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TapGestureDetector.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TapGestureDetector.kt
@@ -16,11 +16,12 @@
package androidx.compose.foundation.gestures
+import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.pointer.AwaitPointerEventScope
-import androidx.compose.ui.input.pointer.PointerEventTimeoutCancellationException
import androidx.compose.ui.input.pointer.PointerEvent
import androidx.compose.ui.input.pointer.PointerEventPass
+import androidx.compose.ui.input.pointer.PointerEventTimeoutCancellationException
import androidx.compose.ui.input.pointer.PointerInputChange
import androidx.compose.ui.input.pointer.PointerInputScope
import androidx.compose.ui.input.pointer.changedToDown
@@ -35,7 +36,6 @@
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
-import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
/**
* Receiver scope for [detectTapGestures]'s `onPress` lambda. This offers
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TransformableState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TransformableState.kt
index 8c196ac..39b957b 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TransformableState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/TransformableState.kt
@@ -24,13 +24,13 @@
import androidx.compose.animation.core.animateTo
import androidx.compose.foundation.MutatePriority
import androidx.compose.foundation.MutatorMutex
+import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.geometry.Offset
import kotlinx.coroutines.coroutineScope
-import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
/**
* State of [transformable]. Allows for a granular control of how different gesture
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyGridSnapLayoutInfoProvider.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyGridSnapLayoutInfoProvider.kt
index 515dfc3..962b9d9 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyGridSnapLayoutInfoProvider.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyGridSnapLayoutInfoProvider.kt
@@ -78,7 +78,15 @@
layoutInfo.visibleItemsInfo.fastForEach { item ->
val distance =
- calculateDistanceToDesiredSnapPosition(layoutInfo, item, positionInLayout)
+ calculateDistanceToDesiredSnapPosition(
+ mainAxisViewPortSize = layoutInfo.singleAxisViewportSize,
+ beforeContentPadding = layoutInfo.beforeContentPadding,
+ afterContentPadding = layoutInfo.afterContentPadding,
+ itemSize = item.sizeOnMainAxis(orientation = layoutInfo.orientation),
+ itemOffset = item.offsetOnMainAxis(orientation = layoutInfo.orientation),
+ itemIndex = item.index,
+ snapPositionInLayout = positionInLayout
+ )
// Find item that is closest to the center
if (distance <= 0 && distance > distanceFromItemBeforeTarget) {
@@ -112,32 +120,14 @@
}
}
-@OptIn(ExperimentalFoundationApi::class)
-internal fun Density.calculateDistanceToDesiredSnapPosition(
- layoutInfo: LazyGridLayoutInfo,
- item: LazyGridItemInfo,
- positionInLayout: SnapPositionInLayout = SnapPositionInLayout.CenterToCenter
-): Float {
-
- val containerSize =
- with(layoutInfo) { singleAxisViewportSize - beforeContentPadding - afterContentPadding }
-
- val desiredDistance = with(positionInLayout) {
- position(containerSize, item.sizeOnMainAxis(layoutInfo.orientation), item.index)
- }
-
- val itemCurrentPosition = item.offsetOnMainAxis(layoutInfo.orientation)
- return itemCurrentPosition - desiredDistance.toFloat()
-}
-
-private val LazyGridLayoutInfo.singleAxisViewportSize: Int
+internal val LazyGridLayoutInfo.singleAxisViewportSize: Int
get() = if (orientation == Orientation.Vertical) {
viewportSize.height
} else {
viewportSize.width
}
-private fun LazyGridItemInfo.sizeOnMainAxis(orientation: Orientation): Int {
+internal fun LazyGridItemInfo.sizeOnMainAxis(orientation: Orientation): Int {
return if (orientation == Orientation.Vertical) {
size.height
} else {
@@ -145,7 +135,7 @@
}
}
-private fun LazyGridItemInfo.offsetOnMainAxis(orientation: Orientation): Int {
+internal fun LazyGridItemInfo.offsetOnMainAxis(orientation: Orientation): Int {
return if (orientation == Orientation.Vertical) {
offset.y
} else {
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyListSnapLayoutInfoProvider.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyListSnapLayoutInfoProvider.kt
index fece172..5df071b 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyListSnapLayoutInfoProvider.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/LazyListSnapLayoutInfoProvider.kt
@@ -22,7 +22,6 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.FlingBehavior
import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.foundation.lazy.LazyListItemInfo
import androidx.compose.foundation.lazy.LazyListLayoutInfo
import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.runtime.Composable
@@ -71,7 +70,15 @@
layoutInfo.visibleItemsInfo.fastForEach { item ->
val offset =
- calculateDistanceToDesiredSnapPosition(layoutInfo, item, positionInLayout)
+ calculateDistanceToDesiredSnapPosition(
+ mainAxisViewPortSize = layoutInfo.singleAxisViewportSize,
+ beforeContentPadding = layoutInfo.beforeContentPadding,
+ afterContentPadding = layoutInfo.afterContentPadding,
+ itemSize = item.size,
+ itemOffset = item.offset,
+ itemIndex = item.index,
+ snapPositionInLayout = positionInLayout
+ )
// Find item that is closest to the center
if (offset <= 0 && offset > lowerBoundOffset) {
@@ -110,22 +117,5 @@
return rememberSnapFlingBehavior(snappingLayout)
}
-@OptIn(ExperimentalFoundationApi::class)
-internal fun Density.calculateDistanceToDesiredSnapPosition(
- layoutInfo: LazyListLayoutInfo,
- item: LazyListItemInfo,
- positionInLayout: SnapPositionInLayout
-): Float {
- val containerSize =
- with(layoutInfo) { singleAxisViewportSize - beforeContentPadding - afterContentPadding }
-
- val desiredDistance = with(positionInLayout) {
- position(containerSize, item.size, item.index)
- }.toFloat()
-
- val itemCurrentPosition = item.offset
- return itemCurrentPosition - desiredDistance
-}
-
-private val LazyListLayoutInfo.singleAxisViewportSize: Int
+internal val LazyListLayoutInfo.singleAxisViewportSize: Int
get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
\ No newline at end of file
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapPositionInLayout.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapPositionInLayout.kt
index 3b3f94f..6a16ff9 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapPositionInLayout.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapPositionInLayout.kt
@@ -39,4 +39,23 @@
val CenterToCenter =
SnapPositionInLayout { layoutSize, itemSize, _ -> layoutSize / 2 - itemSize / 2 }
}
+}
+
+@OptIn(ExperimentalFoundationApi::class)
+internal fun Density.calculateDistanceToDesiredSnapPosition(
+ mainAxisViewPortSize: Int,
+ beforeContentPadding: Int,
+ afterContentPadding: Int,
+ itemSize: Int,
+ itemOffset: Int,
+ itemIndex: Int,
+ snapPositionInLayout: SnapPositionInLayout
+): Float {
+ val containerSize = mainAxisViewPortSize - beforeContentPadding - afterContentPadding
+
+ val desiredDistance = with(snapPositionInLayout) {
+ position(containerSize, itemSize, itemIndex)
+ }.toFloat()
+
+ return itemOffset - desiredDistance
}
\ No newline at end of file
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemScope.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemScope.kt
index c1c594e..adba3f6 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemScope.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemScope.kt
@@ -21,11 +21,11 @@
import androidx.compose.animation.core.VisibilityThreshold
import androidx.compose.animation.core.spring
import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
import androidx.compose.runtime.Stable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.IntOffset
-import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
/**
* Receiver scope being used by the item content parameter of LazyColumn/Row.
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListBeyondBoundsModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListBeyondBoundsModifier.kt
index 6def944..5ef94fe 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListBeyondBoundsModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListBeyondBoundsModifier.kt
@@ -17,8 +17,8 @@
package androidx.compose.foundation.lazy
import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsState
import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsModifierLocal
+import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListLayoutInfo.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListLayoutInfo.kt
index be71365..37612eb 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListLayoutInfo.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListLayoutInfo.kt
@@ -17,8 +17,8 @@
package androidx.compose.foundation.lazy
import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.ui.unit.IntSize
import androidx.compose.foundation.internal.JvmDefaultWithCompatibility
+import androidx.compose.ui.unit.IntSize
/**
* Contains useful information about the currently displayed layout state of lazy lists like
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridState.kt
index 193dfe2..73e2a21 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridState.kt
@@ -25,8 +25,8 @@
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.lazy.layout.AwaitFirstLayoutModifier
import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsInfo
-import androidx.compose.foundation.lazy.layout.LazyLayoutPrefetchState
import androidx.compose.foundation.lazy.layout.LazyLayoutPinnedItemList
+import androidx.compose.foundation.lazy.layout.LazyLayoutPrefetchState
import androidx.compose.foundation.lazy.layout.animateScrollToItem
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutAnimateItemModifierNode.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutAnimateItemModifierNode.kt
index 5623db2..dc2161f 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutAnimateItemModifierNode.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutAnimateItemModifierNode.kt
@@ -92,10 +92,17 @@
} else {
placementAnimationSpec
}
- val startVelocity = placementDeltaAnimation.velocity
- placementDeltaAnimation.snapTo(totalDelta)
- placementDeltaAnimation.animateTo(IntOffset.Zero, spec, startVelocity) {
- placementDelta = value
+ if (!placementDeltaAnimation.isRunning) {
+ // if not running we can snap to the initial value and animate to zero
+ placementDeltaAnimation.snapTo(totalDelta)
+ }
+ // if animation is not currently running the target will be zero, otherwise
+ // we have to continue the animation from the current value, but keep the needed
+ // total delta for the new animation.
+ val animationTarget = placementDeltaAnimation.value - totalDelta
+ placementDeltaAnimation.animateTo(animationTarget, spec) {
+ // placementDelta is calculated as if we always animate to target equal to zero
+ placementDelta = value - animationTarget
}
isAnimationInProgress = false
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridState.kt
index 35b1261..84f9df6 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridState.kt
@@ -26,9 +26,9 @@
import androidx.compose.foundation.lazy.layout.LazyAnimateScrollScope
import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsInfo
import androidx.compose.foundation.lazy.layout.LazyLayoutItemProvider
+import androidx.compose.foundation.lazy.layout.LazyLayoutPinnedItemList
import androidx.compose.foundation.lazy.layout.LazyLayoutPrefetchState
import androidx.compose.foundation.lazy.layout.LazyLayoutPrefetchState.PrefetchHandle
-import androidx.compose.foundation.lazy.layout.LazyLayoutPinnedItemList
import androidx.compose.foundation.lazy.layout.animateScrollToItem
import androidx.compose.foundation.lazy.staggeredgrid.LazyStaggeredGridLaneInfo.Companion.Unset
import androidx.compose.runtime.Composable
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/Pager.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/Pager.kt
index 23c078e..96e93f6 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/Pager.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/Pager.kt
@@ -31,6 +31,7 @@
import androidx.compose.foundation.gestures.snapping.MinFlingVelocityDp
import androidx.compose.foundation.gestures.snapping.SnapFlingBehavior
import androidx.compose.foundation.gestures.snapping.SnapLayoutInfoProvider
+import androidx.compose.foundation.gestures.snapping.calculateDistanceToDesiredSnapPosition
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
@@ -673,9 +674,13 @@
layoutInfo.visiblePagesInfo.fastForEach { page ->
val offset = calculateDistanceToDesiredSnapPosition(
- layoutInfo,
- page,
- SnapAlignmentStartToStart
+ mainAxisViewPortSize = layoutInfo.mainAxisViewportSize,
+ beforeContentPadding = layoutInfo.beforeContentPadding,
+ afterContentPadding = layoutInfo.afterContentPadding,
+ itemSize = layoutInfo.pageSize,
+ itemOffset = page.offset,
+ itemIndex = page.index,
+ snapPositionInLayout = SnapAlignmentStartToStart
)
// Find page that is closest to the snap position, but before it
@@ -870,26 +875,6 @@
})
}
-@OptIn(ExperimentalFoundationApi::class)
-internal fun Density.calculateDistanceToDesiredSnapPosition(
- layoutInfo: PagerLayoutInfo,
- page: PageInfo,
- positionInLayout: Density.(layoutSize: Float, itemSize: Float) -> Float
-): Float {
- val containerSize =
- with(layoutInfo) { mainAxisViewportSize - beforeContentPadding - afterContentPadding }
-
- val desiredDistance =
- positionInLayout(containerSize.toFloat(), layoutInfo.pageSize.toFloat())
-
- val itemCurrentPosition = page.offset
- return itemCurrentPosition - desiredDistance
-}
-
-@OptIn(ExperimentalFoundationApi::class)
-private val PagerLayoutInfo.mainAxisViewportSize: Int
- get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
-
private const val LowVelocityAnimationDefaultDuration = 500
private const val DEBUG = false
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerBeyondBoundsModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerBeyondBoundsModifier.kt
index 7c9deaf..84d4297 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerBeyondBoundsModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerBeyondBoundsModifier.kt
@@ -17,8 +17,8 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsState
import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsModifierLocal
+import androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerLayoutInfo.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerLayoutInfo.kt
index 10a25d2..27009c4 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerLayoutInfo.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerLayoutInfo.kt
@@ -34,4 +34,8 @@
val viewportSize: IntSize
val orientation: Orientation
val reverseLayout: Boolean
-}
\ No newline at end of file
+}
+
+@ExperimentalFoundationApi
+internal val PagerLayoutInfo.mainAxisViewportSize: Int
+ get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
\ No newline at end of file
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasure.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasure.kt
index 68693ac..2cc255c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasure.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasure.kt
@@ -19,6 +19,7 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.fastFilter
import androidx.compose.foundation.gestures.Orientation
+import androidx.compose.foundation.gestures.snapping.calculateDistanceToDesiredSnapPosition
import androidx.compose.foundation.layout.Arrangement.Absolute.spacedBy
import androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope
import androidx.compose.ui.Alignment
@@ -349,6 +350,7 @@
else
currentMainAxisOffset
)
+
val layoutHeight = constraints
.constrainHeight(
if (orientation == Orientation.Vertical)
@@ -381,12 +383,13 @@
val closestPageToSnapPosition = visiblePagesInfo.fastMaxBy {
-abs(
calculateDistanceToDesiredSnapPosition(
- viewPortSize,
- beforeContentPadding,
- afterContentPadding,
- pageAvailableSize,
- it,
- SnapAlignmentStartToStart
+ mainAxisViewPortSize = viewPortSize,
+ beforeContentPadding = beforeContentPadding,
+ afterContentPadding = afterContentPadding,
+ itemSize = pageAvailableSize,
+ itemOffset = it.offset,
+ itemIndex = it.index,
+ snapPositionInLayout = SnapAlignmentStartToStart
)
)
}
@@ -415,24 +418,6 @@
}
}
-@OptIn(ExperimentalFoundationApi::class)
-private fun Density.calculateDistanceToDesiredSnapPosition(
- axisViewPortSize: Int,
- beforeContentPadding: Int,
- afterContentPadding: Int,
- pageSize: Int,
- page: PageInfo,
- positionInLayout: Density.(layoutSize: Float, itemSize: Float) -> Float
-): Float {
- val containerSize = axisViewPortSize - beforeContentPadding - afterContentPadding
-
- val desiredDistance =
- positionInLayout(containerSize.toFloat(), pageSize.toFloat())
-
- val itemCurrentPosition = page.offset
- return itemCurrentPosition - desiredDistance
-}
-
private fun createPagesAfterList(
currentLastPage: Int,
pagesCount: Int,
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerState.kt
index 715fe0a..ea799c2 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerState.kt
@@ -25,6 +25,8 @@
import androidx.compose.foundation.gestures.ScrollScope
import androidx.compose.foundation.gestures.ScrollableState
import androidx.compose.foundation.gestures.animateScrollBy
+import androidx.compose.foundation.gestures.snapping.SnapPositionInLayout
+import androidx.compose.foundation.gestures.snapping.calculateDistanceToDesiredSnapPosition
import androidx.compose.foundation.interaction.InteractionSource
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.lazy.layout.AwaitFirstLayoutModifier
@@ -259,9 +261,13 @@
private val distanceToSnapPosition: Float
get() = layoutInfo.closestPageToSnapPosition?.let {
density.calculateDistanceToDesiredSnapPosition(
- layoutInfo,
- it,
- SnapAlignmentStartToStart
+ mainAxisViewPortSize = layoutInfo.mainAxisViewportSize,
+ beforeContentPadding = layoutInfo.beforeContentPadding,
+ afterContentPadding = layoutInfo.afterContentPadding,
+ itemSize = layoutInfo.pageSize,
+ itemOffset = it.offset,
+ itemIndex = it.index,
+ snapPositionInLayout = SnapAlignmentStartToStart
)
} ?: 0f
@@ -665,8 +671,8 @@
override val fontScale: Float = 1f
}
-internal val SnapAlignmentStartToStart: Density.(layoutSize: Float, itemSize: Float) -> Float =
- { _, _ -> 0f }
+@OptIn(ExperimentalFoundationApi::class)
+internal val SnapAlignmentStartToStart = SnapPositionInLayout { _, _, _ -> 0 }
private const val DEBUG = false
private inline fun debugLog(generateMsg: () -> String) {
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/Selectable.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/Selectable.kt
index 5b3869a..fcdba64 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/Selectable.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/Selectable.kt
@@ -17,9 +17,9 @@
package androidx.compose.foundation.selection
import androidx.compose.foundation.Indication
-import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.LocalIndication
import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardActionRunner.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardActionRunner.kt
index 96051ac..1bf9ca7 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardActionRunner.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardActionRunner.kt
@@ -20,13 +20,13 @@
import androidx.compose.ui.focus.FocusManager
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.ImeAction.Companion.Default
-import androidx.compose.ui.text.input.ImeAction.Companion.None
+import androidx.compose.ui.text.input.ImeAction.Companion.Done
import androidx.compose.ui.text.input.ImeAction.Companion.Go
+import androidx.compose.ui.text.input.ImeAction.Companion.Next
+import androidx.compose.ui.text.input.ImeAction.Companion.None
+import androidx.compose.ui.text.input.ImeAction.Companion.Previous
import androidx.compose.ui.text.input.ImeAction.Companion.Search
import androidx.compose.ui.text.input.ImeAction.Companion.Send
-import androidx.compose.ui.text.input.ImeAction.Companion.Previous
-import androidx.compose.ui.text.input.ImeAction.Companion.Next
-import androidx.compose.ui.text.input.ImeAction.Companion.Done
import androidx.compose.ui.text.input.TextInputSession
/**
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/LongPressTextDragObserver.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/LongPressTextDragObserver.kt
index d848b79..fa1811f 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/LongPressTextDragObserver.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/LongPressTextDragObserver.kt
@@ -16,10 +16,10 @@
package androidx.compose.foundation.text
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.detectDragGestures
import androidx.compose.foundation.gestures.detectDragGesturesAfterLongPress
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.pointer.PointerInputScope
import androidx.compose.ui.util.fastAny
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImpl.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImpl.kt
index b07e058..27e669c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImpl.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImpl.kt
@@ -17,9 +17,9 @@
package androidx.compose.foundation.text.selection
import androidx.compose.foundation.AtomicLong
-import androidx.compose.runtime.setValue
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.layout.LayoutCoordinates
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/BasicContextMenuRepresentation.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/BasicContextMenuRepresentation.desktop.kt
index 86ddbd5..7b68366 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/BasicContextMenuRepresentation.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/BasicContextMenuRepresentation.desktop.kt
@@ -27,9 +27,9 @@
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.BasicText
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.desktop.kt
index 77c5476..1398ec3 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/Scrollbar.desktop.kt
@@ -18,10 +18,10 @@
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.TweenSpec
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.detectTapAndPress
import androidx.compose.foundation.gestures.drag
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.scrollBy
import androidx.compose.foundation.interaction.DragInteraction
import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -59,11 +59,11 @@
import androidx.compose.ui.unit.constrainHeight
import androidx.compose.ui.unit.constrainWidth
import androidx.compose.ui.unit.dp
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.runBlocking
import kotlin.math.abs
import kotlin.math.roundToInt
import kotlin.math.sign
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
/**
* [CompositionLocal] used to pass [ScrollbarStyle] down the tree.
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/TooltipArea.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/TooltipArea.desktop.kt
index 0de1a5c..4b9d393 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/TooltipArea.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/TooltipArea.desktop.kt
@@ -24,26 +24,26 @@
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.input.pointer.changedToDown
import androidx.compose.ui.input.pointer.PointerEventPass
+import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.PointerInputScope
+import androidx.compose.ui.input.pointer.changedToDown
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInWindow
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntRect
+import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Popup
import androidx.compose.ui.window.PopupPositionProvider
-import androidx.compose.ui.window.rememberCursorPositionProvider
import androidx.compose.ui.window.rememberComponentRectPositionProvider
-import kotlinx.coroutines.delay
+import androidx.compose.ui.window.rememberCursorPositionProvider
import kotlinx.coroutines.Job
+import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
/**
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.desktop.kt
index 6314814..2e59356 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/gestures/DesktopScrollable.desktop.kt
@@ -16,14 +16,14 @@
package androidx.compose.foundation.gestures
-import androidx.compose.runtime.Composable
-import androidx.compose.foundation.fastFold
import androidx.compose.foundation.DesktopPlatform
+import androidx.compose.foundation.fastFold
+import androidx.compose.runtime.Composable
import androidx.compose.runtime.compositionLocalOf
-import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.pointer.PointerEvent
+import androidx.compose.ui.unit.Density
+import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import java.awt.event.MouseWheelEvent
import kotlin.math.sqrt
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/window/WindowDraggableArea.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/window/WindowDraggableArea.desktop.kt
index fff404c..c525ae5 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/window/WindowDraggableArea.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/window/WindowDraggableArea.desktop.kt
@@ -16,8 +16,8 @@
package androidx.compose.foundation.window
-import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt
index b086c51..7edf141 100644
--- a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt
+++ b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/ScrollbarTest.kt
@@ -33,13 +33,13 @@
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.ExperimentalComposeUiApi
-import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
-import androidx.compose.ui.platform.testTag
import androidx.compose.ui.input.pointer.PointerEvent
+import androidx.compose.ui.input.pointer.PointerEventType
+import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.ExperimentalTestApi
import androidx.compose.ui.test.InternalTestApi
import androidx.compose.ui.test.TouchInjectionScope
diff --git a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/gestures/DesktopScrollableTest.kt b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/gestures/DesktopScrollableTest.kt
index d7820234..b9b7073 100644
--- a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/gestures/DesktopScrollableTest.kt
+++ b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/gestures/DesktopScrollableTest.kt
@@ -32,11 +32,11 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.google.common.truth.Truth.assertThat
+import kotlin.math.sqrt
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.math.sqrt
// TODO(demin): convert to ComposeScene instead of TestComposeWindow,
// after that we won't need `window.render`
diff --git a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/DesktopTextFieldSelectionManagerTest.kt b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/DesktopTextFieldSelectionManagerTest.kt
index f4df453..72b92ca 100644
--- a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/DesktopTextFieldSelectionManagerTest.kt
+++ b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/DesktopTextFieldSelectionManagerTest.kt
@@ -38,16 +38,16 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
-import org.mockito.kotlin.whenever
import org.junit.Before
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.any
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
@RunWith(JUnit4::class)
@Ignore("b/271123970 Fails in AOSP. Will be fixed after upstreaming Compose for Desktop")
diff --git a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt
index 650354d..1de6bae 100644
--- a/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt
+++ b/compose/foundation/foundation/src/desktopTest/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt
@@ -19,7 +19,6 @@
import androidx.compose.foundation.text.findFollowingBreak
import androidx.compose.foundation.text.findPrecedingBreak
import com.google.common.truth.Truth.assertThat
-
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextDelegateTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextDelegateTest.kt
index a878a1c..c9a1c17 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextDelegateTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextDelegateTest.kt
@@ -22,10 +22,10 @@
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.Density
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
@OptIn(InternalFoundationTextApi::class)
@RunWith(JUnit4::class)
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldBringIntoViewTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldBringIntoViewTest.kt
index f936cd5..e80c61f 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldBringIntoViewTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldBringIntoViewTest.kt
@@ -33,17 +33,17 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
import org.mockito.kotlin.any
import org.mockito.kotlin.mock
import org.mockito.kotlin.reset
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyBlocking
import org.mockito.kotlin.whenever
-import kotlinx.coroutines.runBlocking
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
@OptIn(InternalFoundationTextApi::class, ExperimentalFoundationApi::class)
@RunWith(JUnit4::class)
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt
index 3ced499..f38fa30 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt
@@ -38,6 +38,10 @@
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.text.style.TextDecoration
import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
import org.mockito.kotlin.any
import org.mockito.kotlin.eq
import org.mockito.kotlin.inOrder
@@ -45,10 +49,6 @@
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
@OptIn(InternalFoundationTextApi::class)
@RunWith(JUnit4::class)
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
index 80a615d..c8ab92b 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
@@ -18,10 +18,10 @@
import androidx.compose.runtime.snapshots.Snapshot
import com.google.common.truth.Truth
-import org.mockito.kotlin.mock
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
@RunWith(JUnit4::class)
internal class TextFieldStateTest {
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextLayoutHelperTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextLayoutHelperTest.kt
index 4420a2b..d14c552 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextLayoutHelperTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextLayoutHelperTest.kt
@@ -33,12 +33,12 @@
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
@RunWith(JUnit4::class)
class TextLayoutHelperTest {
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/MockCoordinates.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/MockCoordinates.kt
index 344ce0b..ec961c2 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/MockCoordinates.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/MockCoordinates.kt
@@ -16,9 +16,9 @@
package androidx.compose.foundation.text.selection
-import androidx.compose.ui.layout.AlignmentLine
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
+import androidx.compose.ui.layout.AlignmentLine
import androidx.compose.ui.layout.LayoutCoordinates
import androidx.compose.ui.unit.IntSize
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustmentTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustmentTest.kt
index 84211e52..15f2365 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustmentTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustmentTest.kt
@@ -29,11 +29,11 @@
import androidx.compose.ui.util.packInts
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.mock
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.any
+import org.mockito.kotlin.mock
@SmallTest
@RunWith(JUnit4::class)
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerDragTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerDragTest.kt
index 034e5cd..9bcffd9 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerDragTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerDragTest.kt
@@ -24,14 +24,14 @@
import androidx.compose.ui.text.style.ResolvedTextDirection
import androidx.compose.ui.unit.IntSize
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.spy
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
@RunWith(JUnit4::class)
class SelectionManagerDragTest {
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerTest.kt
index 2e206d7..a14887a 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionManagerTest.kt
@@ -26,6 +26,10 @@
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.style.ResolvedTextDirection
import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
import org.mockito.kotlin.any
import org.mockito.kotlin.argThat
import org.mockito.kotlin.doReturn
@@ -37,10 +41,6 @@
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class SelectionManagerTest {
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImplTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImplTest.kt
index 0c8f63b..b0e573e 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImplTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/SelectionRegistrarImplTest.kt
@@ -17,14 +17,13 @@
package androidx.compose.foundation.text.selection
import androidx.compose.ui.geometry.Offset
-
import androidx.compose.ui.layout.LayoutCoordinates
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
@RunWith(JUnit4::class)
class SelectionRegistrarImplTest {
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt
index c0a54f5..525e6bf 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.foundation.text.selection
-import androidx.compose.foundation.text.InternalFoundationTextApi
import androidx.compose.foundation.text.HandleState
+import androidx.compose.foundation.text.InternalFoundationTextApi
import androidx.compose.foundation.text.TextFieldState
import androidx.compose.foundation.text.TextLayoutResultProxy
import androidx.compose.ui.focus.FocusRequester
@@ -45,6 +45,11 @@
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.util.packInts
import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+import org.mockito.invocation.InvocationOnMock
import org.mockito.kotlin.any
import org.mockito.kotlin.anyOrNull
import org.mockito.kotlin.isNull
@@ -53,11 +58,6 @@
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.Answer
@RunWith(JUnit4::class)
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/Demos.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/Demos.kt
index 8b85bc8..a987eda 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/Demos.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/Demos.kt
@@ -18,13 +18,13 @@
import androidx.compose.animation.demos.AnimationDemos
import androidx.compose.foundation.demos.FoundationDemos
+import androidx.compose.foundation.demos.text.TextDemos
import androidx.compose.foundation.layout.demos.LayoutDemos
import androidx.compose.integration.demos.common.DemoCategory
-import androidx.compose.foundation.demos.text.TextDemos
import androidx.compose.material.demos.MaterialDemos
import androidx.compose.material3.demos.Material3Demos
-import androidx.compose.ui.demos.CoreDemos
import androidx.compose.ui.demos.AccessibilityDemos
+import androidx.compose.ui.demos.CoreDemos
import androidx.navigation.compose.demos.NavigationDemos
import androidx.paging.compose.demos.PagingFoundationDemos
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/navigation/NavigationResponsiveUi.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/navigation/NavigationResponsiveUi.kt
index c8b4a9a..440795f 100644
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/navigation/NavigationResponsiveUi.kt
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/navigation/NavigationResponsiveUi.kt
@@ -24,8 +24,8 @@
import androidx.compose.runtime.Composable
import androidx.lifecycle.ViewModel
import androidx.navigation.NavHostController
-import androidx.navigation.compose.composable
import androidx.navigation.compose.NavHost
+import androidx.navigation.compose.composable
import androidx.navigation.compose.navigation
import androidx.navigation.compose.rememberNavController
import kotlinx.coroutines.flow.MutableStateFlow
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/sideeffects/SideEffects.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/sideeffects/SideEffects.kt
index d2f586f..928fce9 100644
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/sideeffects/SideEffects.kt
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/sideeffects/SideEffects.kt
@@ -53,12 +53,6 @@
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleOwner
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.flow.collect
-import kotlinx.coroutines.flow.distinctUntilChanged
-import kotlinx.coroutines.flow.filter
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.launch
import kotlin.Boolean
import kotlin.Exception
import kotlin.Long
@@ -67,6 +61,12 @@
import kotlin.Suppress
import kotlin.Unit
import kotlin.random.Random
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.collect
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.launch
/**
* This file lets DevRel track changes to snippets present in
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/state/State.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/state/State.kt
deleted file mode 100644
index 5d7c893..0000000
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/state/State.kt
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Copyright 2020 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.
- */
-
-// Ignore lint warnings in documentation snippets
-@file:Suppress("unused", "ControlFlowWithEmptyBody", "UNUSED_PARAMETER", "UNUSED_VARIABLE")
-
-package androidx.compose.integration.docs.state
-
-import android.content.res.Resources
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.foundation.lazy.LazyListState
-import androidx.compose.foundation.lazy.items
-import androidx.compose.material.Button
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.OutlinedTextField
-import androidx.compose.material.Scaffold
-import androidx.compose.material.ScaffoldState
-import androidx.compose.material.Text
-import androidx.compose.material.rememberScaffoldState
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.MutableState
-import androidx.compose.runtime.State
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.rememberCoroutineScope
-import androidx.compose.runtime.saveable.listSaver
-import androidx.compose.runtime.saveable.mapSaver
-import androidx.compose.runtime.saveable.rememberSaveable
-import androidx.compose.runtime.setValue
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.unit.dp
-import androidx.lifecycle.SavedStateHandle
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.viewmodel.compose.viewModel
-import androidx.navigation.NavHostController
-import androidx.navigation.compose.NavHost
-import androidx.navigation.compose.rememberNavController
-import kotlinx.coroutines.launch
-
-/**
- * This file lets DevRel track changes to snippets present in
- * https://developer.android.com/jetpack/compose/state
- *
- * No action required if it's modified.
- */
-
-private object StateSnippet1 {
- @Composable
- fun HelloContent() {
- Column(modifier = Modifier.padding(16.dp)) {
- Text(
- text = "Hello!",
- modifier = Modifier.padding(bottom = 8.dp),
- style = MaterialTheme.typography.h5
- )
- OutlinedTextField(
- value = "",
- onValueChange = { },
- label = { Text("Name") }
- )
- }
- }
-}
-
-private object StateSnippet2 {
- /*
- * MutableState is part of the API, so StateSnippet2 can't have the exact code
- * for the published documentation. Instead, use the following commented code
- * in the doc. If FakeState<T> changes, update the commented code accordingly.
- *
- interface MutableState<T> : State<T> {
- override var value: T
- }
- */
- interface FakeState<T> : State<T> {
- override var value: T
- }
-
- interface FakeMutableState<T> : MutableState<String>
-}
-
-private object StateSnippet3 {
- @Composable
- fun HelloContent() {
- Column(modifier = Modifier.padding(16.dp)) {
- var name by remember { mutableStateOf("") }
- if (name.isNotEmpty()) {
- Text(
- text = "Hello, $name!",
- modifier = Modifier.padding(bottom = 8.dp),
- style = MaterialTheme.typography.h5
- )
- }
- OutlinedTextField(
- value = name,
- onValueChange = { name = it },
- label = { Text("Name") }
- )
- }
- }
-}
-
-private object StateSnippet4 {
- @Composable
- fun HelloScreen() {
- var name by rememberSaveable { mutableStateOf("") }
-
- HelloContent(name = name, onNameChange = { name = it })
- }
-
- @Composable
- fun HelloContent(name: String, onNameChange: (String) -> Unit) {
- Column(modifier = Modifier.padding(16.dp)) {
- Text(
- text = "Hello, $name",
- modifier = Modifier.padding(bottom = 8.dp),
- style = MaterialTheme.typography.h5
- )
- OutlinedTextField(
- value = name,
- onValueChange = onNameChange,
- label = { Text("Name") }
- )
- }
- }
-}
-
-private object StateSnippet5 {
- @Parcelize
- data class City(val name: String, val country: String) : Parcelable
-
- @Composable
- fun CityScreen() {
- var selectedCity = rememberSaveable {
- mutableStateOf(City("Madrid", "Spain"))
- }
- }
-}
-
-private object StateSnippet6 {
- data class City(val name: String, val country: String)
-
- val CitySaver = run {
- val nameKey = "Name"
- val countryKey = "Country"
- mapSaver(
- save = { mapOf(nameKey to it.name, countryKey to it.country) },
- restore = { City(it[nameKey] as String, it[countryKey] as String) }
- )
- }
-
- @Composable
- fun CityScreen() {
- var selectedCity = rememberSaveable(stateSaver = CitySaver) {
- mutableStateOf(City("Madrid", "Spain"))
- }
- }
-}
-
-@Composable
-private fun StateSnippets7() {
- data class City(val name: String, val country: String)
-
- val CitySaver = listSaver<City, Any>(
- save = { listOf(it.name, it.country) },
- restore = { City(it[0] as String, it[1] as String) }
- )
-
- @Composable
- fun CityScreen() {
- var selectedCity = rememberSaveable(stateSaver = CitySaver) {
- mutableStateOf(City("Madrid", "Spain"))
- }
- }
-}
-
-@Composable
-private fun StateSnippets8() {
- @Composable
- fun MyApp() {
- MyTheme {
- val scaffoldState = rememberScaffoldState()
- val coroutineScope = rememberCoroutineScope()
-
- Scaffold(scaffoldState = scaffoldState) { innerPadding ->
- MyContent(
- showSnackbar = { message ->
- coroutineScope.launch {
- scaffoldState.snackbarHostState.showSnackbar(message)
- }
- },
- modifier = Modifier.padding(innerPadding)
- )
- }
- }
- }
-}
-
-@Composable
-private fun StateSnippets9() {
-
- // Plain class that manages App's UI logic and UI elements' state
- class MyAppState(
- val scaffoldState: ScaffoldState,
- val navController: NavHostController,
- private val resources: Resources,
- /* ... */
- ) {
- val bottomBarTabs = /* State */
- // DO NOT COPY IN DAC
- Unit
-
- // Logic to decide when to show the bottom bar
- val shouldShowBottomBar: Boolean
- get() = /* ... */
- // DO NOT COPY IN DAC
- false
-
- // Navigation logic, which is a type of UI logic
- fun navigateToBottomBarRoute(route: String) { /* ... */ }
-
- // Show snackbar using Resources
- fun showSnackbar(message: String) { /* ... */ }
- }
-
- @Composable
- fun rememberMyAppState(
- scaffoldState: ScaffoldState = rememberScaffoldState(),
- navController: NavHostController = rememberNavController(),
- resources: Resources = LocalContext.current.resources,
- /* ... */
- ) = remember(scaffoldState, navController, resources, /* ... */) {
- MyAppState(scaffoldState, navController, resources, /* ... */)
- }
-}
-
-@Composable
-private fun StateSnippets10() {
- @Composable
- fun MyApp() {
- MyTheme {
- val myAppState = rememberMyAppState()
- Scaffold(
- scaffoldState = myAppState.scaffoldState,
- bottomBar = {
- if (myAppState.shouldShowBottomBar) {
- BottomBar(
- tabs = myAppState.bottomBarTabs,
- navigateToRoute = {
- myAppState.navigateToBottomBarRoute(it)
- }
- )
- }
- }
- ) { innerPadding ->
- NavHost(
- navController = myAppState.navController,
- startDestination = "initial",
- modifier = Modifier.padding(innerPadding)
- ) { /* ... */ }
- }
- }
- }
-}
-
-@Composable
-private fun StateSnippets11() {
- data class ExampleUiState(
- val dataToDisplayOnScreen: List<Example> = emptyList(),
- val userMessages: List<Message> = emptyList(),
- val loading: Boolean = false
- )
-
- class ExampleViewModel(
- private val repository: MyRepository,
- private val savedState: SavedStateHandle
- ) : ViewModel() {
-
- var uiState by mutableStateOf(ExampleUiState())
- private set
-
- // Business logic
- fun somethingRelatedToBusinessLogic() { /* ... */ }
- }
-
- @Composable
- fun ExampleScreen(viewModel: ExampleViewModel = viewModel()) {
-
- val uiState = viewModel.uiState
- /* ... */
-
- ExampleReusableComponent(
- someData = uiState.dataToDisplayOnScreen,
- onDoSomething = { viewModel.somethingRelatedToBusinessLogic() }
- )
- }
-
- @Composable
- fun ExampleReusableComponent(someData: Any, onDoSomething: () -> Unit) {
- /* ... */
- Button(onClick = onDoSomething) {
- Text("Do something")
- }
- }
-}
-
-@Composable
-private fun StateSnippets12() {
- class ExampleState(
- val lazyListState: LazyListState,
- private val resources: Resources,
- private val expandedItems: List<Item> = emptyList()
- ) {
- fun isExpandedItem(item: Item): Boolean = TODO()
- /* ... */
- }
-
- @Composable
- fun rememberExampleState(/* ... */): ExampleState { TODO() }
-
- @Composable
- fun ExampleScreen(viewModel: ExampleViewModel = viewModel()) {
-
- val uiState = viewModel.uiState
- val exampleState = rememberExampleState()
-
- LazyColumn(state = exampleState.lazyListState) {
- items(uiState.dataToDisplayOnScreen) { item ->
- if (exampleState.isExpandedItem(item)) {
- /* ... */
- }
- /* ... */
- }
- }
- }
-}
-
-/*
- * Fakes needed for snippets to build:
- */
-
-private object binding {
- object helloText {
- var text = ""
- }
-
- object textInput {
- fun doAfterTextChanged(function: () -> Unit) {}
- }
-}
-
-@Composable
-private fun MyTheme(content: @Composable () -> Unit) {}
-
-@Composable
-private fun MyContent(showSnackbar: (String) -> Unit, modifier: Modifier = Modifier) {}
-
-@Composable
-private fun BottomBar(tabs: Unit, navigateToRoute: (String) -> Unit) {}
-
-@Composable
-private fun rememberMyAppState(
- scaffoldState: ScaffoldState = rememberScaffoldState(),
- navController: NavHostController = rememberNavController(),
- resources: Resources = LocalContext.current.resources
-) = remember(scaffoldState, navController, resources) {
- MyAppState(scaffoldState, navController, resources)
-}
-
-private class MyAppState(
- val scaffoldState: ScaffoldState,
- val navController: NavHostController,
- private val resources: Resources,
-) {
- val shouldShowBottomBar: Boolean = false
- val bottomBarTabs = Unit
- fun navigateToBottomBarRoute(route: String) {}
-}
-
-/**
- * Add fake Parcelize and Parcelable to avoid adding AndroidX wide dependency on
- * kotlin-parcelize just for snippets
- */
-private annotation class Parcelize
-private interface Parcelable
-
-private class Example
-private class Item
-private class Message
-private class MyRepository
-
-@Composable
-private fun ExampleReusableComponent(someData: List<Example>, onDoSomething: () -> Unit) {}
-
-private class ExampleViewModel : ViewModel() {
- val uiState = ExampleUiState()
-}
-
-private data class ExampleUiState(
- val dataToDisplayOnScreen: List<Item> = emptyList(),
- val userMessages: List<Message> = emptyList(),
- val loading: Boolean = false
-)
\ No newline at end of file
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/testing/CheatSheet.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/testing/CheatSheet.kt
index 8531dc7e..bda62b5 100644
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/testing/CheatSheet.kt
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/testing/CheatSheet.kt
@@ -20,6 +20,9 @@
package androidx.compose.integration.docs.testing
import android.os.Build
+import android.view.KeyEvent as AndroidKeyEvent
+import android.view.KeyEvent.ACTION_DOWN as ActionDown
+import android.view.KeyEvent.KEYCODE_A as KeyCodeA
import androidx.activity.ComponentActivity
import androidx.annotation.RequiresApi
import androidx.compose.runtime.Composable
@@ -143,9 +146,6 @@
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
-import android.view.KeyEvent as AndroidKeyEvent
-import android.view.KeyEvent.ACTION_DOWN as ActionDown
-import android.view.KeyEvent.KEYCODE_A as KeyCodeA
/**
* This file lets DevRel track changes to snippets present in
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Custom.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Custom.kt
deleted file mode 100644
index beb52bb..0000000
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Custom.kt
+++ /dev/null
@@ -1,364 +0,0 @@
-// ktlint-disable indent https://github.com/pinterest/ktlint/issues/967
-/*
- * Copyright 2021 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.
- */
-
-// Ignore lint warnings in documentation snippets
-@file:Suppress(
- "unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "RemoveEmptyParenthesesFromLambdaCall"
-)
-
-package androidx.compose.integration.docs.theming
-
-import androidx.compose.foundation.layout.RowScope
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.foundation.shape.ZeroCornerSize
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.Colors
-import androidx.compose.material.ContentAlpha
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.ProvideTextStyle
-import androidx.compose.material.Shapes
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.runtime.Immutable
-import androidx.compose.runtime.staticCompositionLocalOf
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.Shape
-import androidx.compose.ui.graphics.compositeOver
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
-
-/**
- * This file lets DevRel track changes to snippets present in
- * https://developer.android.com/jetpack/compose/themes/custom
- *
- * No action required if it's modified.
- */
-
-private object CustomSnippet1 {
- // Use with MaterialTheme.colors.snackbarAction
- val Colors.snackbarAction: Color
- get() = if (isLight) Red300 else Red700
-
- // Use with MaterialTheme.typography.textFieldInput
- val Typography.textFieldInput: TextStyle
- get() = TextStyle(/* ... */)
-
- // Use with MaterialTheme.shapes.card
- val Shapes.card: Shape
- get() = RoundedCornerShape(size = 20.dp)
-}
-
-private object CustomSnippet234 {
- // Start snippet 2
- @Immutable
- data class ExtendedColors(
- val tertiary: Color,
- val onTertiary: Color
- )
-
- val LocalExtendedColors = staticCompositionLocalOf {
- ExtendedColors(
- tertiary = Color.Unspecified,
- onTertiary = Color.Unspecified
- )
- }
-
- @Composable
- fun ExtendedTheme(
- /* ... */
- content: @Composable () -> Unit
- ) {
- val extendedColors = ExtendedColors(
- tertiary = Color(0xFFA8EFF0),
- onTertiary = Color(0xFF002021)
- )
- CompositionLocalProvider(LocalExtendedColors provides extendedColors) {
- MaterialTheme(
- /* colors = ..., typography = ..., shapes = ... */
- content = content
- )
- }
- }
-
- // Use with eg. ExtendedTheme.colors.tertiary
- object ExtendedTheme {
- val colors: ExtendedColors
- @Composable
- get() = LocalExtendedColors.current
- }
- // End snippet 2
-
- // Start snippet 3
- @Composable
- fun ExtendedButton(
- onClick: () -> Unit,
- modifier: Modifier = Modifier,
- content: @Composable RowScope.() -> Unit
- ) {
- Button(
- colors = ButtonDefaults.buttonColors(
- backgroundColor = ExtendedTheme.colors.tertiary,
- contentColor = ExtendedTheme.colors.onTertiary
- /* Other colors use values from MaterialTheme */
- ),
- onClick = onClick,
- modifier = modifier,
- content = content
- )
- }
- // End snippet 3
-
- // Start snippet 4
- @Composable
- fun ExtendedApp() {
- ExtendedTheme {
- /*...*/
- ExtendedButton(onClick = { /* ... */ }) {
- /* ... */
- }
- }
- }
- // End snippet 4
-}
-
-private object CustomSnippet567 {
- // Start snippet 5
- @Immutable
- data class ReplacementTypography(
- val body: TextStyle,
- val title: TextStyle
- )
-
- @Immutable
- data class ReplacementShapes(
- val component: Shape,
- val surface: Shape
- )
-
- val LocalReplacementTypography = staticCompositionLocalOf {
- ReplacementTypography(
- body = TextStyle.Default,
- title = TextStyle.Default
- )
- }
- val LocalReplacementShapes = staticCompositionLocalOf {
- ReplacementShapes(
- component = RoundedCornerShape(ZeroCornerSize),
- surface = RoundedCornerShape(ZeroCornerSize)
- )
- }
-
- @Composable
- fun ReplacementTheme(
- /* ... */
- content: @Composable () -> Unit
- ) {
- val replacementTypography = ReplacementTypography(
- body = TextStyle(fontSize = 16.sp),
- title = TextStyle(fontSize = 32.sp)
- )
- val replacementShapes = ReplacementShapes(
- component = RoundedCornerShape(percent = 50),
- surface = RoundedCornerShape(size = 40.dp)
- )
- CompositionLocalProvider(
- LocalReplacementTypography provides replacementTypography,
- LocalReplacementShapes provides replacementShapes
- ) {
- MaterialTheme(
- /* colors = ... */
- content = content
- )
- }
- }
-
- // Use with eg. ReplacementTheme.typography.body
- object ReplacementTheme {
- val typography: ReplacementTypography
- @Composable
- get() = LocalReplacementTypography.current
- val shapes: ReplacementShapes
- @Composable
- get() = LocalReplacementShapes.current
- }
- // End snippet 5
-
- // Start snippet 6
- @Composable
- fun ReplacementButton(
- onClick: () -> Unit,
- modifier: Modifier = Modifier,
- content: @Composable RowScope.() -> Unit
- ) {
- Button(
- shape = ReplacementTheme.shapes.component,
- onClick = onClick,
- modifier = modifier,
- content = {
- ProvideTextStyle(
- value = ReplacementTheme.typography.body
- ) {
- content()
- }
- }
- )
- }
- // End snippet 6
-
- // Start snippet 7
- @Composable
- fun ReplacementApp() {
- ReplacementTheme {
- /*...*/
- ReplacementButton(onClick = { /* ... */ }) {
- /* ... */
- }
- }
- }
- // End snippet 7
-}
-
-private object CustomSnippet89 {
- // Start snippet 8
- @Immutable
- data class CustomColors(
- val content: Color,
- val component: Color,
- val background: List<Color>
- )
-
- @Immutable
- data class CustomTypography(
- val body: TextStyle,
- val title: TextStyle
- )
-
- @Immutable
- data class CustomElevation(
- val default: Dp,
- val pressed: Dp
- )
-
- val LocalCustomColors = staticCompositionLocalOf {
- CustomColors(
- content = Color.Unspecified,
- component = Color.Unspecified,
- background = emptyList()
- )
- }
- val LocalCustomTypography = staticCompositionLocalOf {
- CustomTypography(
- body = TextStyle.Default,
- title = TextStyle.Default
- )
- }
- val LocalCustomElevation = staticCompositionLocalOf {
- CustomElevation(
- default = Dp.Unspecified,
- pressed = Dp.Unspecified
- )
- }
-
- @Composable
- fun CustomTheme(
- /* ... */
- content: @Composable () -> Unit
- ) {
- val customColors = CustomColors(
- content = Color(0xFFDD0D3C),
- component = Color(0xFFC20029),
- background = listOf(Color.White, Color(0xFFF8BBD0))
- )
- val customTypography = CustomTypography(
- body = TextStyle(fontSize = 16.sp),
- title = TextStyle(fontSize = 32.sp)
- )
- val customElevation = CustomElevation(
- default = 4.dp,
- pressed = 8.dp
- )
- CompositionLocalProvider(
- LocalCustomColors provides customColors,
- LocalCustomTypography provides customTypography,
- LocalCustomElevation provides customElevation,
- content = content
- )
- }
-
- // Use with eg. CustomTheme.elevation.small
- object CustomTheme {
- val colors: CustomColors
- @Composable
- get() = LocalCustomColors.current
- val typography: CustomTypography
- @Composable
- get() = LocalCustomTypography.current
- val elevation: CustomElevation
- @Composable
- get() = LocalCustomElevation.current
- }
- // End snippet 8
-
- // Start snippet 9
- @Composable
- fun CustomButton(
- onClick: () -> Unit,
- modifier: Modifier = Modifier,
- content: @Composable RowScope.() -> Unit
- ) {
- Button(
- colors = ButtonDefaults.buttonColors(
- backgroundColor = CustomTheme.colors.component,
- contentColor = CustomTheme.colors.content,
- disabledBackgroundColor = CustomTheme.colors.content
- .copy(alpha = 0.12f)
- .compositeOver(CustomTheme.colors.component),
- disabledContentColor = CustomTheme.colors.content
- .copy(alpha = ContentAlpha.disabled)
- ),
- shape = ButtonShape,
- elevation = ButtonDefaults.elevation(
- defaultElevation = CustomTheme.elevation.default,
- pressedElevation = CustomTheme.elevation.pressed
- /* disabledElevation = 0.dp */
- ),
- onClick = onClick,
- modifier = modifier,
- content = {
- ProvideTextStyle(
- value = CustomTheme.typography.body
- ) {
- content()
- }
- }
- )
- }
-
- val ButtonShape = RoundedCornerShape(percent = 50)
- // End snippet 9
-}
-
-/*
-Fakes needed for snippets to build:
- */
-
-private val Red300 = Color(0xffff0000)
-private val Red700 = Color(0xffff0000)
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material.kt
deleted file mode 100644
index 8885249..0000000
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material.kt
+++ /dev/null
@@ -1,448 +0,0 @@
-// ktlint-disable indent https://github.com/pinterest/ktlint/issues/967
-/*
- * Copyright 2021 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.
- */
-
-// Ignore lint warnings in documentation snippets
-@file:Suppress(
- "unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "RemoveEmptyParenthesesFromLambdaCall"
-)
-
-package androidx.compose.integration.docs.theming
-
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.RowScope
-import androidx.compose.foundation.shape.CutCornerShape
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.Button
-import androidx.compose.material.ButtonDefaults
-import androidx.compose.material.ContentAlpha
-import androidx.compose.material.Icon
-import androidx.compose.material.LocalContentAlpha
-import androidx.compose.material.LocalElevationOverlay
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Shapes
-import androidx.compose.material.Surface
-import androidx.compose.material.Text
-import androidx.compose.material.TopAppBar
-import androidx.compose.material.Typography
-import androidx.compose.material.contentColorFor
-import androidx.compose.material.darkColors
-import androidx.compose.material.lightColors
-import androidx.compose.material.primarySurface
-import androidx.compose.material.ripple.LocalRippleTheme
-import androidx.compose.material.ripple.RippleTheme
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.runtime.Immutable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.compositeOver
-import androidx.compose.ui.res.painterResource
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.font.Font
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
-
-/**
- * This file lets DevRel track changes to snippets present in
- * https://developer.android.com/jetpack/compose/themes/material
- *
- * No action required if it's modified.
- */
-
-private object MaterialSnippet1 {
- /* Can't be compiled. See snippet below for changes.
- MaterialTheme(
- colors = ...,
- typography = ...,
- shapes = ...
- ) {
- // app content
- }
- */
- @Composable
- fun MaterialTheming() {
- MaterialTheme(
- colors = MaterialTheme.colors,
- typography = MaterialTheme.typography,
- shapes = MaterialTheme.shapes
- ) { }
- }
-}
-
-private object MaterialSnippet2 {
- val Red = Color(0xffff0000)
- val Blue = Color(red = 0f, green = 0f, blue = 1f)
-}
-
-private object MaterialSnippet3 {
- private val Yellow200 = Color(0xffffeb46)
- private val Blue200 = Color(0xff91a4fc)
- // ...
-
- private val DarkColors = darkColors(
- primary = Yellow200,
- secondary = Blue200,
- // ...
- )
- private val LightColors = lightColors(
- primary = Yellow500,
- primaryVariant = Yellow400,
- secondary = Blue700,
- // ...
- )
-}
-
-private object MaterialSnippet4 {
- @Composable
- fun MaterialTheming() {
- MaterialTheme(
- colors = if (darkTheme) DarkColors else LightColors
- ) {
- // app content
- }
- }
-}
-
-private object MaterialSnippet5 {
- @Composable
- fun MaterialTheming() {
- Text(
- text = "Hello theming",
- color = MaterialTheme.colors.primary
- )
- }
-}
-
-private object MaterialSnippet6 {
- @Composable
- fun MaterialTheming() {
- /* This snippet comes from the API. It needs to be updated if the snippet below is modified:
-Surface(
- color: Color = MaterialTheme.colors.surface,
- contentColor: Color = contentColorFor(color),
- ...
-
-TopAppBar(
- backgroundColor: Color = MaterialTheme.colors.primarySurface,
- contentColor: Color = contentColorFor(backgroundColor),
- ...
- */
- Column {
- Surface(
- color = MaterialTheme.colors.surface,
- contentColor = contentColorFor(MaterialTheme.colors.surface)
- ) {}
- TopAppBar(
- backgroundColor = MaterialTheme.colors.primarySurface,
- contentColor = contentColorFor(MaterialTheme.colors.primarySurface)
- ) {}
- }
- }
-}
-
-private object MaterialSnippet7 {
- @Composable
- fun MaterialTheming() {
- // By default, both Icon & Text use the combination of LocalContentColor &
- // LocalContentAlpha. De-emphasize content by setting content alpha
- CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
- Text(/*...*/)
- }
- CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.disabled) {
- Icon(/*...*/)
- Text(/*...*/)
- }
- }
- @Composable private fun Icon() { }
- @Composable private fun Text() { }
-}
-
-private object MaterialSnippet8 {
- @Composable
- fun MyTheme(
- darkTheme: Boolean = isSystemInDarkTheme(),
- content: @Composable () -> Unit
- ) {
- MaterialTheme(
- colors = if (darkTheme) DarkColors else LightColors,
- /*...*/
- content = content
- )
- }
-}
-
-private object MaterialSnippet9 {
- @Composable
- fun MaterialTheming() {
- val isLightTheme = MaterialTheme.colors.isLight
- Icon(
- painterResource(
- id = if (isLightTheme) {
- R.drawable.ic_sun_24dp
- } else {
- R.drawable.ic_moon_24dp
- }
- ),
- contentDescription = "Theme"
- )
- }
-}
-
-private object MaterialSnippet10 {
- @Composable
- fun MaterialTheming() {
- Surface(
- elevation = 2.dp,
- color = MaterialTheme.colors.surface, // color will be adjusted for elevation
- /*...*/
- ) { /*...*/ }
- }
-}
-
-private object MaterialSnippet11 {
- @Composable
- fun MaterialTheming() {
- // Elevation overlays
- // Implemented in Surface (and any components that use it)
- val color = MaterialTheme.colors.surface
- val elevation = 4.dp
- val overlaidColor = LocalElevationOverlay.current?.apply(
- color, elevation
- )
- }
-}
-
-private object MaterialSnippet12 {
- @Composable
- fun MaterialTheming() {
- MyTheme {
- CompositionLocalProvider(LocalElevationOverlay provides null) {
- // Content without elevation overlays
- }
- }
- }
-}
-
-private object MaterialSnippet13 {
- @Composable
- fun MaterialTheming() {
- Surface(
- // Switches between primary in light theme and surface in dark theme
- color = MaterialTheme.colors.primarySurface,
- /*...*/
- ) { /*...*/ }
- }
-}
-
-private object MaterialSnippet14 {
- @Composable
- fun MaterialTheming() {
- val Rubik = FontFamily(
- Font(R.font.rubik_regular),
- Font(R.font.rubik_medium, FontWeight.W500),
- Font(R.font.rubik_bold, FontWeight.Bold)
- )
-
- val MyTypography = Typography(
- h1 = TextStyle(
- fontFamily = Rubik,
- fontWeight = FontWeight.W300,
- fontSize = 96.sp
- ),
- body1 = TextStyle(
- fontFamily = Rubik,
- fontWeight = FontWeight.W600,
- fontSize = 16.sp
- )
- /*...*/
- )
- MaterialTheme(typography = MyTypography, /*...*/)
- }
- @Composable private fun MaterialTheme(typography: Typography) { }
-}
-
-private object MaterialSnippet15 {
- @Composable
- fun MaterialTheming() {
- val typography = Typography(defaultFontFamily = Rubik)
- MaterialTheme(typography = typography, /*...*/)
- }
- @Composable private fun MaterialTheme(typography: Typography) { }
-}
-
-private object MaterialSnippet16 {
- @Composable
- fun MaterialTheming() {
- Text(
- text = "Subtitle2 styled",
- style = MaterialTheme.typography.subtitle2
- )
- }
-}
-
-private object MaterialSnippet17 {
- @Composable
- fun MaterialTheming() {
- val Shapes = Shapes(
- small = RoundedCornerShape(percent = 50),
- medium = RoundedCornerShape(0f),
- large = CutCornerShape(
- topStart = 16.dp,
- topEnd = 0.dp,
- bottomEnd = 0.dp,
- bottomStart = 16.dp
- )
- )
-
- MaterialTheme(shapes = Shapes, /*...*/)
- }
- @Composable private fun MaterialTheme(shapes: Shapes) { }
-}
-
-private object MaterialSnippet18 {
- @Composable
- fun MaterialTheming() {
- Surface(
- shape = MaterialTheme.shapes.medium, /*...*/
- ) {
- /*...*/
- }
- }
-}
-
-private object MaterialSnippet19 {
- @Composable
- fun MyButton(
- onClick: () -> Unit,
- modifier: Modifier = Modifier,
- content: @Composable RowScope.() -> Unit
- ) {
- Button(
- colors = ButtonDefaults.buttonColors(
- backgroundColor = MaterialTheme.colors.secondary
- ),
- onClick = onClick,
- modifier = modifier,
- content = content
- )
- }
-}
-
-private object MaterialSnippet20 {
- @Composable
- fun DetailsScreen(/* ... */) {
- PinkTheme {
- // other content
- RelatedSection()
- }
- }
-
- @Composable
- fun RelatedSection(/* ... */) {
- BlueTheme {
- // content
- }
- }
-}
-
-private object MaterialSnippet21 {
- @Composable
- fun MaterialTheming() {
- Button(
- onClick = { /* ... */ },
- enabled = true,
- // Custom colors for different states
- colors = ButtonDefaults.buttonColors(
- backgroundColor = MaterialTheme.colors.secondary,
- disabledBackgroundColor = MaterialTheme.colors.onBackground
- .copy(alpha = 0.2f)
- .compositeOver(MaterialTheme.colors.background)
- // Also contentColor and disabledContentColor
- ),
- // Custom elevation for different states
- elevation = ButtonDefaults.elevation(
- defaultElevation = 8.dp,
- disabledElevation = 2.dp,
- // Also pressedElevation
- )
- ) { /* ... */ }
- }
-}
-
-private object MaterialSnippet22 {
- @Composable
- fun MyApp() {
- MaterialTheme {
- CompositionLocalProvider(
- LocalRippleTheme provides SecondaryRippleTheme
- ) {
- // App content
- }
- }
- }
-
- @Immutable
- private object SecondaryRippleTheme : RippleTheme {
- @Composable
- override fun defaultColor() = RippleTheme.defaultRippleColor(
- contentColor = MaterialTheme.colors.secondary,
- lightTheme = MaterialTheme.colors.isLight
- )
-
- @Composable
- override fun rippleAlpha() = RippleTheme.defaultRippleAlpha(
- contentColor = MaterialTheme.colors.secondary,
- lightTheme = MaterialTheme.colors.isLight
- )
- }
-}
-
-/*
-Fakes needed for snippets to build:
- */
-
-private val Yellow500 = Color(0xffffeb46)
-private val Yellow400 = Color(0xffffeb46)
-private val Blue700 = Color(0xffffeb46)
-
-private const val darkTheme = true
-private val DarkColors = darkColors()
-private val LightColors = lightColors()
-
-@Composable private fun MyTheme(content: @Composable () -> Unit) {}
-@Composable private fun PinkTheme(content: @Composable () -> Unit) {}
-@Composable private fun BlueTheme(content: @Composable () -> Unit) {}
-
-@Suppress("ClassName")
-internal object R {
- object drawable {
- const val ic_sun_24dp = 1
- const val ic_moon_24dp = 1
- }
- object font {
- const val rubik_regular = 1
- const val rubik_medium = 1
- const val rubik_bold = 1
- const val karla_regular = 1
- const val karla_bold = 1
- }
-}
-
-private val Rubik = FontFamily()
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material3.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material3.kt
deleted file mode 100644
index d10cdb2..0000000
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/theming/Material3.kt
+++ /dev/null
@@ -1,193 +0,0 @@
-// ktlint-disable indent https://github.com/pinterest/ktlint/issues/967
-/*
- * Copyright 2021 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.
- */
-
-// Ignore lint warnings in documentation snippets
-@file:Suppress(
- "unused", "UNUSED_PARAMETER", "UNUSED_VARIABLE", "RemoveEmptyParenthesesFromLambdaCall"
-)
-
-package androidx.compose.integration.docs.theming
-
-import android.annotation.SuppressLint
-import android.os.Build
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Surface
-import androidx.compose.material3.Text
-import androidx.compose.material3.Typography
-import androidx.compose.material3.darkColorScheme
-import androidx.compose.material3.dynamicDarkColorScheme
-import androidx.compose.material3.dynamicLightColorScheme
-import androidx.compose.material3.lightColorScheme
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.font.Font
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
-
-/**
- * This file lets DevRel track changes to snippets present in
- * https://developer.android.com/jetpack/compose/themes/material#material3
- *
- * No action required if it's modified.
- */
-
-private object Material3Snippet1 {
- /* Can't be compiled. See snippet below for changes.
- MaterialTheme(
- colorScheme = …,
- typography = …
- // Updates to shapes coming soon
- ) {
- // M3 app content
- }
- */
- @Composable
- fun MaterialTheming() {
- MaterialTheme(
- colorScheme = MaterialTheme.colorScheme,
- typography = MaterialTheme.typography
- ) { }
- }
-}
-
-private object Material3Snippet2 {
- private val Blue40 = Color(0xff1e40ff)
- private val DarkBlue40 = Color(0xff3e41f4)
- private val Yellow40 = Color(0xff7d5700)
- // Remaining colors from tonal palettes
-
- private val LightColorScheme = lightColorScheme(
- primary = Blue40,
- secondary = DarkBlue40,
- tertiary = Yellow40,
- // error, primaryContainer, onSecondary, etc.
- )
- private val DarkColorScheme = darkColorScheme(
- primary = Blue80,
- secondary = DarkBlue80,
- tertiary = Yellow80,
- // error, primaryContainer, onSecondary, etc.
- )
-}
-
-private object Material3Snippet3 {
- @Composable
- fun Material3Theming() {
- val darkTheme = isSystemInDarkTheme()
- MaterialTheme(
- colorScheme = if (darkTheme) DarkColorScheme else LightColorScheme
- ) {
- // M3 app content
- }
- }
-}
-
-private object Material3Snippet4 {
- @SuppressLint("NewApi")
- @Composable
- fun Material3Theming() {
- // Dynamic color is available on Android 12+
- val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
- val colorScheme = when {
- dynamicColor && darkTheme -> dynamicDarkColorScheme(LocalContext.current)
- dynamicColor && !darkTheme -> dynamicLightColorScheme(LocalContext.current)
- darkTheme -> DarkColorScheme
- else -> LightColorScheme
- }
- }
-}
-
-private object Material3Snippet5 {
- @Composable
- fun Material3Theming() {
- Text(
- text = "Hello M3 theming",
- color = MaterialTheme.colorScheme.tertiary
- )
- }
-}
-
-private object Material3Snippet6 {
- val KarlaFontFamily = FontFamily(
- Font(R.font.karla_regular),
- Font(R.font.karla_bold, FontWeight.Bold)
- )
-
- val AppTypography = Typography(
- bodyLarge = TextStyle(
- fontFamily = KarlaFontFamily,
- fontWeight = FontWeight.Normal,
- fontSize = 16.sp,
- lineHeight = 24.sp,
- letterSpacing = 0.15.sp
- ),
- // titleMedium, labelSmall, etc.
- )
-}
-
-private object Material3Snippet7 {
- @Composable
- fun Material3Theming() {
- MaterialTheme(
- typography = AppTypography
- ) {
- // M3 app content
- }
- }
-}
-
-private object Material3Snippet8 {
- @Composable
- fun Material3Theming() {
- Text(
- text = "Hello M3 theming",
- style = MaterialTheme.typography.bodyLarge
- )
- }
-}
-
-private object Material3Snippet9 {
- @Composable
- fun Material3Theming() {
- Surface(
- tonalElevation = 16.dp,
- shadowElevation = 16.dp
- ) {
- // Surface content
- }
- }
-}
-
-/*
-Fakes needed for snippets to build:
- */
-
-private val Blue80 = Color(0xff1e40ff)
-private val DarkBlue80 = Color(0xff3e41f4)
-private val Yellow80 = Color(0xff7d5700)
-
-private val DarkColorScheme = darkColorScheme()
-private val LightColorScheme = lightColorScheme()
-
-private const val darkTheme = true
-
-private val AppTypography = Typography()
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/tutorial/Tutorial.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/tutorial/Tutorial.kt
index da8c1bc..4f9fd87 100644
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/tutorial/Tutorial.kt
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/docs/tutorial/Tutorial.kt
@@ -24,8 +24,8 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
diff --git a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/tutorial/Tutorial.kt b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/tutorial/Tutorial.kt
index b0b7e65..b17b824 100644
--- a/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/tutorial/Tutorial.kt
+++ b/compose/integration-tests/docs-snippets/src/main/java/androidx/compose/integration/tutorial/Tutorial.kt
@@ -38,8 +38,8 @@
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.CircleShape
-import androidx.compose.integration.tutorial.Lesson2_Layouts.Snippet4.MessageCard
import androidx.compose.integration.tutorial.Lesson2_Layouts.Snippet1.Message
+import androidx.compose.integration.tutorial.Lesson2_Layouts.Snippet4.MessageCard
import androidx.compose.integration.tutorial.Lesson4_ListsAnimations.Snippet1.Conversation
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
diff --git a/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/NavGraph.kt b/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/NavGraph.kt
index 21bee2a..22f5db5 100644
--- a/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/NavGraph.kt
+++ b/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/NavGraph.kt
@@ -18,8 +18,8 @@
import androidx.compose.material.catalog.library.MaterialCatalogApp
import androidx.compose.material.catalog.library.MaterialRoute
-import androidx.compose.material.catalog.model.MaterialSpecification
import androidx.compose.material.catalog.model.Material3Specification
+import androidx.compose.material.catalog.model.MaterialSpecification
import androidx.compose.material.catalog.model.Specifications
import androidx.compose.material.catalog.ui.specification.Specification
import androidx.compose.material3.catalog.library.Material3CatalogApp
diff --git a/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt b/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt
index 47b7cad..1d2a07a 100644
--- a/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt
+++ b/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt
@@ -21,8 +21,8 @@
import com.android.tools.lint.checks.infrastructure.LintDetectorTest.kotlin
import com.android.tools.lint.checks.infrastructure.TestFile
import com.android.tools.lint.checks.infrastructure.TestFiles.bytecode
-import org.intellij.lang.annotations.Language
import java.util.Locale
+import org.intellij.lang.annotations.Language
/**
* Common Compose-related bytecode lint stubs used for testing
diff --git a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt
index e8aa463..6c011af 100644
--- a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt
+++ b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt
@@ -20,15 +20,15 @@
import androidx.compose.lint.test.Stubs
import androidx.compose.lint.test.kotlinAndBytecodeStub
-import com.android.tools.lint.checks.infrastructure.TestLintResult
-import org.junit.Test
-import org.junit.runner.RunWith
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.checks.infrastructure.TestFile
+import com.android.tools.lint.checks.infrastructure.TestLintResult
import com.android.tools.lint.checks.infrastructure.TestMode
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
import org.intellij.lang.annotations.Language
+import org.junit.Test
+import org.junit.runner.RunWith
import org.junit.runners.Parameterized
/* ktlint-disable max-line-length */
diff --git a/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt b/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
index 3031458..813f3ad 100644
--- a/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
+++ b/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
@@ -27,8 +27,8 @@
import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.DefaultFillType
-import androidx.compose.ui.graphics.vector.PathBuilder
import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.PathBuilder
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
diff --git a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
index 0e1a911..cedd663 100644
--- a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
+++ b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
@@ -33,6 +33,7 @@
import com.android.tools.lint.detector.api.UastLintUtils
import com.intellij.psi.PsiParameter
import com.intellij.psi.PsiVariable
+import java.util.EnumSet
import org.jetbrains.kotlin.asJava.elements.KtLightParameter
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UElement
@@ -40,7 +41,6 @@
import org.jetbrains.uast.toUElement
import org.jetbrains.uast.tryResolve
import org.jetbrains.uast.util.isConstructorCall
-import java.util.EnumSet
/**
* [Detector] that checks `Colors` definitions for correctness.
diff --git a/compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/Ripple.android.kt b/compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/Ripple.android.kt
index 2c574e4..928b4ff 100644
--- a/compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/Ripple.android.kt
+++ b/compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/Ripple.android.kt
@@ -37,8 +37,8 @@
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.isUnspecified
-import kotlinx.coroutines.CoroutineScope
import kotlin.math.roundToInt
+import kotlinx.coroutines.CoroutineScope
/**
* Android specific Ripple implementation that uses a [RippleDrawable] under the hood, which allows
diff --git a/compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/RippleAnimation.kt b/compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/RippleAnimation.kt
index 6005049..b4aa27b 100644
--- a/compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/RippleAnimation.kt
+++ b/compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/RippleAnimation.kt
@@ -33,10 +33,10 @@
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isUnspecified
import androidx.compose.ui.util.lerp
+import kotlin.math.max
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
-import kotlin.math.max
/**
* [RippleAnimation]s are drawn as part of [Ripple] as a visual indicator for an
diff --git a/compose/material/material-ripple/src/test/kotlin/androidx/compose/material/ripple/RippleAnimationTest.kt b/compose/material/material-ripple/src/test/kotlin/androidx/compose/material/ripple/RippleAnimationTest.kt
index 31838e1..2bb2aec 100644
--- a/compose/material/material-ripple/src/test/kotlin/androidx/compose/material/ripple/RippleAnimationTest.kt
+++ b/compose/material/material-ripple/src/test/kotlin/androidx/compose/material/ripple/RippleAnimationTest.kt
@@ -19,10 +19,10 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.dp
import com.google.common.truth.Truth.assertThat
+import kotlin.math.sqrt
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.math.sqrt
@RunWith(JUnit4::class)
class RippleAnimationTest {
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
index d705315..f264ab4 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
@@ -19,24 +19,24 @@
import androidx.compose.material.icons.generator.Icon
import androidx.compose.material.icons.generator.IconProcessor
import com.android.build.gradle.LibraryExtension
+import java.io.File
+import java.util.Locale
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputDirectory
import org.gradle.api.tasks.InputFile
+import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
-import java.io.File
-import java.util.Locale
/**
* Base [org.gradle.api.Task] for tasks relating to icon generation.
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconSourceTasks.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconSourceTasks.kt
index 4e62a3d..9e8c3fe 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconSourceTasks.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconSourceTasks.kt
@@ -18,12 +18,12 @@
import androidx.compose.material.icons.generator.CoreIcons
import androidx.compose.material.icons.generator.IconWriter
+import java.io.File
import org.gradle.api.Project
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.bundling.Jar
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
-import java.io.File
/**
* Task responsible for converting core icons from xml to a programmatic representation.
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
index 0e11d8c..15c45cb 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
@@ -17,13 +17,13 @@
package androidx.compose.material.icons.generator
import com.google.common.truth.Truth
+import java.io.File
import org.junit.Assert.fail
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.io.File
/**
* Test for [IconProcessor].
diff --git a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/model/Examples.kt b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/model/Examples.kt
index 30fa679..4154cf1 100644
--- a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/model/Examples.kt
+++ b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/model/Examples.kt
@@ -25,8 +25,8 @@
import androidx.compose.material.samples.AlertDialogSample
import androidx.compose.material.samples.BackdropScaffoldSample
import androidx.compose.material.samples.BottomDrawerSample
-import androidx.compose.material.samples.BottomNavigationSample
import androidx.compose.material.samples.BottomNavigationItemWithBadge
+import androidx.compose.material.samples.BottomNavigationSample
import androidx.compose.material.samples.BottomNavigationWithOnlySelectedLabelsSample
import androidx.compose.material.samples.BottomSheetScaffoldSample
import androidx.compose.material.samples.ButtonSample
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ColorPickerDemo.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ColorPickerDemo.kt
index 4aff510..a2e1d22 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ColorPickerDemo.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ColorPickerDemo.kt
@@ -24,8 +24,8 @@
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
-import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.drag
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxWithConstraints
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/DynamicThemeActivity.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/DynamicThemeActivity.kt
index 9489001..8612e36 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/DynamicThemeActivity.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/DynamicThemeActivity.kt
@@ -23,8 +23,8 @@
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.lazy.rememberLazyListState
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
index 6eaf8ed..111e82d 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
@@ -22,12 +22,12 @@
import androidx.compose.material.samples.AlertDialogSample
import androidx.compose.material.samples.BackdropScaffoldSample
import androidx.compose.material.samples.BottomDrawerSample
-import androidx.compose.material.samples.CustomAlertDialogSample
-import androidx.compose.material.samples.ModalBottomSheetSample
-import androidx.compose.material.samples.ModalDrawerSample
import androidx.compose.material.samples.BottomSheetScaffoldSample
import androidx.compose.material.samples.ContentAlphaSample
+import androidx.compose.material.samples.CustomAlertDialogSample
import androidx.compose.material.samples.CustomPullRefreshSample
+import androidx.compose.material.samples.ModalBottomSheetSample
+import androidx.compose.material.samples.ModalDrawerSample
import androidx.compose.material.samples.PullRefreshIndicatorTransformSample
import androidx.compose.material.samples.PullRefreshSample
import androidx.compose.material.samples.ScaffoldWithBottomBarAndCutout
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
index 858e9de..77c8de6 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
@@ -24,12 +24,12 @@
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredHeightIn
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.rememberScrollState
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt
index caf5517..c5cb10f 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt
@@ -33,10 +33,10 @@
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import kotlin.math.roundToInt
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ProgressIndicatorDemo.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ProgressIndicatorDemo.kt
index b3aaf5c..c3edd69 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ProgressIndicatorDemo.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ProgressIndicatorDemo.kt
@@ -18,9 +18,9 @@
import android.os.Handler
import android.os.Looper
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TabDemo.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TabDemo.kt
index 43a42d1..2837fc3 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TabDemo.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TabDemo.kt
@@ -18,8 +18,8 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Button
@@ -29,10 +29,10 @@
import androidx.compose.material.samples.FancyIndicatorTabs
import androidx.compose.material.samples.FancyTabs
import androidx.compose.material.samples.IconTabs
+import androidx.compose.material.samples.LeadingIconTabs
import androidx.compose.material.samples.ScrollingFancyIndicatorContainerTabs
import androidx.compose.material.samples.ScrollingTextTabs
import androidx.compose.material.samples.TextAndIconTabs
-import androidx.compose.material.samples.LeadingIconTabs
import androidx.compose.material.samples.TextTabs
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/BottomSheetScaffoldSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/BottomSheetScaffoldSamples.kt
index 85a3567..d9155c8 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/BottomSheetScaffoldSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/BottomSheetScaffoldSamples.kt
@@ -22,8 +22,8 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.BottomSheetScaffold
import androidx.compose.material.Button
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ScaffoldSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ScaffoldSamples.kt
index 370b121..66e071f 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ScaffoldSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ScaffoldSamples.kt
@@ -57,12 +57,12 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
+import kotlin.math.abs
+import kotlin.math.roundToInt
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.launch
-import kotlin.math.abs
-import kotlin.math.roundToInt
private val colors = listOf(
Color(0xFFffd7d7.toInt()),
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SelectionControlsSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SelectionControlsSamples.kt
index cdad91a..dd3ae10 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SelectionControlsSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SelectionControlsSamples.kt
@@ -17,18 +17,18 @@
package androidx.compose.material.samples
import androidx.annotation.Sampled
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.selection.selectable
import androidx.compose.foundation.selection.selectableGroup
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.width
import androidx.compose.foundation.selection.toggleable
import androidx.compose.material.Checkbox
import androidx.compose.material.CheckboxDefaults
@@ -38,22 +38,22 @@
import androidx.compose.material.Text
import androidx.compose.material.TriStateCheckbox
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.ExperimentalComposeUiApi
+import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.input.InputMode.Companion.Keyboard
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalInputModeManager
-import androidx.compose.ui.semantics.role
import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.role
import androidx.compose.ui.state.ToggleableState
import androidx.compose.ui.unit.dp
-import androidx.compose.ui.ExperimentalComposeUiApi
@Sampled
@Composable
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SwipeableSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SwipeableSamples.kt
index e38cd70..afe146a 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SwipeableSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SwipeableSamples.kt
@@ -18,6 +18,7 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.background
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.size
@@ -30,7 +31,6 @@
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.IntOffset
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/TabSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/TabSamples.kt
index 93f09c5..6ac79a1 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/TabSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/TabSamples.kt
@@ -29,21 +29,21 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Icon
+import androidx.compose.material.LeadingIconTab
import androidx.compose.material.MaterialTheme
import androidx.compose.material.ScrollableTabRow
import androidx.compose.material.Tab
-import androidx.compose.material.TabRowDefaults.tabIndicatorOffset
import androidx.compose.material.TabPosition
import androidx.compose.material.TabRow
-import androidx.compose.material.LeadingIconTab
+import androidx.compose.material.TabRowDefaults.tabIndicatorOffset
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonTest.kt
index 323ee25..863e352 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonTest.kt
@@ -79,10 +79,10 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import kotlin.math.abs
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.abs
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/CheckboxTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/CheckboxTest.kt
index 7d233e4..64005ba 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/CheckboxTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/CheckboxTest.kt
@@ -28,18 +28,18 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.platform.testTag
-import androidx.compose.ui.semantics.SemanticsProperties
import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.SemanticsProperties
import androidx.compose.ui.semantics.focused
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.state.ToggleableState
import androidx.compose.ui.state.ToggleableState.Indeterminate
import androidx.compose.ui.state.ToggleableState.Off
import androidx.compose.ui.state.ToggleableState.On
-import androidx.compose.ui.test.assertHasClickAction
-import androidx.compose.ui.test.assertHasNoClickAction
import androidx.compose.ui.test.SemanticsMatcher
import androidx.compose.ui.test.assert
+import androidx.compose.ui.test.assertHasClickAction
+import androidx.compose.ui.test.assertHasNoClickAction
import androidx.compose.ui.test.assertHeightIsEqualTo
import androidx.compose.ui.test.assertIsEnabled
import androidx.compose.ui.test.assertIsOff
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/DividerUiTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/DividerUiTest.kt
index 5b9920e..5609447 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/DividerUiTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/DividerUiTest.kt
@@ -37,10 +37,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/FloatingActionButtonTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/FloatingActionButtonTest.kt
index bfb6224..6ae0c2a 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/FloatingActionButtonTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/FloatingActionButtonTest.kt
@@ -20,8 +20,8 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.requiredSize
+import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CutCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/IconTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/IconTest.kt
index 77af7e3..e22a0c14 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/IconTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/IconTest.kt
@@ -26,8 +26,8 @@
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.drawscope.CanvasDrawScope
-import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.testTag
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ListItemTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ListItemTest.kt
index c16b858..e1e7ffd 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ListItemTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ListItemTest.kt
@@ -37,10 +37,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt
index 8ad3242..4d0270f 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt
@@ -19,8 +19,8 @@
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.requiredSize
+import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -40,11 +40,11 @@
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.performClick
import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.IntRect
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.IntOffset
+import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ObservableThemeTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ObservableThemeTest.kt
index b3ed829..b653c19 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ObservableThemeTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ObservableThemeTest.kt
@@ -18,9 +18,9 @@
import androidx.activity.ComponentActivity
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.MutableState
-import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonTest.kt
index d34df51..04cd5e3 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonTest.kt
@@ -21,8 +21,8 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
-import androidx.compose.ui.semantics.SemanticsProperties
import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.SemanticsProperties
import androidx.compose.ui.semantics.focused
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.test.SemanticsMatcher
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarHostTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarHostTest.kt
index 5feb341..7eff0db 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarHostTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarHostTest.kt
@@ -34,10 +34,6 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth
-import org.mockito.kotlin.any
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.delay
@@ -47,6 +43,10 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.AdditionalMatchers.not
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
index 126b642..26b529d 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeableTest.kt
@@ -51,6 +51,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.sign
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
@@ -61,7 +62,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.sign
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwitchScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwitchScreenshotTest.kt
index 01414b2..cb03029 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwitchScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwitchScreenshotTest.kt
@@ -29,10 +29,10 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
+import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.InputMode
import androidx.compose.ui.input.InputModeManager
import androidx.compose.ui.platform.LocalInputModeManager
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.ExperimentalTestApi
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt
index 8425818..d666189 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldTest.kt
@@ -100,16 +100,16 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
import kotlin.math.max
import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
index 63a61ef..e57bdd9 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
@@ -20,21 +20,21 @@
import android.os.Build
import android.view.View
import android.view.inputmethod.InputMethodManager
+import androidx.compose.foundation.background
import androidx.compose.foundation.interaction.FocusInteraction
import androidx.compose.foundation.interaction.Interaction
import androidx.compose.foundation.interaction.MutableInteractionSource
-import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.Divider
@@ -116,18 +116,18 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
+import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
+import org.mockito.kotlin.any
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/internal/ExposedDropdownMenuPopup.kt b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/internal/ExposedDropdownMenuPopup.kt
index 006240b..d6f140d 100644
--- a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/internal/ExposedDropdownMenuPopup.kt
+++ b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/internal/ExposedDropdownMenuPopup.kt
@@ -65,8 +65,8 @@
import androidx.compose.ui.util.fastMap
import androidx.compose.ui.window.PopupPositionProvider
import androidx.lifecycle.findViewTreeLifecycleOwner
-import androidx.lifecycle.setViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeViewModelStoreOwner
+import androidx.lifecycle.setViewTreeLifecycleOwner
import androidx.lifecycle.setViewTreeViewModelStoreOwner
import androidx.savedstate.findViewTreeSavedStateRegistryOwner
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
index de183dc..ed10ccf 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
@@ -59,11 +59,11 @@
import androidx.compose.ui.util.fastForEach
import androidx.compose.ui.util.fastMap
import androidx.compose.ui.zIndex
-import kotlinx.coroutines.CancellationException
-import kotlinx.coroutines.launch
import kotlin.math.max
import kotlin.math.min
import kotlin.math.roundToInt
+import kotlinx.coroutines.CancellationException
+import kotlinx.coroutines.launch
/**
* Possible values of [BackdropScaffoldState].
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
index c674017..a8f712b 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
@@ -23,9 +23,9 @@
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.requiredHeightIn
+import androidx.compose.material.AnchoredDraggableState.AnchorChangedCallback
import androidx.compose.material.BottomSheetValue.Collapsed
import androidx.compose.material.BottomSheetValue.Expanded
-import androidx.compose.material.AnchoredDraggableState.AnchorChangedCallback
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.Stable
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Divider.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Divider.kt
index e8c9fad..53b3b31 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Divider.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Divider.kt
@@ -16,11 +16,11 @@
package androidx.compose.material
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
index f42d552..d7162a6 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
@@ -30,10 +30,10 @@
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.sizeIn
+import androidx.compose.material.AnchoredDraggableState.AnchorChangedCallback
import androidx.compose.material.BottomDrawerValue.Closed
import androidx.compose.material.BottomDrawerValue.Expanded
import androidx.compose.material.BottomDrawerValue.Open
-import androidx.compose.material.AnchoredDraggableState.AnchorChangedCallback
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.Stable
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/IconButton.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/IconButton.kt
index 8ffc43d..fc5182e 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/IconButton.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/IconButton.kt
@@ -16,9 +16,9 @@
package androidx.compose.material
+import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.Interaction
import androidx.compose.foundation.interaction.MutableInteractionSource
-import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.selection.toggleable
import androidx.compose.material.ripple.rememberRipple
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ListItem.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ListItem.kt
index 6b1cd00..d3b5ef5 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ListItem.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ListItem.kt
@@ -18,8 +18,8 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.heightIn
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.sizeIn
import androidx.compose.foundation.layout.widthIn
import androidx.compose.runtime.Composable
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTextSelectionColors.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTextSelectionColors.kt
index aea6370..3cbb183 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTextSelectionColors.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTextSelectionColors.kt
@@ -16,13 +16,13 @@
package androidx.compose.material
+import androidx.compose.foundation.text.selection.TextSelectionColors
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.luminance
import androidx.compose.ui.graphics.takeOrElse
-import androidx.compose.foundation.text.selection.TextSelectionColors
import kotlin.math.max
import kotlin.math.min
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt
index 50396c8..eaf511a 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/MaterialTheme.kt
@@ -17,15 +17,15 @@
package androidx.compose.material
import androidx.compose.foundation.LocalIndication
+import androidx.compose.foundation.text.selection.LocalTextSelectionColors
import androidx.compose.material.ripple.LocalRippleTheme
import androidx.compose.material.ripple.RippleTheme
import androidx.compose.material.ripple.rememberRipple
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.Immutable
import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Immutable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.remember
-import androidx.compose.foundation.text.selection.LocalTextSelectionColors
/**
* <a href="https://material.io/design/material-theming/overview.html" class="external" target="_blank">Material Theming</a>.
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt
index 316474c..3f01485 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Slider.kt
@@ -27,10 +27,10 @@
import androidx.compose.foundation.gestures.DraggableState
import androidx.compose.foundation.gestures.GestureCancellationException
import androidx.compose.foundation.gestures.Orientation
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.draggable
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.horizontalDrag
import androidx.compose.foundation.hoverable
import androidx.compose.foundation.indication
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SnackbarHost.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SnackbarHost.kt
index 5e00644..e1af01b 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SnackbarHost.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SnackbarHost.kt
@@ -42,12 +42,12 @@
import androidx.compose.ui.semantics.liveRegion
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.util.fastForEach
+import kotlin.coroutines.resume
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.delay
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
-import kotlin.coroutines.resume
/**
* State of the [SnackbarHost], controls the queue and the current [Snackbar] being shown inside
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
index 0aa1377..1cda288 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
@@ -38,8 +38,8 @@
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
-import kotlinx.coroutines.CancellationException
import kotlin.math.roundToInt
+import kotlinx.coroutines.CancellationException
/**
* The directions in which a [SwipeToDismiss] can be dismissed.
diff --git a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt
index 1c886e0..125aaed 100644
--- a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt
+++ b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopAlertDialog.desktop.kt
@@ -31,15 +31,15 @@
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.window.Dialog as CoreDialog
import androidx.compose.ui.window.Popup
import androidx.compose.ui.window.PopupPositionProvider
import androidx.compose.ui.window.rememberDialogState
-import androidx.compose.ui.window.Dialog as CoreDialog
/**
* Alert dialog is a Dialog which interrupts the user with urgent information, details or actions.
diff --git a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt
index ea91b6c..ba88fef 100644
--- a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt
+++ b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt
@@ -17,11 +17,11 @@
package androidx.compose.material
import androidx.compose.animation.core.MutableTransitionState
+import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.RowScope
-import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.rememberScrollState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
@@ -32,14 +32,14 @@
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.DpOffset
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.window.rememberCursorPositionProvider
+import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Popup
import androidx.compose.ui.window.PopupPositionProvider
+import androidx.compose.ui.window.rememberCursorPositionProvider
/**
* A Material Design [dropdown menu](https://material.io/components/menus#dropdown-menu).
diff --git a/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopAlertDialogTest.kt b/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopAlertDialogTest.kt
index 0537f91..cc5e759 100644
--- a/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopAlertDialogTest.kt
+++ b/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopAlertDialogTest.kt
@@ -18,20 +18,20 @@
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInRoot
-import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.IntSize
+import androidx.compose.ui.unit.dp
import com.google.common.truth.Truth.assertThat
-import org.junit.runners.JUnit4
-import org.junit.runner.RunWith
import org.junit.Rule
import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class DesktopAlertDialogTest {
diff --git a/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopMenuTest.kt b/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopMenuTest.kt
index d658276..7ec3efcb 100644
--- a/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopMenuTest.kt
+++ b/compose/material/material/src/desktopTest/kotlin/androidx/compose/material/DesktopMenuTest.kt
@@ -23,9 +23,9 @@
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import com.google.common.truth.Truth.assertThat
-import org.junit.runners.JUnit4
-import org.junit.runner.RunWith
import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class DesktopMenuTest {
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ButtonSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ButtonSamples.kt
index cc1daef..5521ab9 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ButtonSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/ButtonSamples.kt
@@ -17,8 +17,8 @@
package androidx.compose.material3.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material3.Button
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerUiTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerUiTest.kt
index a11f610..9e19fbb 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerUiTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerUiTest.kt
@@ -38,10 +38,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemTest.kt
index 1abb4ea..1b21463 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemTest.kt
@@ -36,11 +36,11 @@
import androidx.compose.ui.unit.width
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
-import com.google.common.truth.Truth.assertThat
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldTest.kt
index 0399416..c8a4298 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldTest.kt
@@ -1206,6 +1206,24 @@
}
@Test
+ fun testOutlinedTextField_supportingText_remainsVisibleWithTallInput() {
+ rule.setMaterialContent(lightColorScheme()) {
+ OutlinedTextField(
+ value = buildString {
+ repeat(200) {
+ append("line $it\n")
+ }
+ },
+ onValueChange = {},
+ modifier = Modifier.size(width = ExpectedDefaultTextFieldWidth, height = 150.dp),
+ supportingText = { Text("Supporting", modifier = Modifier.testTag("Supporting")) }
+ )
+ }
+
+ rule.onNodeWithTag("Supporting", useUnmergedTree = true).assertIsDisplayed()
+ }
+
+ @Test
fun testOutlinedTextField_supportingText_clickFocusesTextField() {
var focused = false
rule.setMaterialContent(lightColorScheme()) {
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SnackbarHostTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SnackbarHostTest.kt
index a5d5e9f..e67aa28 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SnackbarHostTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SnackbarHostTest.kt
@@ -36,10 +36,6 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth
-import org.mockito.kotlin.any
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.delay
@@ -49,6 +45,10 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.AdditionalMatchers.not
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SwitchScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SwitchScreenshotTest.kt
index 30162ba..5fcafa4 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SwitchScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SwitchScreenshotTest.kt
@@ -33,10 +33,10 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
+import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.InputMode
import androidx.compose.ui.input.InputModeManager
import androidx.compose.ui.platform.LocalInputModeManager
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.ExperimentalTestApi
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldTest.kt
index 53c668f..ef94485 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldTest.kt
@@ -69,6 +69,7 @@
import androidx.compose.ui.test.SemanticsMatcher
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertHeightIsEqualTo
+import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertWidthIsEqualTo
import androidx.compose.ui.test.captureToImage
import androidx.compose.ui.test.click
@@ -98,17 +99,17 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
@OptIn(ExperimentalMaterial3Api::class)
@MediumTest
@@ -1170,6 +1171,24 @@
}
@Test
+ fun testTextField_supportingText_remainsVisibleWithTallInput() {
+ rule.setMaterialContent(lightColorScheme()) {
+ TextField(
+ value = buildString {
+ repeat(200) {
+ append("line $it\n")
+ }
+ },
+ onValueChange = {},
+ modifier = Modifier.size(width = ExpectedDefaultTextFieldWidth, height = 150.dp),
+ supportingText = { Text("Supporting", modifier = Modifier.testTag("Supporting")) }
+ )
+ }
+
+ rule.onNodeWithTag("Supporting", useUnmergedTree = true).assertIsDisplayed()
+ }
+
+ @Test
fun testTextField_supportingText_clickFocusesTextField() {
var focused = false
rule.setMaterialContent(lightColorScheme()) {
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TouchExplorationStateProvider.android.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TouchExplorationStateProvider.android.kt
index cbb7308..955ebc5 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TouchExplorationStateProvider.android.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TouchExplorationStateProvider.android.kt
@@ -25,9 +25,9 @@
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
-import androidx.compose.runtime.setValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.Lifecycle
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/ExposedDropdownMenuPopup.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/ExposedDropdownMenuPopup.kt
index 6900df5..67a996d 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/ExposedDropdownMenuPopup.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/internal/ExposedDropdownMenuPopup.kt
@@ -63,9 +63,9 @@
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastMap
import androidx.compose.ui.window.PopupPositionProvider
-import androidx.lifecycle.setViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeViewModelStoreOwner
+import androidx.lifecycle.setViewTreeLifecycleOwner
import androidx.lifecycle.setViewTreeViewModelStoreOwner
import androidx.savedstate.findViewTreeSavedStateRegistryOwner
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/BottomSheetScaffold.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/BottomSheetScaffold.kt
index d0379dd..d81502f7 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/BottomSheetScaffold.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/BottomSheetScaffold.kt
@@ -24,9 +24,9 @@
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.requiredHeightIn
import androidx.compose.foundation.layout.widthIn
-import androidx.compose.material3.SheetValue.PartiallyExpanded
import androidx.compose.material3.SheetValue.Expanded
import androidx.compose.material3.SheetValue.Hidden
+import androidx.compose.material3.SheetValue.PartiallyExpanded
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
import androidx.compose.runtime.remember
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Divider.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Divider.kt
index 73e47de..5da509f 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Divider.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Divider.kt
@@ -16,8 +16,8 @@
package androidx.compose.material3
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.material3.tokens.DividerTokens
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/OutlinedTextField.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/OutlinedTextField.kt
index 05c8c52..630f24b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/OutlinedTextField.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/OutlinedTextField.kt
@@ -688,17 +688,20 @@
onLabelMeasured(Size(it.width.toFloat(), it.height.toFloat()))
}
+ // supporting text must be measured after other elements, but we
+ // reserve space for it using its intrinsic height as a heuristic
+ val supportingMeasurable = measurables.find { it.layoutId == SupportingId }
+ val supportingIntrinsicHeight =
+ supportingMeasurable?.minIntrinsicHeight(constraints.minWidth) ?: 0
+
// measure text field
- // On top, we offset either by default padding or by label's half height if its too big.
- // On bottom, we offset to make room for supporting text.
- // minHeight must not be set to 0 due to how foundation TextField treats zero minHeight.
val topPadding = max(
heightOrZero(labelPlaceable) / 2,
paddingValues.calculateTopPadding().roundToPx()
)
val textConstraints = constraints.offset(
horizontal = -occupiedSpaceHorizontally,
- vertical = -bottomPadding - topPadding
+ vertical = -bottomPadding - topPadding - supportingIntrinsicHeight
).copy(minHeight = 0)
val textFieldPlaceable =
measurables.first { it.layoutId == TextFieldId }.measure(textConstraints)
@@ -733,8 +736,7 @@
val supportingConstraints = relaxedConstraints.offset(
vertical = -occupiedSpaceVertically
).copy(minHeight = 0, maxWidth = width)
- val supportingPlaceable =
- measurables.find { it.layoutId == SupportingId }?.measure(supportingConstraints)
+ val supportingPlaceable = supportingMeasurable?.measure(supportingConstraints)
val supportingHeight = heightOrZero(supportingPlaceable)
val totalHeight =
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Shapes.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Shapes.kt
index c0fcd04..2fed380 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Shapes.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Shapes.kt
@@ -25,8 +25,8 @@
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.staticCompositionLocalOf
-import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.RectangleShape
+import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.unit.dp
/**
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SheetDefaults.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SheetDefaults.kt
index 71dd117..bc8acd2 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SheetDefaults.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SheetDefaults.kt
@@ -20,9 +20,9 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
-import androidx.compose.material3.SheetValue.PartiallyExpanded
-import androidx.compose.material3.SheetValue.Hidden
import androidx.compose.material3.SheetValue.Expanded
+import androidx.compose.material3.SheetValue.Hidden
+import androidx.compose.material3.SheetValue.PartiallyExpanded
import androidx.compose.material3.tokens.ScrimTokens
import androidx.compose.material3.tokens.SheetBottomTokens
import androidx.compose.runtime.Composable
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Slider.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Slider.kt
index da8bcc1..1bce0b5 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Slider.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Slider.kt
@@ -27,10 +27,10 @@
import androidx.compose.foundation.gestures.GestureCancellationException
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.PressGestureScope
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.draggable
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.horizontalDrag
import androidx.compose.foundation.hoverable
import androidx.compose.foundation.indication
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SnackbarHost.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SnackbarHost.kt
index 3e072a2..dce3b38 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SnackbarHost.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SnackbarHost.kt
@@ -41,12 +41,12 @@
import androidx.compose.ui.semantics.dismiss
import androidx.compose.ui.semantics.liveRegion
import androidx.compose.ui.semantics.semantics
+import kotlin.coroutines.resume
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.delay
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
-import kotlin.coroutines.resume
/**
* State of the [SnackbarHost], which controls the queue and the current [Snackbar] being shown
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SwipeToDismiss.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SwipeToDismiss.kt
index 271d0cf..dfd656f 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SwipeToDismiss.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SwipeToDismiss.kt
@@ -27,8 +27,8 @@
import androidx.compose.material3.DismissValue.DismissedToEnd
import androidx.compose.material3.DismissValue.DismissedToStart
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.saveable.Saver
import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.Saver
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalLayoutDirection
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Swipeable.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Swipeable.kt
index 8ebe654..3155cfd 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Swipeable.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Swipeable.kt
@@ -53,16 +53,16 @@
import androidx.compose.ui.unit.Velocity
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.lerp
+import kotlin.math.PI
+import kotlin.math.abs
+import kotlin.math.sign
+import kotlin.math.sin
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.take
import kotlinx.coroutines.launch
-import kotlin.math.PI
-import kotlin.math.abs
-import kotlin.math.sign
-import kotlin.math.sin
/**
* State of the [swipeable] modifier.
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tab.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tab.kt
index 31ab35e..b1cbd6f 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tab.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tab.kt
@@ -52,7 +52,6 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
-
import kotlin.math.max
/**
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextField.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextField.kt
index 1cc5891..cd786c6 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextField.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextField.kt
@@ -676,13 +676,18 @@
val labelPlaceable =
measurables.find { it.layoutId == LabelId }?.measure(labelConstraints)
+ // supporting text must be measured after other elements, but we
+ // reserve space for it using its intrinsic height as a heuristic
+ val supportingMeasurable = measurables.find { it.layoutId == SupportingId }
+ val supportingIntrinsicHeight =
+ supportingMeasurable?.minIntrinsicHeight(constraints.minWidth) ?: 0
+
// measure input field
val effectiveTopOffset = topPaddingValue + heightOrZero(labelPlaceable)
- val verticalConstraintOffset = -effectiveTopOffset - bottomPaddingValue
val textFieldConstraints = constraints
.copy(minHeight = 0)
.offset(
- vertical = verticalConstraintOffset,
+ vertical = -effectiveTopOffset - bottomPaddingValue - supportingIntrinsicHeight,
horizontal = -occupiedSpaceHorizontally
)
val textFieldPlaceable = measurables
@@ -715,8 +720,7 @@
val supportingConstraints = looseConstraints.offset(
vertical = -occupiedSpaceVertically
).copy(minHeight = 0, maxWidth = width)
- val supportingPlaceable =
- measurables.find { it.layoutId == SupportingId }?.measure(supportingConstraints)
+ val supportingPlaceable = supportingMeasurable?.measure(supportingConstraints)
val supportingHeight = heightOrZero(supportingPlaceable)
val totalHeight = calculateHeight(
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Typography.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Typography.kt
index fe45135..7b6273b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Typography.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Typography.kt
@@ -17,10 +17,10 @@
package androidx.compose.material3
import androidx.compose.material3.tokens.TypographyKeyTokens
+import androidx.compose.material3.tokens.TypographyTokens
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.text.TextStyle
-import androidx.compose.material3.tokens.TypographyTokens
/**
* The Material Design type scale includes a range of contrasting styles that support the needs of
diff --git a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/Strings.desktop.kt b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/Strings.desktop.kt
index 2de7b31..ed3cf456 100644
--- a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/Strings.desktop.kt
+++ b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/Strings.desktop.kt
@@ -18,7 +18,6 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
-
import java.util.Locale
@Composable
diff --git a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.desktop.kt b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.desktop.kt
index fe5ca33..c48c446 100644
--- a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.desktop.kt
+++ b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.desktop.kt
@@ -17,8 +17,8 @@
package androidx.compose.material3
import androidx.compose.foundation.layout.WindowInsets
-import androidx.compose.ui.unit.dp
import androidx.compose.runtime.Composable
+import androidx.compose.ui.unit.dp
internal actual val WindowInsets.Companion.systemBarsForVisualComponents: WindowInsets
@Composable
diff --git a/compose/runtime/OWNERS b/compose/runtime/OWNERS
index a9c5fa6..1d23419 100644
--- a/compose/runtime/OWNERS
+++ b/compose/runtime/OWNERS
@@ -3,6 +3,7 @@
chuckj@google.com
lelandr@google.com
anbailey@google.com
+ashikov@google.com
# Per-file for Playground infra
per-file settings.gradle = yboyar@google.com, dustinlam@google.com, rahulrav@google.com
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetector.kt
index 8f8df7f..373c6f1 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetector.kt
@@ -31,8 +31,8 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
-import org.jetbrains.uast.UCallExpression
import java.util.EnumSet
+import org.jetbrains.uast.UCallExpression
/**
* [Detector] that checks `async` and `launch` calls to make sure they don't happen inside the
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableFlowOperatorDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableFlowOperatorDetector.kt
index 7688c4f..024e954 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableFlowOperatorDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableFlowOperatorDetector.kt
@@ -33,6 +33,7 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.impl.compiled.ClsMethodImpl
+import java.util.EnumSet
import kotlinx.metadata.KmClassifier
import org.jetbrains.kotlin.psi.KtNamedFunction
import org.jetbrains.uast.UCallExpression
@@ -40,7 +41,6 @@
import org.jetbrains.uast.UTypeReferenceExpression
import org.jetbrains.uast.resolveToUElement
import org.jetbrains.uast.toUElement
-import java.util.EnumSet
/**
* [Detector] that checks calls to Flow operator functions (such as map) to make sure they don't
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetector.kt
index 1ed4cd9..5993c93 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetector.kt
@@ -30,13 +30,13 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
+import java.util.EnumSet
import org.jetbrains.kotlin.psi.KtFunctionType
import org.jetbrains.kotlin.psi.KtNullableType
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UMethod
import org.jetbrains.uast.UParameter
-import java.util.EnumSet
/**
* [Detector] that checks composable lambda parameters inside composable functions for
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableNamingDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableNamingDetector.kt
index 1bbfff0..c7be5bf 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableNamingDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableNamingDetector.kt
@@ -30,9 +30,9 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
-import org.jetbrains.uast.UMethod
import java.util.EnumSet
import java.util.Locale
+import org.jetbrains.uast.UMethod
/**
* [Detector] that checks the naming of @Composable functions for consistency with guidelines.
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableStateFlowValueDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableStateFlowValueDetector.kt
index 8673429..ce42adb 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableStateFlowValueDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ComposableStateFlowValueDetector.kt
@@ -32,9 +32,9 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.USimpleNameReferenceExpression
import org.jetbrains.uast.tryResolve
-import java.util.EnumSet
/**
* [Detector] that checks calls to StateFlow.value to make sure they don't happen inside the body
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/CompositionLocalNamingDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/CompositionLocalNamingDetector.kt
index ef2fca4..dee4098 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/CompositionLocalNamingDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/CompositionLocalNamingDetector.kt
@@ -29,12 +29,12 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
+import java.util.EnumSet
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UParameter
import org.jetbrains.uast.UVariable
-import java.util.EnumSet
/**
* [Detector] that checks the naming of CompositionLocal properties for consistency with guidelines.
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/MutableCollectionMutableStateDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/MutableCollectionMutableStateDetector.kt
index 896c7bf..4285eca 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/MutableCollectionMutableStateDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/MutableCollectionMutableStateDetector.kt
@@ -29,13 +29,13 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.kotlin.descriptors.containingPackage
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.typeUtil.supertypes
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.kotlin.KotlinUastResolveProviderService
-import java.util.EnumSet
/**
* [Detector] that checks `mutableStateOf` calls to warn if the type is a mutable collection, as
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ProduceStateDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ProduceStateDetector.kt
index a18642d..2afb1ab 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ProduceStateDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/ProduceStateDetector.kt
@@ -31,12 +31,12 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.USimpleNameReferenceExpression
import org.jetbrains.uast.getParameterForArgument
import org.jetbrains.uast.tryResolve
import org.jetbrains.uast.visitor.AbstractUastVisitor
-import java.util.EnumSet
/**
* [Detector] that checks calls to produceState, to make sure that the producer lambda writes to
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RememberDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RememberDetector.kt
index 559d08c..354a305 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RememberDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RememberDetector.kt
@@ -30,10 +30,10 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
-import org.jetbrains.uast.UCallExpression
import java.util.EnumSet
import org.jetbrains.kotlin.psi.KtCallExpression
import org.jetbrains.kotlin.psi.KtLambdaExpression
+import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UExpression
import org.jetbrains.uast.toUElementOfType
diff --git a/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetector.kt b/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetector.kt
index 146c33a..c96aa91 100644
--- a/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetector.kt
+++ b/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetector.kt
@@ -34,8 +34,8 @@
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiArrayType
import com.intellij.psi.PsiMethod
-import org.jetbrains.uast.UCallExpression
import java.util.EnumSet
+import org.jetbrains.uast.UCallExpression
/**
* [Detector] that checks `rememberSaveable` calls to make sure that a `Saver` is not passed to
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt
index aaec57b..ab8811c 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt
@@ -37,9 +37,9 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.random.Random
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.random.Random
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt
index 1d15b6c..ceffeeb 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt
@@ -26,13 +26,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeBenchmark.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeBenchmark.kt
index 56ef072..147cc7b 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeBenchmark.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeBenchmark.kt
@@ -21,9 +21,9 @@
import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DbMonsterBenchmark.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DbMonsterBenchmark.kt
index 5f134b7..ad91d96 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DbMonsterBenchmark.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DbMonsterBenchmark.kt
@@ -25,12 +25,12 @@
import androidx.test.annotation.UiThreadTest
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import kotlin.random.Random
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
-import kotlin.random.Random
/**
* This is an implementation of a classic web perf benchmark "dbmonster". This can provide insight into apps with
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SiblingBenchmark.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SiblingBenchmark.kt
index 391d120..da437421 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SiblingBenchmark.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SiblingBenchmark.kt
@@ -25,11 +25,11 @@
import androidx.compose.ui.test.ExperimentalTestApi
import androidx.test.annotation.UiThreadTest
import androidx.test.filters.LargeTest
+import kotlin.random.Random
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.random.Random
/**
* Managing “lists” of components that are siblings in Compose and other declarative reactive frameworks ends up
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateObserverBenchmark.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateObserverBenchmark.kt
index 4fe328d..055b6f9 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateObserverBenchmark.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateObserverBenchmark.kt
@@ -21,8 +21,8 @@
import android.os.Looper
import androidx.benchmark.junit4.measureRepeated
import androidx.compose.runtime.MutableState
-import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.derivedStateOf
+import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.runtime.snapshots.SnapshotStateObserver
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/deeptree/DeepTree.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/deeptree/DeepTree.kt
index 45e8e80..c481a56 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/deeptree/DeepTree.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/deeptree/DeepTree.kt
@@ -16,8 +16,8 @@
package androidx.compose.runtime.benchmark.deeptree
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ComposeIntoTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ComposeIntoTests.kt
index e22971c..79df8bd 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ComposeIntoTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ComposeIntoTests.kt
@@ -21,10 +21,6 @@
import androidx.core.os.HandlerCompat
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
-import org.junit.Assert.assertEquals
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.lang.ref.PhantomReference
import java.lang.ref.ReferenceQueue
import java.util.concurrent.CountDownLatch
@@ -32,6 +28,10 @@
import kotlin.test.assertNotNull
import kotlin.test.assertNull
import kotlin.test.assertTrue
+import org.junit.Assert.assertEquals
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class ComposeIntoTests : BaseComposeTest() {
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/EmittableComposer.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/EmittableComposer.kt
index f34d918..1ab873f 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/EmittableComposer.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/EmittableComposer.kt
@@ -17,8 +17,8 @@
import android.view.View
import android.widget.Button
-import android.widget.TextView
import android.widget.LinearLayout
+import android.widget.TextView
import androidx.compose.ui.viewinterop.AndroidView
@Suppress("UNUSED_PARAMETER")
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/FlowAdapterTest.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/FlowAdapterTest.kt
index fdb2a56..7d7a083 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/FlowAdapterTest.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/FlowAdapterTest.kt
@@ -20,6 +20,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import kotlin.coroutines.CoroutineContext
+import kotlin.test.assertNotNull
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -27,8 +29,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.coroutines.CoroutineContext
-import kotlin.test.assertNotNull
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ProduceStateTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ProduceStateTests.kt
index a550adb..ad0091f 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ProduceStateTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ProduceStateTests.kt
@@ -16,14 +16,14 @@
package androidx.compose.runtime
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.MediumTest
+import kotlin.test.assertEquals
import kotlinx.coroutines.channels.Channel
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import kotlin.test.assertEquals
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SideEffectTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SideEffectTests.kt
index f156f72..da25ff8 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SideEffectTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SideEffectTests.kt
@@ -19,18 +19,18 @@
import android.view.Choreographer
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
-import kotlinx.coroutines.channels.Channel
-import kotlinx.coroutines.channels.ReceiveChannel
-import kotlinx.coroutines.channels.SendChannel
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import kotlin.test.assertEquals
import kotlin.test.assertNotEquals
import kotlin.test.assertNotNull
import kotlin.test.assertSame
import kotlin.test.assertTrue
import kotlin.test.fail
+import kotlinx.coroutines.channels.Channel
+import kotlinx.coroutines.channels.ReceiveChannel
+import kotlinx.coroutines.channels.SendChannel
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
@Suppress("UNUSED_VARIABLE")
@MediumTest
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SuspendingEffectsTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SuspendingEffectsTests.kt
index 09cdb86..243e11a 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SuspendingEffectsTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/SuspendingEffectsTests.kt
@@ -19,6 +19,12 @@
import android.view.Choreographer
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertNotEquals
+import kotlin.test.assertNotNull
+import kotlin.test.assertSame
+import kotlin.test.assertTrue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.isActive
@@ -26,12 +32,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.test.assertEquals
-import kotlin.test.assertFalse
-import kotlin.test.assertNotEquals
-import kotlin.test.assertNotNull
-import kotlin.test.assertSame
-import kotlin.test.assertTrue
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/CustomTreeCompositionSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/CustomTreeCompositionSamples.kt
index 688760c..28d0089 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/CustomTreeCompositionSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/CustomTreeCompositionSamples.kt
@@ -19,9 +19,9 @@
import androidx.annotation.Sampled
import androidx.compose.runtime.AbstractApplier
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.ComposeNode
import androidx.compose.runtime.Composition
import androidx.compose.runtime.CompositionContext
-import androidx.compose.runtime.ComposeNode
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ModelSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ModelSamples.kt
index d1c516f..7080f39 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ModelSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ModelSamples.kt
@@ -18,9 +18,9 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material.Button
import androidx.compose.material.Text
-import androidx.compose.foundation.text.BasicTextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateListSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateListSamples.kt
index db5044c..24f0b6f 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateListSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateListSamples.kt
@@ -20,9 +20,9 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material.Button
import androidx.compose.material.Text
-import androidx.compose.foundation.text.BasicTextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateListOf
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateMapSample.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateMapSample.kt
index 9d8b1ec3..8a6f4df 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateMapSample.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/MutableStateMapSample.kt
@@ -20,9 +20,9 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material.Button
import androidx.compose.material.Text
-import androidx.compose.foundation.text.BasicTextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateMapOf
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotSamples.kt
index c6b6ac0..937674e 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotSamples.kt
@@ -21,8 +21,8 @@
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
-import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.runtime.snapshotFlow
+import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.runtime.snapshots.asContextElement
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.collect
diff --git a/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/snapshots/ParcelableMutableStateTests.kt b/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/snapshots/ParcelableMutableStateTests.kt
index dbb8932..42e45c5 100644
--- a/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/snapshots/ParcelableMutableStateTests.kt
+++ b/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/snapshots/ParcelableMutableStateTests.kt
@@ -23,10 +23,10 @@
import androidx.compose.runtime.neverEqualPolicy
import androidx.compose.runtime.referentialEqualityPolicy
import androidx.compose.runtime.structuralEqualityPolicy
+import kotlin.test.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.test.assertEquals
@RunWith(Parameterized::class)
class ParcelableMutableStateTests(
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BroadcastFrameClock.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BroadcastFrameClock.kt
index cec11b2..1718d92 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BroadcastFrameClock.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BroadcastFrameClock.kt
@@ -17,10 +17,10 @@
package androidx.compose.runtime
import androidx.compose.runtime.snapshots.fastForEach
-import kotlinx.coroutines.CancellationException
-import kotlinx.coroutines.suspendCancellableCoroutine
import kotlin.coroutines.Continuation
import kotlin.coroutines.resumeWithException
+import kotlinx.coroutines.CancellationException
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* A simple frame clock.
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Effects.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Effects.kt
index 9efcc11..183f5fe 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Effects.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Effects.kt
@@ -17,12 +17,12 @@
package androidx.compose.runtime
import kotlin.coroutines.CoroutineContext
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
-import kotlin.coroutines.EmptyCoroutineContext
-import kotlinx.coroutines.CancellationException
/**
* Schedule [effect] to run when the current composition completes successfully and applies
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Latch.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Latch.kt
index 6be6d1a..8bb366f 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Latch.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Latch.kt
@@ -16,9 +16,9 @@
package androidx.compose.runtime
-import kotlinx.coroutines.suspendCancellableCoroutine
import kotlin.coroutines.Continuation
import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* A boolean open or closed latch for awaiting a single repeating event, like pending
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.kt
index 9fa259d..c6227a5 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MonotonicFrameClock.kt
@@ -16,9 +16,9 @@
package androidx.compose.runtime
+import androidx.compose.runtime.internal.JvmDefaultWithCompatibility
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.coroutineContext
-import androidx.compose.runtime.internal.JvmDefaultWithCompatibility
/**
* Provides a time source for display frames and the ability to perform an action on the next frame.
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt
index 21e14a5..a0f493d 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt
@@ -16,15 +16,15 @@
package androidx.compose.runtime.dispatch
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.async
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
-import kotlin.test.Test
-import kotlin.test.assertEquals
-import kotlin.test.assertTrue
@ExperimentalCoroutinesApi
class BroadcastFrameClockTest {
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt
index 468fd71..2dc9e36 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt
@@ -26,12 +26,12 @@
import androidx.compose.runtime.mock.expectNoChanges
import androidx.compose.runtime.mock.revalidate
import androidx.compose.runtime.mock.validate
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.launch
-import kotlin.test.assertEquals
import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.launch
// Create a normal (dynamic) CompositionLocal with a string value
val LocalSomeTextComposition = compositionLocalOf { "Default" }
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt
index 04c5b531..edfbac3 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt
@@ -19,11 +19,10 @@
package androidx.compose.runtime
import androidx.compose.runtime.mock.CompositionTestScope
+import androidx.compose.runtime.mock.View
import androidx.compose.runtime.mock.compositionTest
import androidx.compose.runtime.tooling.CompositionData
import androidx.compose.runtime.tooling.CompositionGroup
-import androidx.compose.runtime.mock.View
-
import kotlin.test.Test
class GroupSizeValidationTests {
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/LatchTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/LatchTest.kt
index 3367da5..041d795 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/LatchTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/LatchTest.kt
@@ -16,13 +16,13 @@
package androidx.compose.runtime
+import kotlin.test.Test
+import kotlin.test.assertTrue
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.withTimeout
-import kotlin.test.Test
-import kotlin.test.assertTrue
@ExperimentalCoroutinesApi
class LatchTest {
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt
index 8e7e8fc..13b1ba4 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt
@@ -17,6 +17,8 @@
package androidx.compose.runtime
import androidx.compose.runtime.snapshots.Snapshot
+import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.launchIn
@@ -24,8 +26,6 @@
import kotlinx.coroutines.plus
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.yield
-import kotlin.test.Test
-import kotlin.test.assertEquals
@OptIn(ExperimentalCoroutinesApi::class)
@Suppress("RemoveExplicitTypeArguments")
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
index 15e98c8..4a3d14b 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
@@ -22,14 +22,14 @@
import androidx.compose.runtime.InternalComposeApi
import androidx.compose.runtime.Recomposer
import androidx.compose.runtime.snapshots.Snapshot
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.TestCoroutineScheduler
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.withContext
-import kotlin.test.assertFalse
-import kotlin.test.assertTrue
-import kotlinx.coroutines.test.TestCoroutineScheduler
@OptIn(InternalComposeApi::class, ExperimentalCoroutinesApi::class)
fun compositionTest(block: suspend CompositionTestScope.() -> Unit) = runTest {
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Views.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Views.kt
index a5617c9..8babf4b 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Views.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Views.kt
@@ -18,9 +18,9 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ComposeNode
-import androidx.compose.runtime.ReusableComposeNode
-import androidx.compose.runtime.NonRestartableComposable
import androidx.compose.runtime.ComposeNodeLifecycleCallback
+import androidx.compose.runtime.NonRestartableComposable
+import androidx.compose.runtime.ReusableComposeNode
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.rememberUpdatedState
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt
index 3457ab2..0100bb8 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt
@@ -24,9 +24,9 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshots.Snapshot.Companion.openSnapshotCount
-import kotlin.test.Ignore
import kotlin.test.AfterTest
import kotlin.test.BeforeTest
+import kotlin.test.Ignore
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt
index 762d20c..58cdedd 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt
@@ -19,12 +19,12 @@
import androidx.compose.runtime.ExperimentalComposeApi
import kotlin.test.Test
import kotlin.test.assertSame
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.withContext
@OptIn(ExperimentalComposeApi::class, ExperimentalCoroutinesApi::class)
class SnapshotContextElementTests {
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt
index 886b51c..d788ffe 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt
@@ -17,18 +17,18 @@
package androidx.compose.runtime.snapshots
import androidx.compose.runtime.mutableStateListOf
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.runTest
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.consumeEach
+import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.runTest
import kotlinx.test.IgnoreJsTarget
class SnapshotStateListTests {
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt
index be1db36..dab7a74 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt
@@ -19,18 +19,18 @@
package androidx.compose.runtime.snapshots
import androidx.compose.runtime.mutableStateMapOf
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.runTest
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.consumeEach
+import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.runTest
import kotlinx.test.IgnoreJsTarget
class SnapshotStateMapTests {
diff --git a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt
index 6e5c2d70..d6b657f 100644
--- a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt
@@ -18,22 +18,22 @@
package androidx.compose.runtime
import androidx.compose.runtime.mock.EmptyApplier
-import androidx.compose.runtime.mock.compositionTest
import androidx.compose.runtime.mock.Text
import androidx.compose.runtime.mock.View
import androidx.compose.runtime.mock.ViewApplier
+import androidx.compose.runtime.mock.compositionTest
import androidx.compose.runtime.mock.expectChanges
import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.runtime.snapshots.SnapshotStateObserver
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runTest
import kotlin.concurrent.thread
import kotlin.test.AfterTest
import kotlin.test.BeforeTest
-import kotlinx.coroutines.delay
import kotlin.test.Test
import kotlin.test.assertEquals
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runTest
@Stable
@OptIn(InternalComposeApi::class)
diff --git a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt
index b555bea..a9b8eba 100644
--- a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt
@@ -16,11 +16,11 @@
package androidx.compose.runtime
-import kotlinx.coroutines.runBlocking
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertSame
+import kotlinx.coroutines.runBlocking
class MonotonicFrameClockTest {
@ExperimentalComposeApi
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/RectTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/RectTest.kt
index 927b408..a911875 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/RectTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/RectTest.kt
@@ -16,12 +16,12 @@
package androidx.compose.ui.geometry
+import kotlin.test.assertTrue
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertTrue
@RunWith(JUnit4::class)
class RectTest {
diff --git a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
index 16a8216..8e5e6e3 100644
--- a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
+++ b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
@@ -30,9 +30,9 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.kotlin.KotlinULiteralExpression
-import java.util.EnumSet
/**
* [Detector] that checks hex Color definitions to ensure that they provide values for all four
diff --git a/compose/ui/ui-graphics/benchmark/src/main/java/androidx/compose/ui/graphics/benchmark/ImageVectorTestCase.kt b/compose/ui/ui-graphics/benchmark/src/main/java/androidx/compose/ui/graphics/benchmark/ImageVectorTestCase.kt
index 294542e..f635bf3 100644
--- a/compose/ui/ui-graphics/benchmark/src/main/java/androidx/compose/ui/graphics/benchmark/ImageVectorTestCase.kt
+++ b/compose/ui/ui-graphics/benchmark/src/main/java/androidx/compose/ui/graphics/benchmark/ImageVectorTestCase.kt
@@ -16,21 +16,21 @@
package androidx.compose.ui.graphics.benchmark
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.platform.testTag
-import androidx.compose.ui.draw.paint
import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.size
+import androidx.compose.runtime.Composable
+import androidx.compose.testutils.LayeredComposeTestCase
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.paint
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.painter.Painter
-import androidx.compose.ui.graphics.vector.PathData
import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.foundation.layout.size
-import androidx.compose.testutils.LayeredComposeTestCase
+import androidx.compose.ui.graphics.vector.PathData
import androidx.compose.ui.graphics.vector.rememberVectorPainter
+import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
diff --git a/compose/ui/ui-graphics/benchmark/test/src/androidTest/java/androidx/compose/ui/graphics/benchmark/test/ImageVectorTest.kt b/compose/ui/ui-graphics/benchmark/test/src/androidTest/java/androidx/compose/ui/graphics/benchmark/test/ImageVectorTest.kt
index e7ef620..331886e 100644
--- a/compose/ui/ui-graphics/benchmark/test/src/androidTest/java/androidx/compose/ui/graphics/benchmark/test/ImageVectorTest.kt
+++ b/compose/ui/ui-graphics/benchmark/test/src/androidTest/java/androidx/compose/ui/graphics/benchmark/test/ImageVectorTest.kt
@@ -39,12 +39,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
+import kotlin.math.roundToInt
import org.junit.Assert
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
/**
* Test to ensure that [XmlVectorTestCase] and [ProgrammaticVectorTestCase] have an identical pixel
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidBlendModeTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidBlendModeTest.kt
index e5f71d0..25472a9 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidBlendModeTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidBlendModeTest.kt
@@ -18,6 +18,7 @@
import android.graphics.PorterDuff
import android.os.Build
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
@@ -25,7 +26,6 @@
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidCanvasTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidCanvasTest.kt
index c8fcfa2..d849eb1 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidCanvasTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidCanvasTest.kt
@@ -36,14 +36,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
+import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import org.junit.Assert.assertTrue
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidMatrixTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidMatrixTest.kt
index a99ffed..d83241e 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidMatrixTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidMatrixTest.kt
@@ -16,13 +16,13 @@
package androidx.compose.ui.graphics
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import org.junit.Assert.assertTrue
private const val delta = 0.01f
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidTileModeTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidTileModeTest.kt
index 9bf63e5..a08d3dd 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidTileModeTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidTileModeTest.kt
@@ -17,14 +17,14 @@
package androidx.compose.ui.graphics
import android.os.Build
-import androidx.test.filters.SmallTest
-import org.junit.Test
-import org.junit.runner.RunWith
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
+import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ImageBitmapTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ImageBitmapTest.kt
index ab73407..0d59a3f 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ImageBitmapTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ImageBitmapTest.kt
@@ -17,12 +17,12 @@
package androidx.compose.ui.graphics
import androidx.compose.ui.graphics.colorspace.ColorSpaces
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PaintTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PaintTest.kt
index 659b84e..2c61d09 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PaintTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PaintTest.kt
@@ -16,14 +16,14 @@
package androidx.compose.ui.graphics
-import androidx.test.filters.SmallTest
-import org.junit.Assert.assertTrue
-import org.junit.Test
-import org.junit.runner.RunWith
import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertSame
+import org.junit.Assert.assertTrue
import org.junit.Assert.fail
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathTest.kt
index def70c3..a51bfb3 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathTest.kt
@@ -19,14 +19,14 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.Size
-import androidx.test.filters.SmallTest
-import org.junit.Assert.assertEquals
-import org.junit.Test
-import org.junit.runner.RunWith
import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
import kotlin.math.PI
+import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PixelMapTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PixelMapTest.kt
index a733508..f7cb47c 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PixelMapTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PixelMapTest.kt
@@ -17,11 +17,11 @@
package androidx.compose.ui.graphics
import androidx.compose.ui.geometry.Rect
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectHelperTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectHelperTest.kt
index 8c20469..51f9188 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectHelperTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectHelperTest.kt
@@ -18,11 +18,11 @@
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.unit.IntRect
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectangleShapeTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectangleShapeTest.kt
index bc7919f..7ed3e90 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectangleShapeTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/RectangleShapeTest.kt
@@ -20,11 +20,11 @@
import androidx.compose.ui.geometry.toRect
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ShaderTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ShaderTest.kt
index a1c9071..1386ef1 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ShaderTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/ShaderTest.kt
@@ -24,12 +24,12 @@
import androidx.compose.ui.unit.LayoutDirection
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
-import org.junit.Assert.assertEquals
-import org.junit.Test
-import org.junit.runner.RunWith
import kotlin.math.roundToInt
+import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeTest.kt
index 658f78c..213e383 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeTest.kt
@@ -44,12 +44,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SmallTest
+import kotlin.math.roundToInt
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BitmapPainterTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BitmapPainterTest.kt
index 489d888..ca0a142 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BitmapPainterTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BitmapPainterTest.kt
@@ -30,13 +30,13 @@
import androidx.compose.ui.graphics.toPixelMap
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTest.kt
index 36e7215..ebd4c8e 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTest.kt
@@ -29,13 +29,13 @@
import androidx.compose.ui.graphics.drawscope.DrawScope
import androidx.compose.ui.graphics.toPixelMap
import androidx.compose.ui.unit.LayoutDirection
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Canvas.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Canvas.kt
index 9dd8132..64d8783 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Canvas.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Canvas.kt
@@ -18,9 +18,9 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
+import androidx.compose.ui.graphics.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.graphics.internal.JvmDefaultWithCompatibility
/**
* Create a new Canvas instance that targets its drawing commands
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
index 5751016..15f30fe 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.graphics.drawscope
-import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.CornerRadius
+import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.geometry.center
import androidx.compose.ui.graphics.BlendMode
@@ -35,12 +35,12 @@
import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.degrees
+import androidx.compose.ui.graphics.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.center
-import androidx.compose.ui.graphics.internal.JvmDefaultWithCompatibility
/**
* Simultaneously translate the [DrawScope] coordinate space by [left] and [top] as well as modify
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawTransform.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawTransform.kt
index 1cfd4d9..0aedc6ff 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawTransform.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawTransform.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.ClipOp
-import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.Matrix
+import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.degrees
import androidx.compose.ui.graphics.internal.JvmDefaultWithCompatibility
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/EmptyCanvas.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/EmptyCanvas.kt
index e09df38..a22662d 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/EmptyCanvas.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/EmptyCanvas.kt
@@ -22,11 +22,11 @@
import androidx.compose.ui.graphics.Canvas
import androidx.compose.ui.graphics.ClipOp
import androidx.compose.ui.graphics.ImageBitmap
+import androidx.compose.ui.graphics.Matrix
import androidx.compose.ui.graphics.Paint
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.PointMode
import androidx.compose.ui.graphics.Vertices
-import androidx.compose.ui.graphics.Matrix
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/BlendModeTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/BlendModeTest.kt
index 08f8bb8..38790bd 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/BlendModeTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/BlendModeTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.graphics
-import kotlin.test.assertEquals
import kotlin.test.Test
+import kotlin.test.assertEquals
class BlendModeTest {
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ClipOpTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ClipOpTest.kt
index 3377989..da54628 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ClipOpTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ClipOpTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.graphics
-import kotlin.test.assertEquals
import kotlin.test.Test
+import kotlin.test.assertEquals
class ClipOpTest {
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ColorMatrixTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ColorMatrixTest.kt
index 9c0338c..1a2e8fa 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ColorMatrixTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/ColorMatrixTest.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.graphics
import kotlin.test.BeforeTest
-import kotlin.test.assertEquals
import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlin.test.assertTrue
class ColorMatrixTest {
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/MatrixTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/MatrixTest.kt
index f4b7e7b..957d351 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/MatrixTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/MatrixTest.kt
@@ -19,12 +19,12 @@
import androidx.compose.ui.geometry.MutableRect
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
+import kotlin.math.abs
+import kotlin.math.sqrt
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue
-import kotlin.math.abs
-import kotlin.math.sqrt
class MatrixTest {
@Test
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/colorspace/ColorModelTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/colorspace/ColorModelTest.kt
index 337146b..914c15f 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/colorspace/ColorModelTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/colorspace/ColorModelTest.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.graphics.colorspace
import androidx.compose.ui.util.packInts
-import kotlin.test.assertEquals
import kotlin.test.Test
+import kotlin.test.assertEquals
class ColorModelTest {
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/vector/PathParserTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/vector/PathParserTest.kt
index 31ff184..fc55c77 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/vector/PathParserTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/vector/PathParserTest.kt
@@ -23,8 +23,8 @@
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.PathFillType
import androidx.compose.ui.graphics.PathOperation
-import kotlin.test.assertEquals
import kotlin.test.Test
+import kotlin.test.assertEquals
class PathParserTest {
@Test
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt
index fd0bd46..96e7808 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt
@@ -16,10 +16,10 @@
package androidx.compose.ui.graphics
-import org.jetbrains.skia.Bitmap
-import org.jetbrains.skia.Image
import java.nio.ByteBuffer
import java.nio.ByteOrder
+import org.jetbrains.skia.Bitmap
+import org.jetbrains.skia.Image
/**
* Create an [ImageBitmap] from the given [Bitmap]. Note this does
diff --git a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageConverters.desktop.kt b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageConverters.desktop.kt
index b03678a6..8ead9ef 100644
--- a/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageConverters.desktop.kt
+++ b/compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageConverters.desktop.kt
@@ -25,9 +25,6 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import org.jetbrains.skia.Bitmap
-import org.jetbrains.skia.ColorAlphaType
-import org.jetbrains.skia.ImageInfo
import java.awt.Graphics
import java.awt.Image
import java.awt.Point
@@ -42,6 +39,9 @@
import java.awt.image.Raster
import java.awt.image.SinglePixelPackedSampleModel
import kotlin.math.roundToInt
+import org.jetbrains.skia.Bitmap
+import org.jetbrains.skia.ColorAlphaType
+import org.jetbrains.skia.ImageInfo
/**
* Convert AWT [BufferedImage] to Compose [Painter], so it would be possible to pass it to Compose
diff --git a/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopPathTest.kt b/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopPathTest.kt
index 4dc92b9..564e422 100644
--- a/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopPathTest.kt
+++ b/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopPathTest.kt
@@ -20,8 +20,8 @@
import androidx.compose.ui.geometry.RoundRect
import androidx.compose.ui.test.InternalTestApi
import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
import org.junit.Assert.assertFalse
+import org.junit.Assert.assertTrue
import org.junit.Test
@OptIn(InternalTestApi::class)
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
index 0e0f06e..9ea4923 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
@@ -22,16 +22,16 @@
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.util.fastForEach
+import org.jetbrains.skia.ClipMode as SkClipMode
import org.jetbrains.skia.CubicResampler
import org.jetbrains.skia.FilterMipmap
import org.jetbrains.skia.FilterMode
import org.jetbrains.skia.Image
import org.jetbrains.skia.Matrix44
import org.jetbrains.skia.MipmapMode
-import org.jetbrains.skia.SamplingMode
-import org.jetbrains.skia.ClipMode as SkClipMode
import org.jetbrains.skia.RRect as SkRRect
import org.jetbrains.skia.Rect as SkRect
+import org.jetbrains.skia.SamplingMode
import org.jetbrains.skia.impl.use
actual typealias NativeCanvas = org.jetbrains.skia.Canvas
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt
index fa11fe8f..3c3b207 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaImageAsset.skiko.kt
@@ -18,13 +18,13 @@
import androidx.compose.ui.graphics.colorspace.ColorSpace
import androidx.compose.ui.graphics.colorspace.ColorSpaces
+import kotlin.math.abs
import org.jetbrains.skia.Bitmap
import org.jetbrains.skia.ColorAlphaType
import org.jetbrains.skia.ColorInfo
import org.jetbrains.skia.ColorType
import org.jetbrains.skia.Image
import org.jetbrains.skia.ImageInfo
-import kotlin.math.abs
/**
* Create an [ImageBitmap] from the given [Bitmap]. Note this does
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/ParametersTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/ParametersTest.kt
index 4e4932e..bc87381 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/ParametersTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/ParametersTest.kt
@@ -22,8 +22,8 @@
import androidx.compose.ui.inspection.util.GetComposablesCommand
import androidx.compose.ui.inspection.util.GetParameterDetailsCommand
import androidx.compose.ui.inspection.util.GetParametersByAnchorIdCommand
-import androidx.compose.ui.inspection.util.GetParametersCommand
import androidx.compose.ui.inspection.util.GetParametersByIdCommand
+import androidx.compose.ui.inspection.util.GetParametersCommand
import androidx.compose.ui.inspection.util.GetUpdateSettingsCommand
import androidx.compose.ui.inspection.util.flatten
import androidx.compose.ui.inspection.util.toMap
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/ComposeInspectionRule.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/ComposeInspectionRule.kt
index 933ee399..7e66fc6 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/ComposeInspectionRule.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/ComposeInspectionRule.kt
@@ -30,15 +30,15 @@
import androidx.compose.ui.platform.ViewRootForTest
import androidx.inspection.testing.InspectorTester
import androidx.test.core.app.ActivityScenario
-import kotlinx.coroutines.runBlocking
-import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.Command
-import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.Response
-import org.junit.rules.ExternalResource
import java.util.Collections
import java.util.WeakHashMap
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import kotlin.reflect.KClass
+import kotlinx.coroutines.runBlocking
+import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.Command
+import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.Response
+import org.junit.rules.ExternalResource
/**
* Test rule with common setup for compose inspector's tests:
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/JvmtiRule.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/JvmtiRule.kt
index f9bf89d..21982eb 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/JvmtiRule.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/rules/JvmtiRule.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.inspection.rules
import android.os.Debug
-import org.junit.rules.ExternalResource
import java.io.IOException
+import org.junit.rules.ExternalResource
class JvmtiRule : ExternalResource() {
companion object {
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/ProtoExtensions.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/ProtoExtensions.kt
index 528b4c1..feba40c 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/ProtoExtensions.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/ProtoExtensions.kt
@@ -21,8 +21,8 @@
import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.ComposableNode
import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.GetAllParametersCommand
import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.GetComposablesCommand
-import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.GetParametersCommand
import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.GetParameterDetailsCommand
+import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.GetParametersCommand
import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.ParameterReference
import layoutinspector.compose.inspection.LayoutInspectorComposeProtocol.UpdateSettingsCommand
diff --git a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ParameterFactory.kt b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ParameterFactory.kt
index 0ee0076..4e7077f 100644
--- a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ParameterFactory.kt
+++ b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ParameterFactory.kt
@@ -16,7 +16,6 @@
package androidx.compose.ui.inspection.inspector
-import java.lang.reflect.Modifier as JavaModifier
import android.util.Log
import android.view.View
import androidx.compose.runtime.internal.ComposableLambda
@@ -46,6 +45,7 @@
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.TextUnitType
import java.lang.reflect.Field
+import java.lang.reflect.Modifier as JavaModifier
import java.util.IdentityHashMap
import kotlin.jvm.internal.FunctionReference
import kotlin.jvm.internal.Lambda
diff --git a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ComposedModifierDetector.kt b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ComposedModifierDetector.kt
index 557404e..1652ea2 100644
--- a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ComposedModifierDetector.kt
+++ b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ComposedModifierDetector.kt
@@ -30,12 +30,12 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.USimpleNameReferenceExpression
import org.jetbrains.uast.getParameterForArgument
import org.jetbrains.uast.tryResolve
import org.jetbrains.uast.visitor.AbstractUastVisitor
-import java.util.EnumSet
/**
* [Detector] that checks calls to Modifier.composed to make sure they actually reference a
diff --git a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierParameterDetector.kt b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierParameterDetector.kt
index bcc5884..3577db2 100644
--- a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierParameterDetector.kt
+++ b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierParameterDetector.kt
@@ -32,12 +32,12 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
+import java.util.EnumSet
+import java.util.Locale
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UMethod
-import java.util.EnumSet
-import java.util.Locale
/**
* [Detector] that checks Composable functions with Modifiers parameters for consistency with
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/SynchronizationMethodsTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/SynchronizationMethodsTest.kt
index cfce9a0..ca74cd1 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/SynchronizationMethodsTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/SynchronizationMethodsTest.kt
@@ -25,15 +25,15 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.model.Statement
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/SkiaTest.desktop.kt b/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/SkiaTest.desktop.kt
index bc82a1a..2e6a994 100644
--- a/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/SkiaTest.desktop.kt
+++ b/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/SkiaTest.desktop.kt
@@ -15,15 +15,15 @@
*/
package androidx.compose.ui.test.junit4
-import org.jetbrains.skia.Image
import androidx.compose.ui.test.InternalTestApi
+import java.io.File
+import java.security.MessageDigest
+import java.util.LinkedList
+import org.jetbrains.skia.Image
import org.jetbrains.skia.Surface
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
-import java.io.File
-import java.security.MessageDigest
-import java.util.LinkedList
// TODO(https://github.com/JetBrains/compose-jb/issues/1041): refactor API
diff --git a/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/UncaughtExceptionHandler.jvm.kt b/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/UncaughtExceptionHandler.jvm.kt
index 3a8dda1..9efd549 100644
--- a/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/UncaughtExceptionHandler.jvm.kt
+++ b/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/UncaughtExceptionHandler.jvm.kt
@@ -16,9 +16,9 @@
package androidx.compose.ui.test.junit4
-import kotlinx.coroutines.CoroutineExceptionHandler
import kotlin.coroutines.AbstractCoroutineContextElement
import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineExceptionHandler
/**
* Similar to [TestCoroutineExceptionHandler], but with clearing all thrown exceptions
diff --git a/compose/ui/ui-test-junit4/src/test/kotlin/androidx/compose/ui/test/junit4/InfiniteAnimationPolicyTest.kt b/compose/ui/ui-test-junit4/src/test/kotlin/androidx/compose/ui/test/junit4/InfiniteAnimationPolicyTest.kt
index c505e085..310bfa7 100644
--- a/compose/ui/ui-test-junit4/src/test/kotlin/androidx/compose/ui/test/junit4/InfiniteAnimationPolicyTest.kt
+++ b/compose/ui/ui-test-junit4/src/test/kotlin/androidx/compose/ui/test/junit4/InfiniteAnimationPolicyTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.test.junit4
-import androidx.compose.animation.core.withInfiniteAnimationFrameNanos
import androidx.compose.animation.core.withInfiniteAnimationFrameMillis
+import androidx.compose.animation.core.withInfiniteAnimationFrameNanos
import androidx.compose.ui.platform.InfiniteAnimationPolicy
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.CancellationException
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/CallSemanticsActionTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/CallSemanticsActionTest.kt
index a354f96..a380a02 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/CallSemanticsActionTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/CallSemanticsActionTest.kt
@@ -27,11 +27,11 @@
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.test.junit4.createComposeRule
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindAllTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindAllTest.kt
index 0cedb3f..2479e17 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindAllTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindAllTest.kt
@@ -23,11 +23,11 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.test.junit4.createComposeRule
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindInPopupTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindInPopupTest.kt
index 835d945..0ce4aaa 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindInPopupTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindInPopupTest.kt
@@ -22,11 +22,11 @@
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.window.Popup
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
private const val contentTag = "content"
private const val popupTag = "popup"
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindersTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindersTest.kt
index 5b58bec..0a19723 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindersTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FindersTest.kt
@@ -20,21 +20,21 @@
import androidx.compose.foundation.layout.Column
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
+import androidx.compose.testutils.expectError
import androidx.compose.ui.Modifier
import androidx.compose.ui.semantics.SemanticsPropertyReceiver
+import androidx.compose.ui.semantics.contentDescription
+import androidx.compose.ui.semantics.editableText
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.testTag
import androidx.compose.ui.semantics.text
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.text.AnnotatedString
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
-import androidx.compose.testutils.expectError
-import androidx.compose.ui.semantics.contentDescription
-import androidx.compose.ui.semantics.editableText
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAllTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAllTest.kt
index 3ee7a82..8b5f6d9 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAllTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAllTest.kt
@@ -18,17 +18,17 @@
import androidx.compose.ui.test.assertAll
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onNodeWithTag
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAnyTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAnyTest.kt
index 2d6f01c..50a9ca0 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAnyTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertAnyTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.assertions
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assertAny
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertContentDescription.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertContentDescription.kt
index 3076fa0..876c983 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertContentDescription.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertContentDescription.kt
@@ -26,11 +26,11 @@
import androidx.compose.ui.test.assertContentDescriptionEquals
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertText.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertText.kt
index 01ee757..2649649 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertText.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/assertions/AssertText.kt
@@ -31,11 +31,11 @@
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.text.AnnotatedString
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
index ec61d21..e55845f 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeTest.kt
@@ -64,10 +64,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeVelocityTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeVelocityTest.kt
index a23987f..42b4dcd 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeVelocityTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/gesturescope/SendSwipeVelocityTest.kt
@@ -37,11 +37,11 @@
import androidx.compose.ui.test.util.recordedDurationMillis
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.max
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.max
/**
* Tests if we can generate gestures that end with a specific velocity
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/LongClickTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/LongClickTest.kt
index 6ba723d..9a3f36c 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/LongClickTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/LongClickTest.kt
@@ -44,13 +44,13 @@
import androidx.compose.ui.test.util.verify
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.max
+import kotlin.math.roundToInt
+import kotlin.math.roundToLong
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.max
-import kotlin.math.roundToInt
-import kotlin.math.roundToLong
/**
* Tests [TouchInjectionScope.longClick] with arguments. Verifies that the click is in the middle
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/MoveWithHistoryTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/MoveWithHistoryTest.kt
index 9e60740..ca75c82 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/MoveWithHistoryTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/MoveWithHistoryTest.kt
@@ -39,10 +39,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithTouchSlopTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithTouchSlopTest.kt
index 4c447ad..c1cdadc 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithTouchSlopTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithTouchSlopTest.kt
@@ -32,10 +32,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
/**
* Test to see if we can achieve precise scroll motion when injecting touch events in the
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithVelocityTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithVelocityTest.kt
index 6bf7069..5925354 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithVelocityTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/SwipeWithVelocityTest.kt
@@ -40,11 +40,11 @@
import androidx.compose.ui.test.util.recordedDurationMillis
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.max
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.max
/**
* Test for [TouchInjectionScope.swipeWithVelocity] to see if we can generate gestures that end
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderCalculateDurationTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderCalculateDurationTest.kt
index aa7c8fd..c6bc9a6 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderCalculateDurationTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderCalculateDurationTest.kt
@@ -26,14 +26,14 @@
import androidx.compose.ui.unit.Velocity
import androidx.compose.ui.util.lerp
import com.google.common.truth.Truth.assertThat
-import org.junit.Assert.fail
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.lang.IllegalArgumentException
import kotlin.math.max
import kotlin.math.roundToInt
import kotlin.math.sqrt
+import org.junit.Assert.fail
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
/**
* Test to check if [VelocityPathFinder.calculateDefaultDuration] calculates a duration for
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderTest.kt
index 87832cc..f213055 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/injectionscope/touch/VelocityPathFinderTest.kt
@@ -26,14 +26,14 @@
import androidx.compose.ui.unit.Velocity
import androidx.compose.ui.util.lerp
import com.google.common.truth.Truth.assertThat
-import org.junit.Assert.fail
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import kotlin.math.floor
import kotlin.math.max
import kotlin.math.roundToInt
import kotlin.math.sqrt
+import org.junit.Assert.fail
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
/**
* Tests of [VelocityPathFinder] creates paths that will lead to the desired velocity.
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/Common.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/Common.kt
index e32a432..924b49d 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/Common.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/partialgesturescope/Common.kt
@@ -19,8 +19,8 @@
package androidx.compose.ui.test.partialgesturescope
-import androidx.compose.ui.test.junit4.ComposeTestRule
import androidx.compose.ui.test.GestureScope
+import androidx.compose.ui.test.junit4.ComposeTestRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.performGesture
import androidx.compose.ui.test.util.ClickableTestBox.defaultTag
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyAncestorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyAncestorTest.kt
index 40549c6..df67328 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyAncestorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyAncestorTest.kt
@@ -16,17 +16,17 @@
package androidx.compose.ui.test.predicates
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasAnyAncestor
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyChildTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyChildTest.kt
index eaab244..b6c1c80 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyChildTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyChildTest.kt
@@ -16,17 +16,17 @@
package androidx.compose.ui.test.predicates
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasAnyChild
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyDescendantTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyDescendantTest.kt
index 6e5483f..c98ec7f 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyDescendantTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnyDescendantTest.kt
@@ -16,17 +16,17 @@
package androidx.compose.ui.test.predicates
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasAnyDescendant
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnySiblingTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnySiblingTest.kt
index 9f760a7..5178fee 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnySiblingTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasAnySiblingTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.predicates
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasAnySibling
import androidx.compose.ui.test.hasParent
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasParentTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasParentTest.kt
index 3c3a2ae..0ecda22 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasParentTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/predicates/HasParentTest.kt
@@ -16,17 +16,17 @@
package androidx.compose.ui.test.predicates
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasParent
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AddIndexSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AddIndexSelectorTest.kt
index f7f6aba..faef8f6 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AddIndexSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AddIndexSelectorTest.kt
@@ -16,20 +16,20 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildAt
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onFirst
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AncestorsSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AncestorsSelectorTest.kt
index cb28f4c..8b35a6e 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AncestorsSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/AncestorsSelectorTest.kt
@@ -16,20 +16,20 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onAncestors
import androidx.compose.ui.test.onFirst
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onParent
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildSelectorTest.kt
index b1ca854..22e9c6a 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildSelectorTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChild
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildrenSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildrenSelectorTest.kt
index 1c10a00..0403487 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildrenSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ChildrenSelectorTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterSelectorTest.kt
index e934f88..4a78db7 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterSelectorTest.kt
@@ -16,19 +16,19 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.filter
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterToOneSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterToOneSelectorTest.kt
index a5f8fa1..129c653 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterToOneSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/FilterToOneSelectorTest.kt
@@ -16,19 +16,19 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.filterToOne
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/LastNodeSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/LastNodeSelectorTest.kt
index 61f4fb0..a78777d 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/LastNodeSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/LastNodeSelectorTest.kt
@@ -16,19 +16,19 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onChildren
import androidx.compose.ui.test.onLast
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ParentSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ParentSelectorTest.kt
index b110fae..1733f78 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ParentSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/ParentSelectorTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onParent
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessage
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingSelectorTest.kt
index e88d44a..aeefb12 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingSelectorTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onSibling
import androidx.compose.ui.test.util.BoundaryNode
import androidx.compose.ui.test.util.expectErrorMessageStartsWith
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingsSelectorTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingsSelectorTest.kt
index f054b8f..7332ead 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingsSelectorTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/selectors/SiblingsSelectorTest.kt
@@ -16,18 +16,18 @@
package androidx.compose.ui.test.selectors
-import androidx.test.filters.MediumTest
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertCountEquals
-import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.hasTestTag
+import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onSiblings
import androidx.compose.ui.test.util.BoundaryNode
+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
-import androidx.test.ext.junit.runners.AndroidJUnit4
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/ClickableTestBox.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/ClickableTestBox.kt
index 8c40101..69d84dc 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/ClickableTestBox.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/ClickableTestBox.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.test.util
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
diff --git a/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidAssertions.android.kt b/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidAssertions.android.kt
index 2f13281..d354263 100644
--- a/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidAssertions.android.kt
+++ b/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidAssertions.android.kt
@@ -16,12 +16,12 @@
package androidx.compose.ui.test
-import androidx.test.espresso.matcher.ViewMatchers
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.layout.LayoutInfo
import androidx.compose.ui.platform.ViewRootForTest
import androidx.compose.ui.semantics.SemanticsNode
+import androidx.test.espresso.matcher.ViewMatchers
internal actual fun SemanticsNodeInteraction.checkIsDisplayed(): Boolean {
// hierarchy check - check layout nodes are visible
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/InjectionScope.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/InjectionScope.kt
index fb0f6a7..86b9c7c 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/InjectionScope.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/InjectionScope.kt
@@ -18,9 +18,9 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.platform.ViewConfiguration
+import androidx.compose.ui.test.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.test.internal.JvmDefaultWithCompatibility
/**
* The receiver scope of all input injection lambdas offered in `ui-test`, such as
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TouchInjectionScope.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TouchInjectionScope.kt
index 3bcf792..d1f5822 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TouchInjectionScope.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TouchInjectionScope.kt
@@ -19,12 +19,12 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.lerp
import androidx.compose.ui.platform.ViewConfiguration
+import androidx.compose.ui.test.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.util.lerp
import kotlin.math.ceil
import kotlin.math.max
import kotlin.math.roundToInt
import kotlin.math.roundToLong
-import androidx.compose.ui.test.internal.JvmDefaultWithCompatibility
/**
* The receiver scope of the touch input injection lambda from [performTouchInput].
diff --git a/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopInputDispatcher.desktop.kt b/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopInputDispatcher.desktop.kt
index 80c5334..1d82eff 100644
--- a/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopInputDispatcher.desktop.kt
+++ b/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopInputDispatcher.desktop.kt
@@ -19,10 +19,10 @@
package androidx.compose.ui.test
import androidx.compose.ui.InternalComposeUiApi
+import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.key.Key
import androidx.compose.ui.input.pointer.PointerId
import androidx.compose.ui.input.pointer.TestPointerInputEventData
-import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.node.RootForTest
import androidx.compose.ui.platform.SkiaRootForTest
diff --git a/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/InputDispatcherTest.kt b/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/InputDispatcherTest.kt
index a86efdb..30174dd 100644
--- a/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/InputDispatcherTest.kt
+++ b/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/InputDispatcherTest.kt
@@ -31,10 +31,10 @@
import androidx.compose.ui.test.util.InputEventRecorder
import androidx.compose.ui.test.util.assertNoTouchGestureInProgress
import com.google.common.truth.Truth.assertThat
+import org.junit.After
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
-import org.junit.After
@OptIn(InternalTestApi::class)
open class InputDispatcherTest {
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/FrameworkTextLayoutBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/FrameworkTextLayoutBenchmark.kt
index 2872b3d..2765fb0 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/FrameworkTextLayoutBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/FrameworkTextLayoutBenchmark.kt
@@ -29,12 +29,12 @@
import androidx.benchmark.junit4.measureRepeated
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
+import kotlin.math.roundToInt
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.roundToInt
@LargeTest
@RunWith(Parameterized::class)
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphBenchmark.kt
index 7c217b8..02c2151 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphBenchmark.kt
@@ -34,12 +34,12 @@
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
import kotlin.math.ceil
+import kotlin.math.roundToInt
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.math.roundToInt
@LargeTest
@RunWith(Parameterized::class)
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/EditProcessorBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/EditProcessorBenchmark.kt
index d9549db..da8dcd1 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/EditProcessorBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/EditProcessorBenchmark.kt
@@ -18,8 +18,8 @@
import androidx.benchmark.junit4.BenchmarkRule
import androidx.benchmark.junit4.measureRepeated
-import androidx.compose.ui.text.benchmark.RandomTextGenerator
import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.benchmark.RandomTextGenerator
import androidx.compose.ui.text.benchmark.cartesian
import androidx.compose.ui.text.input.BackspaceCommand
import androidx.compose.ui.text.input.CommitTextCommand
diff --git a/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkHelper.kt b/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkHelper.kt
index c83992d0..707ffb3 100644
--- a/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkHelper.kt
+++ b/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkHelper.kt
@@ -21,9 +21,9 @@
import androidx.compose.ui.graphics.Shadow
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.SpanStyle
-import androidx.compose.ui.text.intl.LocaleList
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.intl.LocaleList
import androidx.compose.ui.text.style.BaselineShift
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextGeometricTransform
diff --git a/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkTestRule.kt b/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkTestRule.kt
index d8ac939..6f7f876 100644
--- a/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkTestRule.kt
+++ b/compose/ui/ui-text/benchmark/src/main/java/androidx/compose/ui/text/benchmark/TextBenchmarkTestRule.kt
@@ -17,11 +17,11 @@
import android.graphics.Canvas
import android.util.Log
+import kotlin.random.Random
import org.junit.rules.RuleChain
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
-import kotlin.random.Random
/**
* Collection of text benchmark utilities. It tries to
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/AndroidParagraphTextDirectionTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/AndroidParagraphTextDirectionTest.kt
index c9dcbb7..1268ee3 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/AndroidParagraphTextDirectionTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/AndroidParagraphTextDirectionTest.kt
@@ -21,14 +21,14 @@
import androidx.compose.ui.text.intl.LocaleList
import androidx.compose.ui.text.platform.resolveTextDirectionHeuristics
import androidx.compose.ui.text.style.TextDirection
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.Locale
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
index f86a193..fd2538f 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
@@ -24,15 +24,15 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.Locale
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphFillBoundingBoxesTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphFillBoundingBoxesTest.kt
index 94f081a..d802b37 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphFillBoundingBoxesTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphFillBoundingBoxesTest.kt
@@ -19,11 +19,16 @@
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.text.font.createFontFamilyResolver
import androidx.compose.ui.text.font.toFontFamily
+import androidx.compose.ui.text.matchers.assertThat
import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.LineHeightStyle
+import androidx.compose.ui.text.style.LineHeightStyle.Alignment
+import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.text.style.TextGeometricTransform
import androidx.compose.ui.text.style.TextIndent
+import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
@@ -32,11 +37,6 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import androidx.compose.ui.text.matchers.assertThat
-import androidx.compose.ui.text.style.LineHeightStyle
-import androidx.compose.ui.text.style.LineHeightStyle.Trim
-import androidx.compose.ui.text.style.LineHeightStyle.Alignment
-import androidx.compose.ui.unit.Constraints
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationIndentationFixTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationIndentationFixTest.kt
index 20fe4e3..91547fd 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationIndentationFixTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationIndentationFixTest.kt
@@ -25,13 +25,13 @@
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationLineHeightStyleTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationLineHeightStyleTest.kt
index d68bd57..61ce517 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationLineHeightStyleTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationLineHeightStyleTest.kt
@@ -20,19 +20,19 @@
import androidx.compose.ui.text.android.style.lineHeight
import androidx.compose.ui.text.font.toFontFamily
import androidx.compose.ui.text.style.LineHeightStyle
-import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.LineHeightStyle.Alignment
+import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
import kotlin.math.abs
import kotlin.math.ceil
+import org.junit.Test
+import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt
index c41aea5..6416362 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt
@@ -20,15 +20,15 @@
import androidx.compose.ui.text.style.ResolvedTextDirection
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.Locale
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt
index 322fee0..aa8e859 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt
@@ -21,12 +21,12 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.sp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt
index d151b1e..87f155b 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt
@@ -17,12 +17,12 @@
package androidx.compose.ui.text
import androidx.compose.ui.text.intl.LocaleList
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import java.util.Locale
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontTest.kt
index 21b13dd..d5390c5 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontTest.kt
@@ -25,11 +25,11 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.io.File
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.File
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsageTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsageTest.kt
index 8d69e3a..d42258b 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsageTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsageTest.kt
@@ -25,9 +25,9 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverFileTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverFileTest.kt
index d0c931e..daf1c07 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverFileTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverFileTest.kt
@@ -26,11 +26,11 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
+import java.io.File
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.File
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterTest.kt
index b6168c47..e5de0d1 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterTest.kt
@@ -29,6 +29,9 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.coroutines.coroutineContext
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineExceptionHandler
@@ -39,19 +42,16 @@
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.TestCoroutineDispatcher
import kotlinx.coroutines.test.TestCoroutineScope
+import kotlinx.coroutines.test.advanceTimeBy
+import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runBlockingTest
+import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.withTimeout
import kotlinx.coroutines.yield
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.coroutines.coroutineContext
-import kotlinx.coroutines.test.advanceTimeBy
-import kotlinx.coroutines.test.advanceUntilIdle
-import kotlinx.coroutines.test.runCurrent
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceCommandTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceCommandTest.kt
index abce9eb..9d05c2b 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceCommandTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceCommandTest.kt
@@ -16,12 +16,12 @@
package androidx.compose.ui.text.input
import androidx.compose.ui.text.TextRange
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorCommandTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorCommandTest.kt
index fa563af..849d7f8 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorCommandTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorCommandTest.kt
@@ -17,12 +17,12 @@
package androidx.compose.ui.text.input
import androidx.compose.ui.text.TextRange
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt
index f7e356c..d43cf4e 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt
@@ -16,11 +16,11 @@
package androidx.compose.ui.text.intl
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt
index a054588..44ecab1 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt
@@ -16,11 +16,11 @@
package androidx.compose.ui.text.intl
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt
index c377578..90b4e7c 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt
@@ -18,8 +18,8 @@
import android.graphics.Bitmap
import android.graphics.Typeface
-import androidx.compose.ui.text.font.TypefaceResult
import androidx.compose.ui.geometry.Rect
+import androidx.compose.ui.text.font.TypefaceResult
import com.google.common.truth.IntegerSubject
import com.google.common.truth.Truth.assertAbout
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/RectSubject.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/RectSubject.kt
index 4275a98..d253cae 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/RectSubject.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/RectSubject.kt
@@ -17,11 +17,11 @@
package androidx.compose.ui.text.matchers
import androidx.compose.ui.geometry.Rect
-import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Fact.simpleFact
import com.google.common.truth.FailureMetadata
import com.google.common.truth.Subject
import com.google.common.truth.Subject.Factory
+import com.google.common.truth.Truth.assertThat
internal class RectSubject private constructor(
failureMetadata: FailureMetadata?,
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt
index 2f01f2f..162b8b0 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt
@@ -18,11 +18,11 @@
import androidx.compose.ui.text.FontTestData
import androidx.compose.ui.text.matchers.assertThat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt
index 8667cf4..0410d86 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt
@@ -24,11 +24,11 @@
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.font.Typeface
import androidx.compose.ui.text.matchers.assertThat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenericFontFamilyCacheTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenericFontFamilyCacheTest.kt
index 7852e76..121461be 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenericFontFamilyCacheTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenericFontFamilyCacheTest.kt
@@ -21,10 +21,10 @@
import androidx.compose.ui.text.font.FontSynthesis
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.matchers.assertThat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt
index cc2ed1d..d04fb59 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt
@@ -16,7 +16,6 @@
package androidx.compose.ui.text
-import java.util.Locale as JavaLocale
import android.os.Build
import android.text.Spannable
import android.text.SpannableString
@@ -45,15 +44,15 @@
import androidx.compose.ui.text.android.LayoutCompat.BREAK_STRATEGY_HIGH_QUALITY
import androidx.compose.ui.text.android.LayoutCompat.BREAK_STRATEGY_SIMPLE
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_ALIGNMENT
-import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_HYPHENATION_FREQUENCY
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_BREAK_STRATEGY
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_HYPHENATION_FREQUENCY
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_JUSTIFICATION_MODE
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINESPACING_MULTIPLIER
-import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_NONE
-import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_FULL
-import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_FULL_FAST
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINE_BREAK_STYLE
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINE_BREAK_WORD_STYLE
+import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_FULL
+import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_FULL_FAST
+import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_NONE
import androidx.compose.ui.text.android.LayoutCompat.JUSTIFICATION_MODE_INTER_WORD
import androidx.compose.ui.text.android.LayoutCompat.LINE_BREAK_STYLE_LOOSE
import androidx.compose.ui.text.android.LayoutCompat.LINE_BREAK_STYLE_NONE
@@ -80,6 +79,7 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.sp
+import java.util.Locale as JavaLocale
/**
* Android specific implementation for [Paragraph]
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.android.kt
index 0f87b74..8c3d370 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.android.kt
@@ -16,10 +16,10 @@
package androidx.compose.ui.text.intl
-import androidx.annotation.RequiresApi
import android.os.LocaleList as AndroidLocaleList
-import java.util.Locale as JavaLocale
+import androidx.annotation.RequiresApi
import androidx.compose.ui.text.platform.createSynchronizedObject
+import java.util.Locale as JavaLocale
/**
* An Android implementation of Locale object
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.android.kt
index e525241..f5fd858 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.android.kt
@@ -16,11 +16,11 @@
package androidx.compose.ui.text.platform
-import androidx.compose.ui.text.font.Typeface
+import android.graphics.Typeface as NativeTypeface
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontSynthesis
import androidx.compose.ui.text.font.FontWeight
-import android.graphics.Typeface as NativeTypeface
+import androidx.compose.ui.text.font.Typeface
/**
* An interface of Android specific Typeface.
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/LruCache.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/LruCache.kt
index abf9bea..7cbb111 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/LruCache.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/LruCache.kt
@@ -18,7 +18,6 @@
import androidx.compose.ui.text.platform.createSynchronizedObject
import androidx.compose.ui.text.platform.synchronized
-
import kotlin.jvm.JvmName
/**
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter.kt
index 10b9df2..783254f 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapter.kt
@@ -28,6 +28,9 @@
import androidx.compose.ui.text.platform.synchronized
import androidx.compose.ui.util.fastForEach
import androidx.compose.ui.util.fastMap
+import kotlin.coroutines.CoroutineContext
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.coroutines.coroutineContext
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope
@@ -42,9 +45,6 @@
import kotlinx.coroutines.withTimeout
import kotlinx.coroutines.withTimeoutOrNull
import kotlinx.coroutines.yield
-import kotlin.coroutines.CoroutineContext
-import kotlin.coroutines.EmptyCoroutineContext
-import kotlin.coroutines.coroutineContext
internal class FontListFontFamilyTypefaceAdapter(
private val asyncTypefaceCache: AsyncTypefaceCache = AsyncTypefaceCache(),
diff --git a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopFont.desktop.kt b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopFont.desktop.kt
index 4a7a9f2..9471053 100644
--- a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopFont.desktop.kt
+++ b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopFont.desktop.kt
@@ -28,8 +28,8 @@
import java.io.File
import java.security.MessageDigest
import org.jetbrains.skia.Data
-import org.jetbrains.skia.makeFromFile
import org.jetbrains.skia.Typeface as SkTypeface
+import org.jetbrains.skia.makeFromFile
actual sealed class PlatformFont : Font {
actual abstract val identity: String
diff --git a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopParagraphTest.kt b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopParagraphTest.kt
index b772c2f..f9c9607 100644
--- a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopParagraphTest.kt
+++ b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopParagraphTest.kt
@@ -21,10 +21,10 @@
import androidx.compose.ui.graphics.Canvas
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.compose.ui.text.font.createFontFamilyResolver
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.createFontFamilyResolver
import androidx.compose.ui.text.platform.Font
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.unit.Constraints
diff --git a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.jvm.kt b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.jvm.kt
index 09a611f..62a82c2 100644
--- a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.jvm.kt
+++ b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.jvm.kt
@@ -18,7 +18,6 @@
import androidx.compose.ui.text.AnnotatedString.Range
import androidx.compose.ui.util.fastMap
-
import java.util.SortedSet
/**
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/SkiaParagraph.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/SkiaParagraph.skiko.kt
index b91bd0f..1dde5de 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/SkiaParagraph.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/SkiaParagraph.skiko.kt
@@ -16,7 +16,6 @@
package androidx.compose.ui.text
-import org.jetbrains.skia.Rect as SkRect
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.graphics.BlendMode
@@ -35,6 +34,7 @@
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.Constraints
import kotlin.math.floor
+import org.jetbrains.skia.Rect as SkRect
import org.jetbrains.skia.paragraph.LineMetrics
import org.jetbrains.skia.paragraph.RectHeightMode
import org.jetbrains.skia.paragraph.RectWidthMode
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.sikio.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.sikio.kt
index 5be43e1f..73d9583 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.sikio.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.sikio.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.text.font
-import androidx.compose.ui.text.platform.FontCache
import androidx.compose.ui.text.ExperimentalTextApi
+import androidx.compose.ui.text.platform.FontCache
import kotlin.coroutines.CoroutineContext
/**
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/PlatformFont.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/PlatformFont.skiko.kt
index c8a98c8..9eb93ef 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/PlatformFont.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/PlatformFont.skiko.kt
@@ -17,6 +17,7 @@
import androidx.compose.ui.text.Cache
import androidx.compose.ui.text.ExperimentalTextApi
+import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontListFontFamily
import androidx.compose.ui.text.font.FontLoadingStrategy
@@ -24,13 +25,12 @@
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.font.GenericFontFamily
import androidx.compose.ui.text.font.LoadedFontFamily
+import androidx.compose.ui.text.font.Typeface
+import androidx.compose.ui.text.font.createFontFamilyResolver
import org.jetbrains.skia.FontMgr
import org.jetbrains.skia.Typeface as SkTypeface
import org.jetbrains.skia.paragraph.FontCollection
import org.jetbrains.skia.paragraph.TypefaceFontProvider
-import androidx.compose.ui.text.font.Font
-import androidx.compose.ui.text.font.Typeface
-import androidx.compose.ui.text.font.createFontFamilyResolver
expect sealed class PlatformFont : Font {
abstract val identity: String
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.skiko.kt
index bf56205..58f1b98 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraph.skiko.kt
@@ -15,22 +15,6 @@
*/
package androidx.compose.ui.text.platform
-import org.jetbrains.skia.Font as SkFont
-import org.jetbrains.skia.FontStyle as SkFontStyle
-import org.jetbrains.skia.paragraph.Alignment as SkAlignment
-import org.jetbrains.skia.paragraph.BaselineMode
-import org.jetbrains.skia.paragraph.DecorationLineStyle as SkDecorationLineStyle
-import org.jetbrains.skia.paragraph.DecorationStyle as SkDecorationStyle
-import org.jetbrains.skia.paragraph.Direction as SkDirection
-import org.jetbrains.skia.paragraph.Paragraph as SkParagraph
-import org.jetbrains.skia.paragraph.ParagraphBuilder as SkParagraphBuilder
-import org.jetbrains.skia.paragraph.ParagraphStyle
-import org.jetbrains.skia.paragraph.PlaceholderAlignment
-import org.jetbrains.skia.paragraph.PlaceholderStyle
-import org.jetbrains.skia.paragraph.Shadow as SkShadow
-import org.jetbrains.skia.paragraph.StrutStyle
-import org.jetbrains.skia.paragraph.TextBox
-import org.jetbrains.skia.paragraph.TextStyle as SkTextStyle
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shadow
import androidx.compose.ui.graphics.isSpecified
@@ -65,7 +49,23 @@
import androidx.compose.ui.unit.isSpecified
import androidx.compose.ui.unit.isUnspecified
import androidx.compose.ui.unit.sp
+import org.jetbrains.skia.Font as SkFont
+import org.jetbrains.skia.FontStyle as SkFontStyle
import org.jetbrains.skia.Paint
+import org.jetbrains.skia.paragraph.Alignment as SkAlignment
+import org.jetbrains.skia.paragraph.BaselineMode
+import org.jetbrains.skia.paragraph.DecorationLineStyle as SkDecorationLineStyle
+import org.jetbrains.skia.paragraph.DecorationStyle as SkDecorationStyle
+import org.jetbrains.skia.paragraph.Direction as SkDirection
+import org.jetbrains.skia.paragraph.Paragraph as SkParagraph
+import org.jetbrains.skia.paragraph.ParagraphBuilder as SkParagraphBuilder
+import org.jetbrains.skia.paragraph.ParagraphStyle
+import org.jetbrains.skia.paragraph.PlaceholderAlignment
+import org.jetbrains.skia.paragraph.PlaceholderStyle
+import org.jetbrains.skia.paragraph.Shadow as SkShadow
+import org.jetbrains.skia.paragraph.StrutStyle
+import org.jetbrains.skia.paragraph.TextBox
+import org.jetbrains.skia.paragraph.TextStyle as SkTextStyle
private val DefaultFontSize = 16.sp
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt
index a510bfb..2f4bc88 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt
@@ -19,10 +19,10 @@
import androidx.compose.ui.text.intl.LocaleList
import androidx.compose.ui.unit.sp
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.Locale
@RunWith(JUnit4::class)
class AnnotatedStringTransformTest {
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt
index 01b844a..469aa3f 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt
@@ -17,10 +17,10 @@
package androidx.compose.ui.text
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
@RunWith(JUnit4::class)
class MultiParagraphTest {
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt
index 00d130c..1d3f964 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.text.style.Hyphens
import androidx.compose.ui.text.style.LineBreak
import androidx.compose.ui.text.style.LineHeightStyle
-import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.LineHeightStyle.Alignment
+import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.text.style.TextIndent
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt
index 998ac9c..f5576cf 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt
@@ -24,15 +24,15 @@
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.input.TextInputService
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
import org.mockito.kotlin.any
import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
import org.mockito.kotlin.never
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
@Suppress("DEPRECATION")
@RunWith(JUnit4::class)
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextStyleLayoutAttributesTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextStyleLayoutAttributesTest.kt
index d6376fd..7b894df 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextStyleLayoutAttributesTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextStyleLayoutAttributesTest.kt
@@ -27,8 +27,8 @@
import androidx.compose.ui.text.style.BaselineShift
import androidx.compose.ui.text.style.LineBreak
import androidx.compose.ui.text.style.LineHeightStyle
-import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.LineHeightStyle.Alignment
+import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextDirection
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AsyncFontListLoaderTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AsyncFontListLoaderTest.kt
index 61855e3f..89883bd 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AsyncFontListLoaderTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AsyncFontListLoaderTest.kt
@@ -18,6 +18,9 @@
import androidx.compose.ui.text.ExperimentalTextApi
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.coroutines.coroutineContext
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.cancel
import kotlinx.coroutines.runBlocking
@@ -25,9 +28,6 @@
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.coroutines.coroutineContext
@ExperimentalTextApi
@RunWith(JUnit4::class)
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt
index dc71dd4..64bd8a4 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt
@@ -19,6 +19,10 @@
import androidx.compose.ui.text.InternalTextApi
import androidx.compose.ui.text.TextRange
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertFailsWith
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.eq
@@ -27,10 +31,6 @@
import org.mockito.kotlin.reset
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import kotlin.test.assertFailsWith
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
@OptIn(InternalTextApi::class)
@RunWith(JUnit4::class)
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/matchers/EditBufferSubject.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/matchers/EditBufferSubject.kt
index 2505dfe..fcb894e 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/matchers/EditBufferSubject.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/matchers/EditBufferSubject.kt
@@ -21,8 +21,8 @@
import androidx.compose.ui.text.input.PartialGapBuffer
import com.google.common.truth.FailureMetadata
import com.google.common.truth.Subject
-import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertAbout
+import com.google.common.truth.Truth.assertThat
@OptIn(InternalTextApi::class)
internal fun assertThat(buffer: PartialGapBuffer): EditBufferSubject {
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/LineHeightStyleTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/LineHeightStyleTest.kt
index 46c7cfd..1aeef097 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/LineHeightStyleTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/LineHeightStyleTest.kt
@@ -18,8 +18,8 @@
package androidx.compose.ui.text.style
import androidx.compose.ui.text.ExperimentalTextApi
-import androidx.compose.ui.text.style.LineHeightStyle.Trim
import androidx.compose.ui.text.style.LineHeightStyle.Alignment
+import androidx.compose.ui.text.style.LineHeightStyle.Trim
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/BoundsTest.kt b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/BoundsTest.kt
index a8d4eee..1ade585 100644
--- a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/BoundsTest.kt
+++ b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/BoundsTest.kt
@@ -34,11 +34,11 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@UiToolingDataApi
@MediumTest
diff --git a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/Inspectable.kt b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/Inspectable.kt
index cd30be8..b10d6135 100644
--- a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/Inspectable.kt
+++ b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/Inspectable.kt
@@ -17,10 +17,10 @@
package androidx.compose.ui.tooling.data
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.tooling.CompositionData
-import androidx.compose.runtime.InternalComposeApi
import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.InternalComposeApi
import androidx.compose.runtime.currentComposer
+import androidx.compose.runtime.tooling.CompositionData
import androidx.compose.runtime.tooling.LocalInspectionTables
import androidx.compose.ui.platform.LocalInspectionMode
import java.util.Collections
diff --git a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/InspectableTests.kt b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/InspectableTests.kt
index 5f18bd8..a0802ab 100644
--- a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/InspectableTests.kt
+++ b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/InspectableTests.kt
@@ -35,6 +35,8 @@
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotEquals
@@ -42,8 +44,6 @@
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@UiToolingDataApi
@MediumTest
diff --git a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/ToolingTest.kt b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/ToolingTest.kt
index cf7783c..96411de 100644
--- a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/ToolingTest.kt
+++ b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/ToolingTest.kt
@@ -27,12 +27,12 @@
import androidx.compose.ui.R
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.ViewRootForTest
-import org.junit.Before
-import org.junit.Rule
import java.util.Collections
import java.util.WeakHashMap
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Before
+import org.junit.Rule
open class ToolingTest {
@Suppress("DEPRECATION")
diff --git a/compose/ui/ui-tooling-preview/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewParameter.kt b/compose/ui/ui-tooling-preview/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewParameter.kt
index ba55dd6..348cc14 100644
--- a/compose/ui/ui-tooling-preview/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewParameter.kt
+++ b/compose/ui/ui-tooling-preview/src/androidMain/kotlin/androidx/compose/ui/tooling/preview/PreviewParameter.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.tooling.preview
-import kotlin.reflect.KClass
import kotlin.jvm.JvmDefaultWithCompatibility
+import kotlin.reflect.KClass
/**
* Interface to be implemented by any provider of values that you want to be injected as @[Preview]
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/LazyColumnPreview.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/LazyColumnPreview.kt
index a9252ae..03e6561 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/LazyColumnPreview.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/LazyColumnPreview.kt
@@ -18,12 +18,12 @@
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyRow
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.material.Button
import androidx.compose.material.Surface
import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
@Preview
@Composable
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ToolingTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ToolingTest.kt
index 5bf2e09..b895328 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ToolingTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ToolingTest.kt
@@ -24,10 +24,10 @@
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.onGloballyPositioned
-import org.junit.Before
-import org.junit.Rule
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Before
+import org.junit.Rule
open class ToolingTest {
@Suppress("DEPRECATION")
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/Inspectable.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/Inspectable.kt
index f859c89..9014cde 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/Inspectable.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/Inspectable.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.tooling
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.tooling.CompositionData
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.currentComposer
+import androidx.compose.runtime.tooling.CompositionData
import androidx.compose.runtime.tooling.LocalInspectionTables
import androidx.compose.ui.platform.LocalInspectionMode
import java.util.Collections
diff --git a/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/DpDeviceTest.kt b/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/DpDeviceTest.kt
index 29722d3..dc7c3ea 100644
--- a/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/DpDeviceTest.kt
+++ b/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/DpDeviceTest.kt
@@ -18,13 +18,13 @@
import android.app.Activity
import android.util.TypedValue
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/SpDeviceTest.kt b/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/SpDeviceTest.kt
index c7ed473..8c08f71 100644
--- a/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/SpDeviceTest.kt
+++ b/compose/ui/ui-unit/src/androidAndroidTest/kotlin/androidx/compose/ui/unit/SpDeviceTest.kt
@@ -18,13 +18,13 @@
import android.app.Activity
import android.util.TypedValue
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Density.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Density.kt
index c173679..bd1d343 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Density.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Density.kt
@@ -21,8 +21,8 @@
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.geometry.isSpecified
-import kotlin.math.roundToInt
import androidx.compose.ui.unit.internal.JvmDefaultWithCompatibility
+import kotlin.math.roundToInt
/**
* A density of the screen. Used for convert [Dp] to pixels.
diff --git a/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/AndroidViewBindingTest.kt b/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/AndroidViewBindingTest.kt
index f1b25c9..908b85a 100644
--- a/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/AndroidViewBindingTest.kt
+++ b/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/AndroidViewBindingTest.kt
@@ -33,8 +33,8 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
-import androidx.compose.ui.viewinterop.AndroidViewBinding
import androidx.compose.ui.viewbinding.samples.databinding.SampleLayoutBinding
+import androidx.compose.ui.viewinterop.AndroidViewBinding
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
diff --git a/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/FragmentRecreateTest.kt b/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/FragmentRecreateTest.kt
index 8dea4a0..1439a9b 100644
--- a/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/FragmentRecreateTest.kt
+++ b/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/FragmentRecreateTest.kt
@@ -20,10 +20,10 @@
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.activity.compose.setContent
+import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.viewbinding.samples.R
import androidx.compose.ui.viewbinding.samples.databinding.TestFragmentLayoutBinding
import androidx.compose.ui.viewinterop.AndroidViewBinding
-import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentContainerView
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/OnPositionedBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/OnPositionedBenchmark.kt
index b14c52c..564fce8a 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/OnPositionedBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/OnPositionedBenchmark.kt
@@ -29,11 +29,11 @@
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/AndroidTapIntegrationBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/AndroidTapIntegrationBenchmark.kt
index c6c0d53..87a6eab 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/AndroidTapIntegrationBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/AndroidTapIntegrationBenchmark.kt
@@ -32,13 +32,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import org.junit.Assert
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
/**
* Benchmark for simply tapping on an item in Android.
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/VelocityTrackerBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/VelocityTrackerBenchmark.kt
index eb56a62..058b533 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/VelocityTrackerBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/VelocityTrackerBenchmark.kt
@@ -17,10 +17,8 @@
import androidx.compose.testutils.benchmark.ComposeBenchmarkRule
import androidx.compose.ui.input.pointer.util.VelocityTracker1D
-
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
-
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/MultipleCollect.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/MultipleCollect.kt
index 0496cc5..a6a1c30 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/MultipleCollect.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/MultipleCollect.kt
@@ -18,13 +18,13 @@
package androidx.compose.ui.demos
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.layoutId
import androidx.compose.ui.unit.Constraints
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PopupDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PopupDemo.kt
index c656ad0..b5cc1be 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PopupDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PopupDemo.kt
@@ -27,9 +27,9 @@
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.requiredHeight
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
index 4e65849..7576a56 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
@@ -33,12 +33,12 @@
import androidx.compose.ui.demos.focus.FocusInPopupDemo
import androidx.compose.ui.demos.focus.FocusManagerMoveFocusDemo
import androidx.compose.ui.demos.focus.FocusableDemo
+import androidx.compose.ui.demos.focus.LazyListChildFocusDemos
+import androidx.compose.ui.demos.focus.NestedLazyListFocusSearchDemo
import androidx.compose.ui.demos.focus.OneDimensionalFocusSearchDemo
import androidx.compose.ui.demos.focus.ReuseFocusRequesterDemo
import androidx.compose.ui.demos.focus.ScrollableLazyRowFocusDemo
import androidx.compose.ui.demos.focus.ScrollableRowFocusDemo
-import androidx.compose.ui.demos.focus.LazyListChildFocusDemos
-import androidx.compose.ui.demos.focus.NestedLazyListFocusSearchDemo
import androidx.compose.ui.demos.focus.TwoDimensionalFocusSearchDemo
import androidx.compose.ui.demos.gestures.ButtonMetaStateDemo
import androidx.compose.ui.demos.gestures.DetectTapGesturesDemo
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DragSlopExceededGestureFilterDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DragSlopExceededGestureFilterDemo.kt
index 4ffbac4..9834a47 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DragSlopExceededGestureFilterDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DragSlopExceededGestureFilterDemo.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.demos.gestures
import androidx.compose.foundation.background
+import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitTouchSlopOrCancellation
-import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt
index e79abb8..f6aa708 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/HorizontalScrollersInVerticalScrollerDemo.kt
@@ -18,6 +18,7 @@
import androidx.compose.foundation.background
import androidx.compose.foundation.border
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.rememberScrollableState
import androidx.compose.foundation.gestures.scrollable
@@ -28,15 +29,14 @@
import androidx.compose.foundation.layout.size
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.DrawModifier
import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableFloatStateOf
-import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.graphics.drawscope.clipRect
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt
index a6af47f..213634a 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedScrollingDemo.kt
@@ -19,26 +19,26 @@
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
import androidx.compose.foundation.border
-import androidx.compose.foundation.gestures.rememberScrollableState
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.detectTapGestures
+import androidx.compose.foundation.gestures.rememberScrollableState
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableFloatStateOf
-import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.Layout
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/RawDragGestureDetectorDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/RawDragGestureDetectorDemo.kt
index 004e2b7..e1ec630 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/RawDragGestureDetectorDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/RawDragGestureDetectorDemo.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.demos.gestures
import androidx.compose.foundation.background
-import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.drag
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt
index 6d9fc2f..695fb40 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/ScrollGestureFilterDemo.kt
@@ -16,10 +16,11 @@
package androidx.compose.ui.demos.gestures
-import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.background
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.rememberScrollableState
import androidx.compose.foundation.gestures.scrollable
+import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.interaction.collectIsDraggedAsState
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -29,13 +30,12 @@
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.remember
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableFloatStateOf
+import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.Dp
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt
index 206cbf3..f755807 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/VerticalScrollerInDrawerLayoutDemo.kt
@@ -18,6 +18,7 @@
import androidx.compose.foundation.background
import androidx.compose.foundation.border
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.rememberScrollableState
import androidx.compose.foundation.gestures.scrollable
@@ -28,22 +29,21 @@
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.requiredWidth
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.DrawModifier
import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableFloatStateOf
-import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.graphics.drawscope.clipRect
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/modifier/CommunicatingModifierDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/modifier/CommunicatingModifierDemo.kt
index 6e04d4c..80b0d2e 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/modifier/CommunicatingModifierDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/modifier/CommunicatingModifierDemo.kt
@@ -38,8 +38,8 @@
import androidx.compose.ui.graphics.Color.Companion.Gray
import androidx.compose.ui.graphics.Color.Companion.Red
import androidx.compose.ui.modifier.modifierLocalConsumer
-import androidx.compose.ui.modifier.modifierLocalProvider
import androidx.compose.ui.modifier.modifierLocalOf
+import androidx.compose.ui.modifier.modifierLocalProvider
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.launch
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/FocusTransferDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/FocusTransferDemo.kt
index b412aa6..61c2a44 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/FocusTransferDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/FocusTransferDemo.kt
@@ -24,24 +24,24 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
+import androidx.compose.ui.focus.focusTarget
+import androidx.compose.ui.focus.onFocusEvent
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.unit.sp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.Adapter
-import androidx.recyclerview.widget.RecyclerView.ViewHolder
import androidx.recyclerview.widget.RecyclerView.VERTICAL
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.ui.focus.focusTarget
-import androidx.compose.ui.focus.onFocusEvent
-import androidx.compose.ui.unit.sp
+import androidx.recyclerview.widget.RecyclerView.ViewHolder
@Composable
fun FocusTransferDemo() {
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/AlphaSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/AlphaSample.kt
index 0eda2b2..8dab4ab 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/AlphaSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/AlphaSample.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/BlurSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/BlurSample.kt
index c97aec8..4ecd92c 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/BlurSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/BlurSample.kt
@@ -18,8 +18,8 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.Image
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DialogSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DialogSample.kt
index b5508de..d66efbd 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DialogSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DialogSample.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/LayoutSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/LayoutSample.kt
index 6c41b9f8..6908017 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/LayoutSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/LayoutSample.kt
@@ -22,11 +22,11 @@
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi
-import androidx.compose.ui.layout.Layout
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.IntrinsicMeasurable
import androidx.compose.ui.layout.IntrinsicMeasureScope
+import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.LayoutModifier
import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasurePolicy
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierLocalSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierLocalSamples.kt
index 0db443d..d1869e6 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierLocalSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierLocalSamples.kt
@@ -28,8 +28,8 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
import androidx.compose.ui.modifier.modifierLocalConsumer
-import androidx.compose.ui.modifier.modifierLocalProvider
import androidx.compose.ui.modifier.modifierLocalOf
+import androidx.compose.ui.modifier.modifierLocalProvider
@OptIn(ExperimentalComposeUiApi::class)
@Sampled
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnGloballyPositionedSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnGloballyPositionedSamples.kt
index 479029d..1b414e9 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnGloballyPositionedSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnGloballyPositionedSamples.kt
@@ -17,15 +17,15 @@
package androidx.compose.ui.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.layout.onGloballyPositioned
+import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.layout.positionInWindow
import androidx.compose.ui.unit.dp
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PainterSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PainterSample.kt
index cbfcaea..f39a660 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PainterSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PainterSample.kt
@@ -18,8 +18,8 @@
import androidx.annotation.Sampled
import androidx.compose.foundation.Image
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.runtime.Composable
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PopupSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PopupSample.kt
index 5939d56..7d311d3 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PopupSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PopupSample.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.samples
import androidx.annotation.Sampled
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt
index ffa6615..bd38fe1 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt
@@ -42,11 +42,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth
+import java.util.Locale
+import kotlin.math.abs
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.Locale
-import kotlin.math.abs
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt
index 5d49476..67b261a 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt
@@ -43,8 +43,8 @@
import androidx.compose.foundation.Image
import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.clickable
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.focusable
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.scrollBy
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Arrangement
@@ -57,8 +57,8 @@
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.LazyListState
+import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.progressSemantics
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.selection.selectable
@@ -158,8 +158,8 @@
import androidx.compose.ui.text.toUpperCase
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.DpOffset
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.LayoutDirection
+import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastForEach
import androidx.compose.ui.util.fastMap
import androidx.compose.ui.viewinterop.AndroidView
@@ -171,13 +171,8 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.argThat
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.spy
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
+import java.lang.reflect.Method
+import kotlin.math.max
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import org.junit.Assert.assertEquals
@@ -195,8 +190,13 @@
import org.mockito.ArgumentMatcher
import org.mockito.ArgumentMatchers.any
import org.mockito.internal.matchers.apachecommons.ReflectionEquals
-import java.lang.reflect.Method
-import kotlin.math.max
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
index 337f866..5a160ba 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
@@ -135,17 +135,6 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.argThat
-import org.mockito.kotlin.argumentCaptor
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.never
-import org.mockito.kotlin.spy
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
-import org.mockito.kotlin.whenever
import java.util.concurrent.Executors
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.asCoroutineDispatcher
@@ -158,6 +147,17 @@
import org.junit.runner.RunWith
import org.mockito.ArgumentMatcher
import org.mockito.ArgumentMatchers
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/MemoryLeakTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/MemoryLeakTest.kt
index 9610e78..c6d3e83 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/MemoryLeakTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/MemoryLeakTest.kt
@@ -32,6 +32,8 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.text.NumberFormat
+import java.util.Locale
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -39,8 +41,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.text.NumberFormat
-import java.util.Locale
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/ParentDataModifierTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/ParentDataModifierTest.kt
index adf79b7..9f8bae1 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/ParentDataModifierTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/ParentDataModifierTest.kt
@@ -37,6 +37,8 @@
import androidx.compose.ui.unit.Density
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
@@ -44,8 +46,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/RecyclerViewIntegrationTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/RecyclerViewIntegrationTest.kt
index 380b9b7..5d1a315 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/RecyclerViewIntegrationTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/RecyclerViewIntegrationTest.kt
@@ -34,10 +34,10 @@
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Test
+import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/AlphaTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/AlphaTest.kt
index d21fe8b..d67a405 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/AlphaTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/AlphaTest.kt
@@ -37,15 +37,15 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.max
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.max
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/DrawReorderingTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/DrawReorderingTest.kt
index 568809a..57531e5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/DrawReorderingTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/DrawReorderingTest.kt
@@ -43,14 +43,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/GraphicsLayerModifierTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/GraphicsLayerModifierTest.kt
index 618ceb7..78b3042 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/GraphicsLayerModifierTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/GraphicsLayerModifierTest.kt
@@ -20,10 +20,10 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.CompositingStrategy
-import androidx.compose.ui.graphics.TransformOrigin
import androidx.compose.ui.graphics.DefaultCameraDistance
import androidx.compose.ui.graphics.DefaultShadowColor
import androidx.compose.ui.graphics.RectangleShape
+import androidx.compose.ui.graphics.TransformOrigin
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.platform.InspectableValue
import androidx.compose.ui.platform.ValueElement
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/PainterModifierTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/PainterModifierTest.kt
index 3d6683e..e49c957 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/PainterModifierTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/PainterModifierTest.kt
@@ -94,6 +94,8 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.max
+import kotlin.math.roundToInt
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Before
@@ -101,8 +103,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.max
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/ShadowTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/ShadowTest.kt
index f9d9136d..8f23d70 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/ShadowTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/ShadowTest.kt
@@ -50,6 +50,8 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assert
import org.junit.Assert.assertEquals
@@ -60,8 +62,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt
index e3749d3..d3eccf4 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt
@@ -27,12 +27,12 @@
import androidx.compose.runtime.setValue
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
-import androidx.compose.ui.input.key.Key.Companion.Tab
-import androidx.compose.ui.input.key.Key.Companion.DirectionUp
import androidx.compose.ui.input.key.Key.Companion.DirectionDown
import androidx.compose.ui.input.key.Key.Companion.DirectionLeft
import androidx.compose.ui.input.key.Key.Companion.DirectionRight
+import androidx.compose.ui.input.key.Key.Companion.DirectionUp
import androidx.compose.ui.input.key.Key.Companion.Enter
+import androidx.compose.ui.input.key.Key.Companion.Tab
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.input.key.nativeKeyCode
import androidx.compose.ui.platform.LocalFocusManager
@@ -40,10 +40,10 @@
import androidx.compose.ui.test.onRoot
import androidx.compose.ui.test.performKeyPress
import androidx.test.filters.MediumTest
+import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import com.google.common.truth.Truth.assertThat
import org.junit.runners.Parameterized
import org.junit.runners.Parameterized.Parameters
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusChangedCountTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusChangedCountTest.kt
index f7b0dad..d1b5b2d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusChangedCountTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusChangedCountTest.kt
@@ -21,8 +21,8 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
-import androidx.compose.ui.focus.FocusStateImpl.Inactive
import androidx.compose.ui.focus.FocusStateImpl.Active
+import androidx.compose.ui.focus.FocusStateImpl.Inactive
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusRequesterTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusRequesterTest.kt
index 7f44c86..faa13ae 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusRequesterTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusRequesterTest.kt
@@ -28,11 +28,11 @@
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
+import androidx.compose.ui.focus.focusRequester as modifierNodeFocusRequester
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.platform.debugInspectorInfo
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.dp
-import androidx.compose.ui.focus.focusRequester as modifierNodeFocusRequester
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/KeyEventToFocusDirectionTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/KeyEventToFocusDirectionTest.kt
index 9cce01f..94dce03 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/KeyEventToFocusDirectionTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/KeyEventToFocusDirectionTest.kt
@@ -16,8 +16,13 @@
package androidx.compose.ui.focus
+import android.view.KeyEvent as AndroidKeyEvent
+import android.view.KeyEvent.ACTION_DOWN as KeyDown
+import android.view.KeyEvent.META_SHIFT_ON as Shift
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.focus.FocusDirection.Companion.Down
+import androidx.compose.ui.focus.FocusDirection.Companion.Enter
+import androidx.compose.ui.focus.FocusDirection.Companion.Exit
import androidx.compose.ui.focus.FocusDirection.Companion.Left
import androidx.compose.ui.focus.FocusDirection.Companion.Next
import androidx.compose.ui.focus.FocusDirection.Companion.Previous
@@ -36,11 +41,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import android.view.KeyEvent as AndroidKeyEvent
-import android.view.KeyEvent.ACTION_DOWN as KeyDown
-import android.view.KeyEvent.META_SHIFT_ON as Shift
-import androidx.compose.ui.focus.FocusDirection.Companion.Enter
-import androidx.compose.ui.focus.FocusDirection.Companion.Exit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt
index 0a383f3..190fd50 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt
@@ -20,10 +20,10 @@
import android.view.inputmethod.CursorAnchorInfo
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.MultiParagraph
-import androidx.compose.ui.text.TextRange
-import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.TextLayoutInput
import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/RecordingInputConnectionTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/RecordingInputConnectionTest.kt
index 9028277..ed4776e 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/RecordingInputConnectionTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/RecordingInputConnectionTest.kt
@@ -33,16 +33,16 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import org.junit.Assert.assertTrue
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.mock
import org.mockito.kotlin.never
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Assert.assertTrue
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidEmojiTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidEmojiTest.kt
index 0aff99c..2bec941 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidEmojiTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidEmojiTest.kt
@@ -29,12 +29,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
import org.junit.After
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidOnStateUpdateTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidOnStateUpdateTest.kt
index 73c44e6..9d383b7 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidOnStateUpdateTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/TextInputServiceAndroidOnStateUpdateTest.kt
@@ -31,6 +31,9 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
@@ -38,9 +41,6 @@
import org.mockito.kotlin.reset
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/focus/FocusAwareEventPropagationTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/focus/FocusAwareEventPropagationTest.kt
index 3baf4aa..6d7da47 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/focus/FocusAwareEventPropagationTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/focus/FocusAwareEventPropagationTest.kt
@@ -31,8 +31,8 @@
import androidx.compose.ui.input.focus.FocusAwareEventPropagationTest.NodeType.KeyInput
import androidx.compose.ui.input.focus.FocusAwareEventPropagationTest.NodeType.RotaryInput
import androidx.compose.ui.input.key.KeyEvent
-import androidx.compose.ui.input.key.onKeyEvent
import androidx.compose.ui.input.key.onInterceptKeyBeforeSoftKeyboard
+import androidx.compose.ui.input.key.onKeyEvent
import androidx.compose.ui.input.key.onPreInterceptKeyBeforeSoftKeyboard
import androidx.compose.ui.input.key.onPreviewKeyEvent
import androidx.compose.ui.input.rotary.RotaryScrollEvent
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/AndroidProcessKeyInputTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/AndroidProcessKeyInputTest.kt
index f17a1a2..f88a7ed 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/AndroidProcessKeyInputTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/AndroidProcessKeyInputTest.kt
@@ -16,6 +16,7 @@
package androidx.compose.ui.input.key
+import android.view.KeyEvent as AndroidKeyEvent
import android.view.KeyEvent.ACTION_DOWN as ActionDown
import android.view.KeyEvent.ACTION_UP as ActionUp
import android.view.KeyEvent.KEYCODE_A as KeyCodeA
@@ -30,18 +31,17 @@
import androidx.compose.ui.input.key.Key.Companion.A
import androidx.compose.ui.input.key.KeyEventType.Companion.KeyDown
import androidx.compose.ui.input.key.KeyEventType.Companion.KeyUp
+import androidx.compose.ui.node.DelegatingNode
import androidx.compose.ui.platform.LocalView
+import androidx.compose.ui.semantics.elementFor
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import android.view.KeyEvent as AndroidKeyEvent
-import androidx.compose.ui.node.DelegatingNode
-import androidx.compose.ui.semantics.elementFor
-import org.junit.Ignore
import org.mockito.kotlin.inOrder
/**
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/HardwareKeyInputTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/HardwareKeyInputTest.kt
index 5b4c1ba..262aaa7 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/HardwareKeyInputTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/HardwareKeyInputTest.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.input.key
import android.view.KeyEvent as AndroidKeyEvent
-import android.view.KeyEvent.KEYCODE_A as KeyCodeA
import android.view.KeyEvent.ACTION_DOWN
import android.view.KeyEvent.ACTION_UP
+import android.view.KeyEvent.KEYCODE_A as KeyCodeA
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.requiredSize
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/KeyTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/KeyTest.kt
index 6358175..3e73445 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/KeyTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/KeyTest.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.input.key
-import androidx.compose.ui.ExperimentalComposeUiApi
import android.view.KeyEvent.KEYCODE_A as KeyCodeA
+import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/MetaKeyTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/MetaKeyTest.kt
index 5acd3bb..f4e78eb 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/MetaKeyTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/MetaKeyTest.kt
@@ -16,9 +16,9 @@
package androidx.compose.ui.input.key
-import android.view.KeyEvent.KEYCODE_A as KeyCodeA
-import android.view.KeyEvent.ACTION_DOWN as KeyDown
import android.view.KeyEvent as AndroidKeyEvent
+import android.view.KeyEvent.ACTION_DOWN as KeyDown
+import android.view.KeyEvent.KEYCODE_A as KeyCodeA
import android.view.KeyEvent.META_ALT_ON
import android.view.KeyEvent.META_CTRL_ON
import android.view.KeyEvent.META_META_ON
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/ProcessKeyInputTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/ProcessKeyInputTest.kt
index 0c88d69..b085af2 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/ProcessKeyInputTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/key/ProcessKeyInputTest.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.input.key
import android.view.KeyEvent as AndroidKeyEvent
-import android.view.KeyEvent.KEYCODE_A as KeyCodeA
import android.view.KeyEvent.ACTION_DOWN
import android.view.KeyEvent.ACTION_UP
+import android.view.KeyEvent.KEYCODE_A as KeyCodeA
import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/AndroidPointerInputTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/AndroidPointerInputTest.kt
index 6470495..46f9946 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/AndroidPointerInputTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/AndroidPointerInputTest.kt
@@ -80,10 +80,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
-import org.mockito.kotlin.never
-import org.mockito.kotlin.spy
-import org.mockito.kotlin.verify
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
@@ -92,8 +90,10 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
+import org.mockito.kotlin.any
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/ClipPointerInputTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/ClipPointerInputTest.kt
index 905cbb2..0777bc1 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/ClipPointerInputTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/ClipPointerInputTest.kt
@@ -46,12 +46,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/LayerTouchTransformTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/LayerTouchTransformTest.kt
index e065521..7f69a0d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/LayerTouchTransformTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/LayerTouchTransformTest.kt
@@ -43,14 +43,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.max
import org.junit.Assert
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.max
@LargeTest
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MouseEventTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MouseEventTest.kt
index 1899a3c..9f9ade5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MouseEventTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MouseEventTest.kt
@@ -35,10 +35,10 @@
import androidx.compose.ui.unit.dp
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
-import org.junit.Test
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Rule
+import org.junit.Test
@MediumTest
@OptIn(ExperimentalTestApi::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewOffsetsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewOffsetsTest.kt
index 849c2b9..877e911 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewOffsetsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewOffsetsTest.kt
@@ -34,15 +34,15 @@
import androidx.compose.ui.viewinterop.AndroidView
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.clearInvocations
import org.mockito.kotlin.mock
import org.mockito.kotlin.never
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
// Tests that pointer offsets are correct when a pointer is dispatched from Android through
// Compose and back into Android and each layer offsets the pointer during dispatch.
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilterTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilterTest.kt
index c521919..6a82429 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilterTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilterTest.kt
@@ -52,9 +52,9 @@
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import org.junit.Rule
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/AlignmentLineTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/AlignmentLineTest.kt
index b3b3736..5714cc7 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/AlignmentLineTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/AlignmentLineTest.kt
@@ -22,8 +22,8 @@
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.mutableStateMapOf
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateMapOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
@@ -33,8 +33,8 @@
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
-import org.junit.Assert.assertEquals
import kotlin.math.min
+import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureInPlacementTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureInPlacementTest.kt
index d272794..6f18534 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureInPlacementTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureInPlacementTest.kt
@@ -38,11 +38,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/OnSizeChangedTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/OnSizeChangedTest.kt
index b825a77..cadfde0 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/OnSizeChangedTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/OnSizeChangedTest.kt
@@ -35,6 +35,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotEquals
@@ -43,8 +45,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RootNodeLayoutTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RootNodeLayoutTest.kt
index 26569b5..d850fd8 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RootNodeLayoutTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RootNodeLayoutTest.kt
@@ -27,6 +27,8 @@
import androidx.compose.ui.unit.Constraints
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.Assert.assertNotNull
@@ -35,8 +37,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RtlLayoutTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RtlLayoutTest.kt
index 038a111..37fe213 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RtlLayoutTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RtlLayoutTest.kt
@@ -43,6 +43,10 @@
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.abs
+import kotlin.math.roundToInt
import org.junit.Assert
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
@@ -50,10 +54,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.abs
-import kotlin.math.roundToInt
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/HotReloadTests.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/HotReloadTests.kt
index b84b840..f9326295 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/HotReloadTests.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/HotReloadTests.kt
@@ -33,12 +33,12 @@
import androidx.compose.ui.test.onNodeWithTag
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModelReadsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModelReadsTest.kt
index 08c37a0..42dc17d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModelReadsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModelReadsTest.kt
@@ -32,6 +32,8 @@
import androidx.compose.ui.test.TestActivity
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
@@ -39,8 +41,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInAppCompatActivityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInAppCompatActivityTest.kt
index 9bfe97c..6c8d88b 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInAppCompatActivityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInAppCompatActivityTest.kt
@@ -23,14 +23,14 @@
import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInComponentActivityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInComponentActivityTest.kt
index 336d599..9d79d60 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInComponentActivityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInComponentActivityTest.kt
@@ -23,14 +23,14 @@
import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInFragmentTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInFragmentTest.kt
index 44fb3a0..497f8be 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInFragmentTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/LifecycleOwnerInFragmentTest.kt
@@ -29,14 +29,14 @@
import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInAppCompatActivityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInAppCompatActivityTest.kt
index 2594fa9..f548965 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInAppCompatActivityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInAppCompatActivityTest.kt
@@ -23,14 +23,14 @@
import androidx.savedstate.SavedStateRegistryOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInComponentActivityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInComponentActivityTest.kt
index d78a893..648ac1d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInComponentActivityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInComponentActivityTest.kt
@@ -23,14 +23,14 @@
import androidx.savedstate.SavedStateRegistryOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInFragmentTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInFragmentTest.kt
index 0a290e5..9f5f371 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInFragmentTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/owners/SavedStateRegistryOwnerInFragmentTest.kt
@@ -28,14 +28,14 @@
import androidx.savedstate.findViewTreeSavedStateRegistryOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidClipboardManagerTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidClipboardManagerTest.kt
index d9a4bc8..f35c3e2 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidClipboardManagerTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidClipboardManagerTest.kt
@@ -32,15 +32,14 @@
import androidx.compose.ui.text.style.TextGeometricTransform
import androidx.compose.ui.text.withStyle
import androidx.compose.ui.unit.sp
-
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidViewCompatTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidViewCompatTest.kt
index 54db114..432b2fe 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidViewCompatTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidViewCompatTest.kt
@@ -94,11 +94,14 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import junit.framework.TestCase.assertNotNull
-import org.hamcrest.CoreMatchers.`is`
+import kotlin.math.roundToInt
import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.CoreMatchers.endsWith
import org.hamcrest.CoreMatchers.instanceOf
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.not
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
@@ -107,9 +110,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
/**
* Testing the support for Android Views in Compose UI.
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DepthSortedSetTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DepthSortedSetTest.kt
index 3893b7b..7de34c5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DepthSortedSetTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DepthSortedSetTest.kt
@@ -23,11 +23,11 @@
import androidx.compose.ui.node.add
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
-import org.mockito.kotlin.spy
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.spy
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt
index e6e19a8..e5e4927 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/DisposableSaveableStateRegistryTest.kt
@@ -34,12 +34,12 @@
import androidx.test.annotation.UiThreadTest
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.io.Serializable
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.Serializable
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LayoutIdTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LayoutIdTest.kt
index 81dbca9..6cc5157 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LayoutIdTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LayoutIdTest.kt
@@ -27,6 +27,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
@@ -34,8 +36,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LocalSoftwareKeyboardControllerTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LocalSoftwareKeyboardControllerTest.kt
index 0b6e22c..f3c9189 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LocalSoftwareKeyboardControllerTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LocalSoftwareKeyboardControllerTest.kt
@@ -31,13 +31,13 @@
import androidx.compose.ui.text.input.TextInputService
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.mock
import org.mockito.kotlin.never
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
@ExperimentalComposeUiApi
@LargeTest
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowInfoCompositionLocalTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowInfoCompositionLocalTest.kt
index 8b828ae..2a2d199 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowInfoCompositionLocalTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowInfoCompositionLocalTest.kt
@@ -31,12 +31,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit.SECONDS
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit.SECONDS
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowRecomposerTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowRecomposerTest.kt
index b4d9bbe..44ebf7c 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowRecomposerTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WindowRecomposerTest.kt
@@ -43,6 +43,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
+import java.lang.ref.WeakReference
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
@@ -62,8 +64,6 @@
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import java.lang.ref.WeakReference
-import kotlin.coroutines.CoroutineContext
@RunWith(AndroidJUnit4::class)
class WindowRecomposerTest {
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WrapperTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WrapperTest.kt
index c4f9bbc..f6d5329 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WrapperTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/WrapperTest.kt
@@ -32,13 +32,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@Composable private fun Recompose(body: @Composable (recompose: () -> Unit) -> Unit) {
val scope = currentRecomposeScope
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/StringResourcesTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/StringResourcesTest.kt
index 9751449..89b9648 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/StringResourcesTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/StringResourcesTest.kt
@@ -25,10 +25,10 @@
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.Locale
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/semantics/SemanticsTests.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/semantics/SemanticsTests.kt
index 2c1d8dd..f27b445 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/semantics/SemanticsTests.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/semantics/SemanticsTests.kt
@@ -44,8 +44,8 @@
import androidx.compose.ui.test.SemanticsMatcher
import androidx.compose.ui.test.SemanticsNodeInteraction
import androidx.compose.ui.test.assert
-import androidx.compose.ui.test.assertCountEquals
import androidx.compose.ui.test.assertContentDescriptionEquals
+import androidx.compose.ui.test.assertCountEquals
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.assertValueEquals
import androidx.compose.ui.test.junit4.createComposeRule
@@ -62,6 +62,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.max
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
@@ -69,7 +70,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.max
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/ComposeViewTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/ComposeViewTest.kt
index 0fe1ac4..8cef97d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/ComposeViewTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/ComposeViewTest.kt
@@ -73,6 +73,9 @@
import androidx.test.filters.FlakyTest
import androidx.test.filters.MediumTest
import androidx.test.filters.SmallTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import org.hamcrest.CoreMatchers.instanceOf
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
@@ -83,9 +86,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogTest.kt
index b6579e5..1dec8ea 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogTest.kt
@@ -45,12 +45,12 @@
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import androidx.test.uiautomator.UiDevice
import com.google.common.truth.Truth
+import kotlin.math.roundToInt
import org.junit.Assert.assertEquals
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupAlignmentTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupAlignmentTest.kt
index 537c3fc..b9949ca 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupAlignmentTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupAlignmentTest.kt
@@ -26,8 +26,8 @@
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntOffset
+import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.height
@@ -35,12 +35,12 @@
import androidx.test.espresso.matcher.BoundedMatcher
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.hamcrest.Description
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupDismissTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupDismissTest.kt
index fc01d13..edf32cd 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupDismissTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupDismissTest.kt
@@ -18,11 +18,11 @@
import android.os.Build
import android.view.View
-import androidx.compose.foundation.text.ClickableText
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.text.BasicText
+import androidx.compose.foundation.text.ClickableText
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
@@ -41,13 +41,13 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assume
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupLayoutTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupLayoutTest.kt
index 1183a84..bcd39c1 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupLayoutTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupLayoutTest.kt
@@ -34,10 +34,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.util.UUID
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.UUID
/**
* Tests for the internal [PopupLayout] view used by [Popup].
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTest.kt
index 252b19d..36d5ef1 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTest.kt
@@ -23,8 +23,8 @@
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.requiredHeight
-import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.size
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.runtime.getValue
@@ -64,15 +64,15 @@
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import androidx.test.uiautomator.UiDevice
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import org.hamcrest.CoreMatchers.instanceOf
import org.hamcrest.Description
import org.hamcrest.TypeSafeMatcher
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTestUtils.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTestUtils.kt
index d37dd10..b6cbe5c 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTestUtils.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupTestUtils.kt
@@ -34,11 +34,11 @@
import androidx.test.espresso.Espresso
import androidx.test.espresso.Root
import androidx.test.espresso.assertion.ViewAssertions
+import kotlin.math.max
import org.hamcrest.CoreMatchers
import org.hamcrest.Description
import org.hamcrest.Matcher
import org.hamcrest.TypeSafeMatcher
-import kotlin.math.max
// TODO(b/139861182): Remove all of this and provide helpers on rule
internal fun ComposeTestRule.popupMatches(popupTestTag: String, viewMatcher: Matcher<in View>) {
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt
index 5952258..960ddd4 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt
@@ -19,8 +19,8 @@
import android.view.ViewGroup
import androidx.activity.ComponentActivity
import androidx.compose.foundation.background
-import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.awaitEachGesture
+import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.drag
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
@@ -52,13 +52,13 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.android.kt
index 054ec2b..c2c1350 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.android.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.input.pointer
import android.view.PointerIcon.TYPE_CROSSHAIR
-import android.view.PointerIcon.TYPE_HAND
import android.view.PointerIcon.TYPE_DEFAULT
+import android.view.PointerIcon.TYPE_HAND
import android.view.PointerIcon.TYPE_TEXT
internal class AndroidPointerIconType(val type: Int) :
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
index 087323c..553e319 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
@@ -16,7 +16,6 @@
package androidx.compose.ui.platform
-import android.view.KeyEvent as AndroidKeyEvent
import android.annotation.SuppressLint
import android.content.Context
import android.content.res.Configuration
@@ -26,6 +25,7 @@
import android.os.SystemClock
import android.util.Log
import android.util.SparseArray
+import android.view.KeyEvent as AndroidKeyEvent
import android.view.MotionEvent
import android.view.MotionEvent.ACTION_CANCEL
import android.view.MotionEvent.ACTION_DOWN
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiDispatcher.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiDispatcher.android.kt
index 7dce6f5..387b2244 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiDispatcher.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiDispatcher.android.kt
@@ -20,10 +20,10 @@
import android.view.Choreographer
import androidx.compose.runtime.MonotonicFrameClock
import androidx.core.os.HandlerCompat
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
-import kotlin.coroutines.CoroutineContext
/**
* A [CoroutineDispatcher] that will perform dispatch during a [handler] callback or
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiFrameClock.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiFrameClock.android.kt
index a9fd7ed..1f96ec4 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiFrameClock.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUiFrameClock.android.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.platform
import android.view.Choreographer
-import kotlinx.coroutines.suspendCancellableCoroutine
import kotlin.coroutines.ContinuationInterceptor
import kotlin.coroutines.coroutineContext
+import kotlinx.coroutines.suspendCancellableCoroutine
class AndroidUiFrameClock internal constructor(
val choreographer: Choreographer,
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ComposeView.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ComposeView.android.kt
index 0ec62b8..0b898b5 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ComposeView.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ComposeView.android.kt
@@ -30,9 +30,9 @@
import androidx.compose.ui.UiComposable
import androidx.compose.ui.node.InternalCoreApi
import androidx.compose.ui.node.Owner
-import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.findViewTreeLifecycleOwner
import java.lang.ref.WeakReference
/**
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.android.kt
index 8663ca3..4dd7ef3 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.android.kt
@@ -18,11 +18,11 @@
import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.ui.platform.GlobalSnapshotManager.ensureStarted
+import java.util.concurrent.atomic.AtomicBoolean
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.consumeEach
import kotlinx.coroutines.launch
-import java.util.concurrent.atomic.AtomicBoolean
/**
* Platform-specific mechanism for starting a monitor of global snapshot state writes
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/OutlineResolver.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/OutlineResolver.android.kt
index 6050279..090242b 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/OutlineResolver.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/OutlineResolver.android.kt
@@ -16,6 +16,7 @@
package androidx.compose.ui.platform
+import android.graphics.Outline as AndroidOutline
import android.os.Build
import androidx.compose.ui.geometry.CornerRadius
import androidx.compose.ui.geometry.Offset
@@ -32,7 +33,6 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.LayoutDirection
import kotlin.math.roundToInt
-import android.graphics.Outline as AndroidOutline
/**
* Resolves the [AndroidOutline] from the [Shape] of an [OwnedLayer].
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeApi23.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeApi23.android.kt
index 8b27e39..681b0c5 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeApi23.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeApi23.android.kt
@@ -18,9 +18,9 @@
import android.graphics.Color
import android.graphics.Outline
-import android.view.RenderNode
-import android.view.DisplayListCanvas
import android.os.Build
+import android.view.DisplayListCanvas
+import android.view.RenderNode
import android.view.View
import androidx.annotation.RequiresApi
import androidx.compose.ui.graphics.Canvas
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/FontResources.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/FontResources.android.kt
index 58262b0..9203d2b 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/FontResources.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/FontResources.android.kt
@@ -21,10 +21,10 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.text.font.Typeface
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.LoadedFontFamily
import androidx.compose.ui.text.font.SystemFontFamily
+import androidx.compose.ui.text.font.Typeface
private val cacheLock = Object()
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/ImageResources.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/ImageResources.android.kt
index 5e7f956..e679a116 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/ImageResources.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/ImageResources.android.kt
@@ -17,14 +17,14 @@
package androidx.compose.ui.res
import android.content.res.Resources
+import android.graphics.drawable.BitmapDrawable
import android.util.TypedValue
import androidx.annotation.DrawableRes
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
-import androidx.compose.ui.platform.LocalContext
-import android.graphics.drawable.BitmapDrawable
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.asImageBitmap
+import androidx.compose.ui.platform.LocalContext
/**
* Load an ImageBitmap from an image resource.
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/VectorResources.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/VectorResources.android.kt
index e484aff..136a23c 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/VectorResources.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/VectorResources.android.kt
@@ -31,8 +31,8 @@
import androidx.compose.ui.graphics.vector.compat.parseCurrentVectorNode
import androidx.compose.ui.graphics.vector.compat.seekToStartTag
import androidx.compose.ui.platform.LocalContext
-import org.xmlpull.v1.XmlPullParserException
import java.lang.ref.WeakReference
+import org.xmlpull.v1.XmlPullParserException
/**
* Load an ImageVector from a vector resource.
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.android.kt
index 75b727e8..08611787 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.android.kt
@@ -75,8 +75,8 @@
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastMap
import androidx.lifecycle.findViewTreeLifecycleOwner
-import androidx.lifecycle.setViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeViewModelStoreOwner
+import androidx.lifecycle.setViewTreeLifecycleOwner
import androidx.lifecycle.setViewTreeViewModelStoreOwner
import androidx.savedstate.findViewTreeSavedStateRegistryOwner
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Modifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Modifier.kt
index 440914e..b5d1bcf 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Modifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Modifier.kt
@@ -20,9 +20,9 @@
import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.node.DelegatableNode
import androidx.compose.ui.node.DrawModifierNode
-import androidx.compose.ui.node.ObserverNodeOwnerScope
import androidx.compose.ui.node.NodeCoordinator
import androidx.compose.ui.node.NodeKind
+import androidx.compose.ui.node.ObserverNodeOwnerScope
import androidx.compose.ui.node.invalidateDraw
import androidx.compose.ui.node.requireOwner
import kotlinx.coroutines.CoroutineScope
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt
index 165c0fc..0408729 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt
@@ -22,8 +22,8 @@
import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.graphics.drawscope.DrawScope
import androidx.compose.ui.internal.JvmDefaultWithCompatibility
-import androidx.compose.ui.node.DrawModifierNode
import androidx.compose.ui.node.CacheDrawModifierNode
+import androidx.compose.ui.node.DrawModifierNode
import androidx.compose.ui.node.ModifierNodeElement
import androidx.compose.ui.node.Nodes
import androidx.compose.ui.node.ObserverModifierNode
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/PainterModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/PainterModifier.kt
index e4eaeb0..f251943 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/PainterModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/PainterModifier.kt
@@ -17,21 +17,21 @@
package androidx.compose.ui.draw
import androidx.compose.ui.Alignment
-import androidx.compose.ui.graphics.drawscope.ContentDrawScope
-import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.geometry.isSpecified
import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.graphics.DefaultAlpha
+import androidx.compose.ui.graphics.drawscope.ContentDrawScope
import androidx.compose.ui.graphics.drawscope.translate
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.layout.ContentScale
-import androidx.compose.ui.layout.times
import androidx.compose.ui.layout.IntrinsicMeasurable
import androidx.compose.ui.layout.IntrinsicMeasureScope
import androidx.compose.ui.layout.Measurable
import androidx.compose.ui.layout.MeasureResult
+import androidx.compose.ui.layout.MeasureScope
+import androidx.compose.ui.layout.times
import androidx.compose.ui.node.DrawModifierNode
import androidx.compose.ui.node.LayoutModifierNode
import androidx.compose.ui.node.ModifierNodeElement
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsLayerScope.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsLayerScope.kt
index 4241f32..783a2c3 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsLayerScope.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsLayerScope.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.graphics
import androidx.compose.ui.geometry.Size
-import androidx.compose.ui.unit.Density
import androidx.compose.ui.internal.JvmDefaultWithCompatibility
+import androidx.compose.ui.unit.Density
/**
* Default camera distance for all layers
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/Vector.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/Vector.kt
index 0e155ef..9c256c7 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/Vector.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/Vector.kt
@@ -24,6 +24,7 @@
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ColorFilter
+import androidx.compose.ui.graphics.Matrix
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.PathFillType
import androidx.compose.ui.graphics.PathMeasure
@@ -32,7 +33,6 @@
import androidx.compose.ui.graphics.drawscope.DrawScope
import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.graphics.drawscope.withTransform
-import androidx.compose.ui.graphics.Matrix
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.util.fastForEach
import kotlin.math.ceil
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/VectorPainter.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/VectorPainter.kt
index 3963cc0..58b3cd3 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/VectorPainter.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/VectorPainter.kt
@@ -34,10 +34,10 @@
import androidx.compose.ui.graphics.drawscope.DrawScope
import androidx.compose.ui.graphics.drawscope.scale
import androidx.compose.ui.graphics.painter.Painter
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* Default identifier for the root group if a Vector graphic
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.kt
index b1671c9..7a6010a 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerEvent.kt
@@ -24,9 +24,9 @@
import androidx.compose.ui.input.pointer.PointerEventPass.Final
import androidx.compose.ui.input.pointer.PointerEventPass.Initial
import androidx.compose.ui.input.pointer.PointerEventPass.Main
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.layout.LayoutCoordinates
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* A [Modifier.Element] that can interact with pointer input.
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.kt
index eab488c..b71e1c4 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/SuspendingPointerInputFilter.kt
@@ -20,6 +20,11 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.fastMapNotNull
import androidx.compose.ui.geometry.Size
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
+import androidx.compose.ui.node.ModifierNodeElement
+import androidx.compose.ui.node.PointerInputModifierNode
+import androidx.compose.ui.node.requireLayoutNode
+import androidx.compose.ui.platform.InspectorInfo
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.ViewConfiguration
import androidx.compose.ui.platform.synchronized
@@ -37,16 +42,11 @@
import kotlin.math.max
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.CancellationException
+import kotlinx.coroutines.CoroutineStart
+import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
-import androidx.compose.ui.node.ModifierNodeElement
-import androidx.compose.ui.node.PointerInputModifierNode
-import androidx.compose.ui.node.requireLayoutNode
-import androidx.compose.ui.platform.InspectorInfo
-import kotlinx.coroutines.CoroutineStart
-import kotlinx.coroutines.Job
/**
* Receiver scope for awaiting pointer events in a call to
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutCoordinates.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutCoordinates.kt
index 83d9751..af49d34 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutCoordinates.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutCoordinates.kt
@@ -19,9 +19,9 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.graphics.Matrix
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.node.NodeCoordinator
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* A holder of the measured bounds for the layout (MeasureBox).
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasurePolicy.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasurePolicy.kt
index 64dcbe3..7b10ef0 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasurePolicy.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasurePolicy.kt
@@ -17,11 +17,11 @@
package androidx.compose.ui.layout
import androidx.compose.runtime.Stable
-import androidx.compose.ui.unit.Constraints
-import androidx.compose.ui.util.fastMap
import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.layout.RootMeasurePolicy.measure
import androidx.compose.ui.layout.RootMeasurePolicy.minIntrinsicWidth
+import androidx.compose.ui.unit.Constraints
+import androidx.compose.ui.util.fastMap
/**
* Defines the measure and layout behavior of a [Layout]. [Layout] and [MeasurePolicy] are the way
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureScope.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureScope.kt
index eaef98e1d..a01db10 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureScope.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureScope.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.layout
-import androidx.compose.ui.node.LookaheadCapablePlaceable
import androidx.compose.ui.internal.JvmDefaultWithCompatibility
+import androidx.compose.ui.node.LookaheadCapablePlaceable
/**
* The receiver scope of a layout's measure lambda. The return value of the
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnRemeasuredModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnRemeasuredModifier.kt
index 9da5ab4..6ebe14f 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnRemeasuredModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnRemeasuredModifier.kt
@@ -19,11 +19,11 @@
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.Stable
import androidx.compose.ui.Modifier
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.platform.InspectorInfo
import androidx.compose.ui.platform.InspectorValueInfo
import androidx.compose.ui.platform.debugInspectorInfo
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* Invoked with the size of the modified Compose UI element when the element is first measured or
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ParentDataModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ParentDataModifier.kt
index c319547..9811bae 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ParentDataModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ParentDataModifier.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.layout
import androidx.compose.ui.Modifier
-import androidx.compose.ui.unit.Density
import androidx.compose.ui.internal.JvmDefaultWithCompatibility
+import androidx.compose.ui.unit.Density
/**
* A [Modifier] that provides data to the parent [Layout]. This can be read from within the
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Placeable.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Placeable.kt
index 99301bd..94893a6 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Placeable.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Placeable.kt
@@ -18,8 +18,8 @@
import androidx.compose.ui.graphics.GraphicsLayerScope
import androidx.compose.ui.node.LayoutNodeLayoutDelegate
-import androidx.compose.ui.node.NodeCoordinator
import androidx.compose.ui.node.LookaheadCapablePlaceable
+import androidx.compose.ui.node.NodeCoordinator
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalConsumer.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalConsumer.kt
index eea668b..cb2ad69 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalConsumer.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalConsumer.kt
@@ -19,10 +19,10 @@
import androidx.compose.runtime.Stable
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.platform.InspectorInfo
import androidx.compose.ui.platform.InspectorValueInfo
import androidx.compose.ui.platform.debugInspectorInfo
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* A Modifier that can be used to consume [ModifierLocal]s that were provided by other modifiers to
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalProvider.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalProvider.kt
index 7a38447..b689b69 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalProvider.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalProvider.kt
@@ -21,9 +21,9 @@
import androidx.compose.runtime.getValue
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.platform.InspectorValueInfo
import androidx.compose.ui.platform.debugInspectorInfo
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* A Modifier that can be used to provide [ModifierLocal]s that can be read by other modifiers to
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InfiniteAnimationPolicy.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InfiniteAnimationPolicy.kt
index b3fb83c..25b5cd5 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InfiniteAnimationPolicy.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InfiniteAnimationPolicy.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.platform
import androidx.compose.runtime.withFrameNanos
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.coroutineContext
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* Provides a policy that will be applied to animations that get their frame time from
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ShapeContainingUtil.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ShapeContainingUtil.kt
index 25b3abb..d52279c 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ShapeContainingUtil.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ShapeContainingUtil.kt
@@ -17,9 +17,9 @@
package androidx.compose.ui.platform
import androidx.compose.ui.geometry.CornerRadius
-import androidx.compose.ui.graphics.Outline
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.RoundRect
+import androidx.compose.ui.graphics.Outline
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.PathOperation
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ViewConfiguration.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ViewConfiguration.kt
index c7445f7..d74db18 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ViewConfiguration.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ViewConfiguration.kt
@@ -16,9 +16,9 @@
package androidx.compose.ui.platform
+import androidx.compose.ui.internal.JvmDefaultWithCompatibility
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import androidx.compose.ui.internal.JvmDefaultWithCompatibility
/**
* Contains methods to standard constants used in the UI for timeouts, sizes, and distances.
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Popup.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Popup.kt
index e1b79a2..e68401c 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Popup.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/window/Popup.kt
@@ -18,8 +18,8 @@
import androidx.compose.runtime.Immutable
import androidx.compose.ui.Alignment
-import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntOffset
+import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.height
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeDialog.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeDialog.desktop.kt
index a4816ed..373e218 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeDialog.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeDialog.desktop.kt
@@ -19,13 +19,13 @@
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.window.DialogWindowScope
-import org.jetbrains.skiko.GraphicsApi
import java.awt.Component
import java.awt.Window
import java.awt.event.MouseListener
import java.awt.event.MouseMotionListener
import java.awt.event.MouseWheelListener
import javax.swing.JDialog
+import org.jetbrains.skiko.GraphicsApi
/**
* ComposeDialog is a dialog for building UI using Compose for Desktop.
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeLayer.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeLayer.desktop.kt
index 59f4f89..a246312 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeLayer.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeLayer.desktop.kt
@@ -17,26 +17,22 @@
package androidx.compose.ui.awt
import androidx.compose.runtime.Composable
+import androidx.compose.ui.ComposeScene
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.input.pointer.PointerEventType
-import androidx.compose.ui.input.pointer.PointerType
-import androidx.compose.ui.platform.PlatformComponent
-import androidx.compose.ui.ComposeScene
+import androidx.compose.ui.input.key.KeyEvent as ComposeKeyEvent
import androidx.compose.ui.input.pointer.PointerButtons
+import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.PointerKeyboardModifiers
-import androidx.compose.ui.platform.DesktopPlatform
+import androidx.compose.ui.input.pointer.PointerType
import androidx.compose.ui.platform.AccessibilityControllerImpl
+import androidx.compose.ui.platform.DesktopPlatform
+import androidx.compose.ui.platform.PlatformComponent
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
import androidx.compose.ui.window.density
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.swing.Swing
-import org.jetbrains.skia.Canvas
-import org.jetbrains.skiko.SkiaLayer
-import org.jetbrains.skiko.SkikoView
-import java.awt.Cursor
import java.awt.Component
+import java.awt.Cursor
import java.awt.Dimension
import java.awt.Graphics
import java.awt.Point
@@ -54,7 +50,11 @@
import java.awt.im.InputMethodRequests
import javax.accessibility.Accessible
import javax.accessibility.AccessibleContext
-import androidx.compose.ui.input.key.KeyEvent as ComposeKeyEvent
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.swing.Swing
+import org.jetbrains.skia.Canvas
+import org.jetbrains.skiko.SkiaLayer
+import org.jetbrains.skiko.SkikoView
internal class ComposeLayer {
private var isDisposed = false
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposePanel.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposePanel.desktop.kt
index a9c1dbb..18a78ff 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposePanel.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposePanel.desktop.kt
@@ -17,13 +17,13 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
-import org.jetbrains.skiko.ClipComponent
-import org.jetbrains.skiko.GraphicsApi
import java.awt.Color
import java.awt.Component
import java.awt.Dimension
import javax.swing.JLayeredPane
import javax.swing.SwingUtilities.isEventDispatchThread
+import org.jetbrains.skiko.ClipComponent
+import org.jetbrains.skiko.GraphicsApi
/**
* ComposePanel is a panel for building UI using Compose for Desktop.
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindow.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindow.desktop.kt
index 235f530..95e8140 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindow.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindow.desktop.kt
@@ -20,13 +20,13 @@
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.window.FrameWindowScope
import androidx.compose.ui.window.WindowPlacement
-import org.jetbrains.skiko.GraphicsApi
import java.awt.Component
import java.awt.GraphicsConfiguration
import java.awt.event.MouseListener
import java.awt.event.MouseMotionListener
import java.awt.event.MouseWheelListener
import javax.swing.JFrame
+import org.jetbrains.skiko.GraphicsApi
/**
* ComposeWindow is a window for building UI using Compose for Desktop.
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindowDelegate.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindowDelegate.desktop.kt
index bb2dbb1..349923f 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindowDelegate.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeWindowDelegate.desktop.kt
@@ -21,11 +21,6 @@
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.window.LocalWindow
import androidx.compose.ui.window.UndecoratedWindowResizer
-import org.jetbrains.skiko.ClipComponent
-import org.jetbrains.skiko.GraphicsApi
-import org.jetbrains.skiko.OS
-import org.jetbrains.skiko.SkiaLayer
-import org.jetbrains.skiko.hostOs
import java.awt.Color
import java.awt.Component
import java.awt.Window
@@ -33,6 +28,11 @@
import java.awt.event.MouseMotionListener
import java.awt.event.MouseWheelListener
import javax.swing.JLayeredPane
+import org.jetbrains.skiko.ClipComponent
+import org.jetbrains.skiko.GraphicsApi
+import org.jetbrains.skiko.OS
+import org.jetbrains.skiko.SkiaLayer
+import org.jetbrains.skiko.hostOs
internal class ComposeWindowDelegate(
private val window: Window,
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/Key.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/Key.desktop.kt
index bc20dca..cfe17cd 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/Key.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/Key.desktop.kt
@@ -17,12 +17,12 @@
package androidx.compose.ui.input.key
import androidx.compose.ui.input.key.Key.Companion.Number
+import androidx.compose.ui.util.unpackInt1
import java.awt.event.KeyEvent
import java.awt.event.KeyEvent.KEY_LOCATION_LEFT
import java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD
import java.awt.event.KeyEvent.KEY_LOCATION_RIGHT
import java.awt.event.KeyEvent.KEY_LOCATION_STANDARD
-import androidx.compose.ui.util.unpackInt1
// TODO(demin): implement most of key codes
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/ComposeAccessible.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/ComposeAccessible.kt
index 53a47e7..f8aea9b 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/ComposeAccessible.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/ComposeAccessible.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
-import androidx.compose.ui.node.requireCoordinator
import androidx.compose.ui.node.Nodes
+import androidx.compose.ui.node.requireCoordinator
import androidx.compose.ui.semantics.AccessibilityAction
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.semantics.SemanticsActions
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.desktop.kt
index 1786f77..0faafcf 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/GlobalSnapshotManager.desktop.kt
@@ -18,13 +18,13 @@
import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.ui.platform.GlobalSnapshotManager.ensureStarted
+import java.util.concurrent.atomic.AtomicBoolean
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.consumeEach
import kotlinx.coroutines.launch
import kotlinx.coroutines.swing.Swing
-import java.util.concurrent.atomic.AtomicBoolean
/**
* Platform-specific mechanism for starting a monitor of global snapshot state writes
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/TestComposeWindow.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/TestComposeWindow.desktop.kt
index eea1038..bc88383 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/TestComposeWindow.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/TestComposeWindow.desktop.kt
@@ -32,18 +32,18 @@
import androidx.compose.ui.node.RootForTest
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.cancel
-import org.jetbrains.skia.Surface
-import org.jetbrains.skiko.FrameDispatcher
import java.awt.Component
import java.awt.event.MouseWheelEvent
import kotlin.coroutines.CoroutineContext
import kotlin.math.abs
import kotlin.math.roundToInt
import kotlin.math.sign
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.cancel
+import org.jetbrains.skia.Surface
+import org.jetbrains.skiko.FrameDispatcher
@PublishedApi
internal val EmptyDispatcher = object : CoroutineDispatcher() {
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopSvgResources.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopSvgResources.desktop.kt
index 1e33a0f..5413fa0 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopSvgResources.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopSvgResources.desktop.kt
@@ -27,6 +27,8 @@
import androidx.compose.ui.graphics.vector.DrawCache
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
+import java.io.InputStream
+import kotlin.math.ceil
import org.jetbrains.skia.Data
import org.jetbrains.skia.Rect
import org.jetbrains.skia.svg.SVGDOM
@@ -34,8 +36,6 @@
import org.jetbrains.skia.svg.SVGLengthUnit
import org.jetbrains.skia.svg.SVGPreserveAspectRatio
import org.jetbrains.skia.svg.SVGPreserveAspectRatioAlign
-import java.io.InputStream
-import kotlin.math.ceil
/**
* Synchronously load an SVG image from some [inputStream].
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopXmlVectorResources.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopXmlVectorResources.desktop.kt
index 9768f21..bfc4781 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopXmlVectorResources.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/DesktopXmlVectorResources.desktop.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.vector.parseVectorRoot
import androidx.compose.ui.unit.Density
-import org.xml.sax.InputSource
import javax.xml.parsers.DocumentBuilderFactory
+import org.xml.sax.InputSource
/**
* Synchronously load an xml vector image from some [inputSource].
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/ImageResources.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/ImageResources.desktop.kt
index 948938e..e862143 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/ImageResources.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/ImageResources.desktop.kt
@@ -18,8 +18,8 @@
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.toComposeImageBitmap
-import org.jetbrains.skia.Image
import java.io.InputStream
+import org.jetbrains.skia.Image
/**
* Load and decode [ImageBitmap] from the given [inputStream]. [inputStream] should contain encoded
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/PainterResources.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/PainterResources.desktop.kt
index 4890aed..410f0d6 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/PainterResources.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/PainterResources.desktop.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.res
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.remember
import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.painter.BitmapPainter
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.rememberVectorPainter
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopXmlVectorParser.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopXmlVectorParser.desktop.kt
index 9340c9e..c326802 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopXmlVectorParser.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopXmlVectorParser.desktop.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.res.vector
import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Brush
+import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.PathFillType
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.StrokeCap
@@ -36,9 +36,9 @@
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.res.vector.BuildContext.Group
import androidx.compose.ui.unit.Density
+import java.util.LinkedList
import org.w3c.dom.Element
import org.w3c.dom.Node
-import java.util.LinkedList
// Parsing logic is the same as in Android implementation
// (compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParser.kt)
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/Windows.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/Windows.desktop.kt
index c3e807c..a50f886 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/Windows.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/Windows.desktop.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.awt.ComposeWindow
import androidx.compose.ui.geometry.Size
-import androidx.compose.ui.graphics.toAwtImage
import androidx.compose.ui.graphics.painter.Painter
+import androidx.compose.ui.graphics.toAwtImage
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Application.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Application.desktop.kt
index b4bc684..80d3f69 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Application.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Application.desktop.kt
@@ -35,6 +35,7 @@
import androidx.compose.ui.configureSwingGlobalsForCompose
import androidx.compose.ui.platform.GlobalSnapshotManager
import androidx.compose.ui.platform.LocalDensity
+import java.awt.Window
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@@ -43,7 +44,6 @@
import kotlinx.coroutines.swing.Swing
import kotlinx.coroutines.withContext
import kotlinx.coroutines.yield
-import java.awt.Window
/**
* An entry point for the Compose application. See [awaitApplication] for more information.
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/AwtWindow.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/AwtWindow.desktop.kt
index d5d32eb..2b96713 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/AwtWindow.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/AwtWindow.desktop.kt
@@ -25,13 +25,13 @@
import androidx.compose.ui.node.Ref
import androidx.compose.ui.util.UpdateEffect
import androidx.compose.ui.util.makeDisplayable
+import java.awt.Window
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import kotlinx.coroutines.swing.Swing
-import java.awt.Window
/**
* Compose [Window] obtained from [create]. The [create] block will be called
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt
index 7934126..17abbcd 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt
@@ -31,8 +31,8 @@
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.onGloballyPositioned
-import androidx.compose.ui.platform.SkiaBasedOwner
import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.platform.SkiaBasedOwner
import androidx.compose.ui.platform.setContent
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpOffset
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LocalWindow.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LocalWindow.kt
index 3b8921b..4208152 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LocalWindow.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LocalWindow.kt
@@ -16,10 +16,10 @@
package androidx.compose.ui.window
+import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.awt.ComposeDialog
import androidx.compose.ui.awt.ComposePanel
import androidx.compose.ui.awt.ComposeWindow
-import androidx.compose.runtime.compositionLocalOf
import java.awt.Window
/**
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Tray.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Tray.desktop.kt
index 642f0e2..f0987df 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Tray.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Tray.desktop.kt
@@ -28,14 +28,14 @@
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.toAwtImage
import androidx.compose.ui.platform.DesktopPlatform
+import java.awt.PopupMenu
+import java.awt.SystemTray
+import java.awt.TrayIcon
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.receiveAsFlow
-import java.awt.PopupMenu
-import java.awt.SystemTray
-import java.awt.TrayIcon
// In fact, this size doesn't affect anything on Windows/Linux, because they request what they
// need, and not what we provide. It only affects macOs. This size will be scaled in asAwtImage to
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ComposeSceneTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ComposeSceneTest.kt
index fbc3334..485c67e 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ComposeSceneTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ComposeSceneTest.kt
@@ -61,21 +61,21 @@
import androidx.compose.ui.input.pointer.PointerKeyboardModifiers
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.Layout
-import androidx.compose.ui.test.InternalTestApi
import androidx.compose.ui.platform.renderingTest
+import androidx.compose.ui.test.InternalTestApi
import androidx.compose.ui.test.junit4.DesktopScreenshotTestRule
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onRoot
import androidx.compose.ui.test.performKeyPress
import androidx.compose.ui.unit.dp
import com.google.common.truth.Truth.assertThat
+import java.awt.event.KeyEvent
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import org.junit.Assert.assertFalse
+import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
-import java.awt.event.KeyEvent
-import org.junit.Ignore
@OptIn(InternalTestApi::class, ExperimentalComposeUiApi::class)
class ComposeSceneTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposePanelTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposePanelTest.kt
index 371a453..66ac55a 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposePanelTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposePanelTest.kt
@@ -24,14 +24,14 @@
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.density
import com.google.common.truth.Truth.assertThat
+import java.awt.Dimension
+import java.awt.GraphicsEnvironment
+import javax.swing.JFrame
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.swing.Swing
import org.junit.Assume
import org.junit.Test
-import java.awt.Dimension
-import java.awt.GraphicsEnvironment
-import javax.swing.JFrame
class ComposePanelTest {
@Test
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/key/KeyInputUtil.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/key/KeyInputUtil.kt
index ca8ba74..043b142 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/key/KeyInputUtil.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/key/KeyInputUtil.kt
@@ -17,11 +17,11 @@
package androidx.compose.ui.input.key
import java.awt.Component
+import java.awt.event.KeyEvent as KeyEventAwt
import java.awt.event.KeyEvent.KEY_PRESSED
import java.awt.event.KeyEvent.KEY_RELEASED
import java.awt.event.KeyEvent.KEY_TYPED
import java.awt.event.KeyEvent.VK_UNDEFINED
-import java.awt.event.KeyEvent as KeyEventAwt
private object DummyComponent : Component()
/**
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt
index c586bfe..a4c7cbb 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt
@@ -25,10 +25,10 @@
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.dp
import com.google.common.truth.Truth.assertThat
+import java.awt.Cursor
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.awt.Cursor
@RunWith(JUnit4::class)
class PointerIconTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/AccessibilityTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/AccessibilityTest.kt
index 712be2d..4ae3e53 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/AccessibilityTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/AccessibilityTest.kt
@@ -20,12 +20,12 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
+import javax.accessibility.AccessibleText
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import javax.accessibility.AccessibleText
@RunWith(JUnit4::class)
class AccessibilityTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopInputComponentTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopInputComponentTest.kt
index 9bc4693..2ffaeea 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopInputComponentTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopInputComponentTest.kt
@@ -23,14 +23,14 @@
import androidx.compose.ui.text.input.ImeOptions
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.input.TextInputService
+import java.awt.Component
+import java.awt.event.InputMethodEvent
+import java.text.AttributedString
import org.junit.Assert
import org.junit.Assume.assumeTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.awt.Component
-import java.awt.event.InputMethodEvent
-import java.text.AttributedString
private object DummyComponent : Component()
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcherTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcherTest.kt
index 55900fc..b784f0d 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcherTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcherTest.kt
@@ -16,6 +16,7 @@
package androidx.compose.ui.platform
+import kotlin.random.Random
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -26,7 +27,6 @@
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Test
-import kotlin.random.Random
@OptIn(ExperimentalCoroutinesApi::class, DelicateCoroutinesApi::class)
class FlushCoroutineDispatcherTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/RenderingTestScope.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/RenderingTestScope.kt
index dbc107b..81cc28a 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/RenderingTestScope.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/RenderingTestScope.kt
@@ -23,6 +23,7 @@
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
@@ -31,7 +32,6 @@
import org.jetbrains.skia.Canvas
import org.jetbrains.skia.Surface
import org.jetbrains.skiko.FrameDispatcher
-import kotlin.coroutines.CoroutineContext
internal fun renderingTest(
width: Int,
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/SkiaLayerTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/SkiaLayerTest.kt
index af4ba78..2556f82 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/SkiaLayerTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/SkiaLayerTest.kt
@@ -31,14 +31,14 @@
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.round
+import kotlin.math.PI
+import kotlin.math.cos
+import kotlin.math.roundToInt
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
-import kotlin.math.PI
-import kotlin.math.cos
-import kotlin.math.roundToInt
class SkiaLayerTest {
@get:Rule
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/ApplicationTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/ApplicationTest.kt
index 9a5f7c9..95cb554 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/ApplicationTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/ApplicationTest.kt
@@ -23,8 +23,8 @@
import androidx.compose.runtime.ExperimentalComposeApi
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MonotonicFrameClock
-import androidx.compose.runtime.monotonicFrameClock
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.monotonicFrameClock
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.ExperimentalComposeUiApi
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/MenuBarTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/MenuBarTest.kt
index e03ef3d..40d329b 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/MenuBarTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/MenuBarTest.kt
@@ -26,10 +26,10 @@
import androidx.compose.ui.readFirstPixel
import androidx.compose.ui.testImage
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import javax.swing.JCheckBoxMenuItem
import javax.swing.JRadioButtonMenuItem
import javax.swing.JSeparator
+import org.junit.Test
@OptIn(ExperimentalComposeUiApi::class)
class MenuBarTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
index d339947..427bda9 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
@@ -21,6 +21,7 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshots.Snapshot
+import java.awt.GraphicsEnvironment
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -33,7 +34,6 @@
import kotlinx.coroutines.withTimeout
import kotlinx.coroutines.yield
import org.junit.Assume.assumeFalse
-import java.awt.GraphicsEnvironment
import org.junit.Assume.assumeTrue
@OptIn(ExperimentalCoroutinesApi::class)
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/dialog/DialogTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/dialog/DialogTest.kt
index 7f1f30f..5009c3e 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/dialog/DialogTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/dialog/DialogTest.kt
@@ -48,11 +48,11 @@
import androidx.compose.ui.window.rememberDialogState
import androidx.compose.ui.window.runApplicationTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.awt.Dimension
import java.awt.event.KeyEvent
import java.awt.event.WindowAdapter
import java.awt.event.WindowEvent
+import org.junit.Test
@OptIn(ExperimentalComposeUiApi::class)
class DialogTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowInputEventTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowInputEventTest.kt
index 0e7f02c..b90df87 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowInputEventTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowInputEventTest.kt
@@ -49,11 +49,11 @@
import androidx.compose.ui.window.rememberWindowState
import androidx.compose.ui.window.runApplicationTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.awt.Toolkit
import java.awt.event.KeyEvent
import java.awt.event.MouseEvent
import java.awt.event.MouseWheelEvent
+import org.junit.Test
@OptIn(ExperimentalComposeUiApi::class)
class WindowInputEventTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowParameterTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowParameterTest.kt
index 1c60660..5e4cf77 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowParameterTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowParameterTest.kt
@@ -34,8 +34,8 @@
import androidx.compose.ui.window.launchApplication
import androidx.compose.ui.window.runApplicationTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.awt.event.WindowEvent
+import org.junit.Test
@OptIn(ExperimentalComposeUiApi::class)
class WindowParameterTest {
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowStateTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowStateTest.kt
index ed7b79d..e8279f5 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowStateTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowStateTest.kt
@@ -40,10 +40,6 @@
import androidx.compose.ui.window.rememberWindowState
import androidx.compose.ui.window.runApplicationTest
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.channels.Channel
-import kotlinx.coroutines.channels.consumeEach
-import org.junit.Assume.assumeTrue
-import org.junit.Test
import java.awt.Dimension
import java.awt.Point
import java.awt.Rectangle
@@ -52,6 +48,10 @@
import javax.swing.JFrame
import kotlin.math.abs
import kotlin.math.max
+import kotlinx.coroutines.channels.Channel
+import kotlinx.coroutines.channels.consumeEach
+import org.junit.Assume.assumeTrue
+import org.junit.Test
// Note that on Linux some tests are flaky. Swing event listener's on Linux has non-deterministic
// nature. To avoid flaky'ness we use delays
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/ComposeScene.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/ComposeScene.skiko.kt
index 6f092a6..2f16c79 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/ComposeScene.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/ComposeScene.skiko.kt
@@ -27,34 +27,34 @@
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.runtime.withFrameNanos
import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.input.pointer.PointerButtons
import androidx.compose.ui.input.key.KeyEvent as ComposeKeyEvent
+import androidx.compose.ui.input.pointer.PointerButtons
import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.PointerInputEvent
import androidx.compose.ui.input.pointer.PointerKeyboardModifiers
import androidx.compose.ui.input.pointer.PointerType
import androidx.compose.ui.node.LayoutNode
+import androidx.compose.ui.node.RootForTest
import androidx.compose.ui.platform.AccessibilityController
-import androidx.compose.ui.platform.PlatformComponent
-import androidx.compose.ui.platform.SkiaBasedOwner
-import androidx.compose.ui.platform.PlatformInput
import androidx.compose.ui.platform.DummyPlatformComponent
import androidx.compose.ui.platform.FlushCoroutineDispatcher
import androidx.compose.ui.platform.GlobalSnapshotManager
+import androidx.compose.ui.platform.PlatformComponent
+import androidx.compose.ui.platform.PlatformInput
+import androidx.compose.ui.platform.SkiaBasedOwner
import androidx.compose.ui.platform.setContent
-import androidx.compose.ui.node.RootForTest
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
+import kotlin.coroutines.CoroutineContext
+import kotlin.jvm.Volatile
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import org.jetbrains.skia.Canvas
-import kotlin.coroutines.CoroutineContext
-import kotlin.jvm.Volatile
internal val LocalComposeScene = staticCompositionLocalOf<ComposeScene> {
error("CompositionLocal LocalComposeScene not provided")
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultViewConfiguration.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultViewConfiguration.skiko.kt
index d581a1f..04067d8 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultViewConfiguration.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultViewConfiguration.skiko.kt
@@ -16,8 +16,8 @@
package androidx.compose.ui.platform
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.Density
+import androidx.compose.ui.unit.dp
class DefaultViewConfiguration(private val density: Density) : ViewConfiguration {
override val longPressTimeoutMillis: Long
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcher.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcher.skiko.kt
index 1caeef5..134f900 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcher.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/FlushCoroutineDispatcher.skiko.kt
@@ -16,13 +16,13 @@
package androidx.compose.ui.platform
+import kotlin.coroutines.CoroutineContext
+import kotlin.jvm.Volatile
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.Runnable
import kotlinx.coroutines.launch
-import kotlin.coroutines.CoroutineContext
-import kotlin.jvm.Volatile
/**
* Dispatcher with the ability to immediately perform (flush) all pending tasks.
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/OutlineCache.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/OutlineCache.skiko.kt
index 9eca11a..1c339d4 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/OutlineCache.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/OutlineCache.skiko.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.graphics.Outline
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.IntSize
+import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.toSize
/**
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
index 9aab9d9..5addad3 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
@@ -39,9 +39,9 @@
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Canvas
import androidx.compose.ui.graphics.asComposeCanvas
+import androidx.compose.ui.input.InputMode.Companion.Keyboard
import androidx.compose.ui.input.InputModeManager
import androidx.compose.ui.input.InputModeManagerImpl
-import androidx.compose.ui.input.InputMode.Companion.Keyboard
import androidx.compose.ui.input.key.Key.Companion.Back
import androidx.compose.ui.input.key.Key.Companion.DirectionCenter
import androidx.compose.ui.input.key.Key.Companion.Tab
@@ -57,6 +57,7 @@
import androidx.compose.ui.input.pointer.PointerIconService
import androidx.compose.ui.input.pointer.PointerInputEvent
import androidx.compose.ui.input.pointer.PointerInputEventProcessor
+import androidx.compose.ui.input.pointer.PointerKeyboardModifiers
import androidx.compose.ui.input.pointer.PositionCalculator
import androidx.compose.ui.input.pointer.ProcessResult
import androidx.compose.ui.input.pointer.TestPointerInputEventData
@@ -72,19 +73,18 @@
import androidx.compose.ui.semantics.EmptySemanticsElement
import androidx.compose.ui.semantics.SemanticsOwner
import androidx.compose.ui.text.ExperimentalTextApi
-import androidx.compose.ui.text.input.PlatformTextInputPluginRegistry
-import androidx.compose.ui.text.input.TextInputService
+import androidx.compose.ui.text.InternalTextApi
import androidx.compose.ui.text.font.createFontFamilyResolver
+import androidx.compose.ui.text.input.PlatformTextInputPluginRegistry
+import androidx.compose.ui.text.input.PlatformTextInputPluginRegistryImpl
+import androidx.compose.ui.text.input.TextInputService
import androidx.compose.ui.text.platform.FontLoader
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntRect
+import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.input.pointer.PointerKeyboardModifiers
-import androidx.compose.ui.text.InternalTextApi
-import androidx.compose.ui.text.input.PlatformTextInputPluginRegistryImpl
import kotlin.coroutines.CoroutineContext
private typealias Command = () -> Unit
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaLayer.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaLayer.skiko.kt
index 4091d4a..e7d9ae4 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaLayer.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaLayer.skiko.kt
@@ -33,9 +33,9 @@
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.RenderEffect
import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.graphics.SkiaBackedCanvas
import androidx.compose.ui.graphics.TransformOrigin
import androidx.compose.ui.graphics.asComposeCanvas
-import androidx.compose.ui.graphics.SkiaBackedCanvas
import androidx.compose.ui.graphics.asSkiaPath
import androidx.compose.ui.graphics.nativeCanvas
import androidx.compose.ui.graphics.toArgb
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/ComposedModifierTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/ComposedModifierTest.kt
index 47c43e5..444cf73 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/ComposedModifierTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/ComposedModifierTest.kt
@@ -20,12 +20,12 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composition
import androidx.compose.runtime.InternalComposeApi
-import androidx.compose.runtime.Recomposer
+import androidx.compose.runtime.MonotonicFrameClock
import androidx.compose.runtime.RecomposeScope
+import androidx.compose.runtime.Recomposer
+import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.currentComposer
import androidx.compose.runtime.currentRecomposeScope
-import androidx.compose.runtime.MonotonicFrameClock
-import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.remember
import androidx.compose.runtime.withRunningRecomposer
import kotlinx.coroutines.channels.Channel
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackTest.kt
index 60064cf..9669e89 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackTest.kt
@@ -18,13 +18,13 @@
import android.view.HapticFeedbackConstants
import android.view.View
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
import org.mockito.kotlin.mock
import org.mockito.kotlin.spy
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class HapticFeedbackTest {
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionInactiveTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionInactiveTest.kt
index fa9d451..05a700a 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionInactiveTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionInactiveTest.kt
@@ -21,11 +21,11 @@
import androidx.compose.ui.text.input.RecordingInputConnection
import androidx.compose.ui.text.input.TextFieldValue
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.mock
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+import org.mockito.kotlin.mock
@RunWith(JUnit4::class)
class RecordingInputConnectionInactiveTest {
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ConstraintsTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ConstraintsTest.kt
index 820b936..132d3dd6 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ConstraintsTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ConstraintsTest.kt
@@ -19,8 +19,8 @@
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.constrain
-import androidx.compose.ui.unit.offset
import androidx.compose.ui.unit.isSatisfiedBy
+import androidx.compose.ui.unit.offset
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/DelegatingNodeTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/DelegatingNodeTest.kt
index 698d042..793d11e 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/DelegatingNodeTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/DelegatingNodeTest.kt
@@ -23,12 +23,11 @@
import androidx.compose.ui.layout.MeasureScope
import androidx.compose.ui.semantics.SemanticsPropertyReceiver
import androidx.compose.ui.unit.Constraints
+import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import com.google.common.truth.Truth.assertThat
-
@RunWith(JUnit4::class)
class DelegatingNodeTest {
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/HitTestResultTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/HitTestResultTest.kt
index 665bb01..f23209c 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/HitTestResultTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/HitTestResultTest.kt
@@ -17,12 +17,11 @@
package androidx.compose.ui.node
import androidx.compose.ui.Modifier
+import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import com.google.common.truth.Truth.assertThat
-
@RunWith(JUnit4::class)
class HitTestResultTest {
@Test
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/ClipboardManagerTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/ClipboardManagerTest.kt
index 48c769f..a9048bc 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/ClipboardManagerTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/ClipboardManagerTest.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.platform
import androidx.compose.ui.text.AnnotatedString
-import org.junit.Test
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
class ClipboardManagerTest {
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/text/TextActionModeCallbackTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/text/TextActionModeCallbackTest.kt
index cdfda51..9a2a069 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/text/TextActionModeCallbackTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/text/TextActionModeCallbackTest.kt
@@ -31,8 +31,8 @@
import androidx.compose.ui.platform.actionmodecallback.MenuItemOption
import androidx.compose.ui.platform.actionmodecallback.TextActionModeCallback
import androidx.test.filters.SdkSuppress
-import org.junit.Test
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.N)
class TextActionModeCallbackTest {
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/window/PopupPositionProviderTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/window/PopupPositionProviderTest.kt
index 5a0aec0..cb80640 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/window/PopupPositionProviderTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/window/PopupPositionProviderTest.kt
@@ -17,8 +17,8 @@
package androidx.compose.ui.window
import androidx.compose.ui.Alignment
-import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntOffset
+import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import com.google.common.truth.Truth.assertThat
diff --git a/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/ListenableFuture.kt b/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/ListenableFuture.kt
index 8bf37d1..cf5f0a4 100644
--- a/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/ListenableFuture.kt
+++ b/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/ListenableFuture.kt
@@ -18,11 +18,11 @@
import androidx.concurrent.futures.AbstractResolvableFuture.getUninterruptibly
import com.google.common.util.concurrent.ListenableFuture
-import kotlinx.coroutines.CancellableContinuation
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.ExecutionException
import java.util.concurrent.Future
import kotlin.coroutines.resumeWithException
+import kotlinx.coroutines.CancellableContinuation
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Awaits completion of `this` [ListenableFuture] without blocking a thread.
diff --git a/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/ListenableFutureTest.kt b/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/ListenableFutureTest.kt
index 6b3366e..3385556 100644
--- a/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/ListenableFutureTest.kt
+++ b/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/ListenableFutureTest.kt
@@ -18,6 +18,9 @@
package androidx.concurrent.futures
+import java.util.concurrent.atomic.AtomicBoolean
+import java.util.concurrent.atomic.AtomicInteger
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.DelicateCoroutinesApi
@@ -27,15 +30,12 @@
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.yield
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.instanceOf
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.concurrent.atomic.AtomicBoolean
-import java.util.concurrent.atomic.AtomicInteger
-import kotlin.test.assertFailsWith
@RunWith(JUnit4::class)
@OptIn(DelicateCoroutinesApi::class)
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/MotionLayoutActivity.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/MotionLayoutActivity.kt
index 4e015c9..d104977 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/MotionLayoutActivity.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/MotionLayoutActivity.kt
@@ -22,9 +22,6 @@
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.newmessage.NewMotionMessagePreview
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.newmessage.NewMotionMessagePreviewWithDsl
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.toolbar.MotionCollapseToolbarPreview
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.runtime.Recomposer
@@ -33,6 +30,9 @@
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.testTagsAsResourceId
import androidx.constraintlayout.compose.integration.macrobenchmark.target.graphs.DynamicGraphsPreview
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.newmessage.NewMotionMessagePreview
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.newmessage.NewMotionMessagePreviewWithDsl
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.toolbar.MotionCollapseToolbarPreview
class MotionLayoutActivity : ComponentActivity() {
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/CardSample.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/CardSample.kt
index 30960cf..a1c4b31 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/CardSample.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/CardSample.kt
@@ -28,10 +28,6 @@
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.LoremIpsum
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.newHourMinuteTimeStamp
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.randomAvatarId
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.randomFullName
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -45,6 +41,10 @@
import androidx.constraintlayout.compose.ConstraintLayout
import androidx.constraintlayout.compose.ConstraintSet
import androidx.constraintlayout.compose.Dimension
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.LoremIpsum
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.newHourMinuteTimeStamp
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.randomAvatarId
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.sampledata.randomFullName
@Preview
@Composable
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
index 75c0dc8..95b79af 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
@@ -29,7 +29,6 @@
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.components.TestableButton
import androidx.compose.material.Button
import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material.Icon
@@ -69,6 +68,7 @@
import androidx.constraintlayout.compose.MotionLayoutScope
import androidx.constraintlayout.compose.MotionScene
import androidx.constraintlayout.compose.Visibility
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.components.TestableButton
// Copied from ComposeMail project
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/toolbar/CollapsibleToolbar.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/toolbar/CollapsibleToolbar.kt
index 3fe6074..846fd83 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/toolbar/CollapsibleToolbar.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/toolbar/CollapsibleToolbar.kt
@@ -27,8 +27,6 @@
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.components.CardSample
-import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.components.OutlinedSearchBar
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -55,6 +53,8 @@
import androidx.constraintlayout.compose.Dimension
import androidx.constraintlayout.compose.ExperimentalMotionApi
import androidx.constraintlayout.compose.MotionLayout
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.components.CardSample
+import androidx.constraintlayout.compose.integration.macrobenchmark.target.common.components.OutlinedSearchBar
import kotlin.math.absoluteValue
@Preview
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionParserTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionParserTest.kt
index bbb33db..b674c98 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionParserTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionParserTest.kt
@@ -31,12 +31,12 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import kotlin.test.assertFailsWith
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.test.assertFailsWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/core/core-i18n/src/androidTest/java/androidx/core/i18n/CheckDeviceSettingsTest.kt b/core/core-i18n/src/androidTest/java/androidx/core/i18n/CheckDeviceSettingsTest.kt
index 877b8ca..a65431d 100644
--- a/core/core-i18n/src/androidTest/java/androidx/core/i18n/CheckDeviceSettingsTest.kt
+++ b/core/core-i18n/src/androidTest/java/androidx/core/i18n/CheckDeviceSettingsTest.kt
@@ -22,10 +22,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
+import java.util.Locale
import org.junit.Assert
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.Locale
@RunWith(AndroidJUnit4::class)
class CheckDeviceSettingsTest {
diff --git a/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatJdkStylesTest.kt b/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatJdkStylesTest.kt
index 4f0a3ea..dae2fa6 100644
--- a/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatJdkStylesTest.kt
+++ b/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatJdkStylesTest.kt
@@ -19,13 +19,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
-import org.junit.Assert.assertEquals
-import org.junit.Test
-import org.junit.runner.RunWith
import java.text.DateFormat
import java.util.Calendar
import java.util.GregorianCalendar
import java.util.Locale
+import org.junit.Assert.assertEquals
+import org.junit.Test
+import org.junit.runner.RunWith
/**
* Instrumented test, which will execute on an Android device.
diff --git a/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterTest.kt b/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterTest.kt
index 9534b9f..94ff57d 100644
--- a/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterTest.kt
+++ b/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterTest.kt
@@ -19,25 +19,25 @@
import android.annotation.SuppressLint
import android.os.Build
import android.util.Log
+import androidx.core.i18n.DateTimeFormatterSkeletonOptions as SkeletonOptions
import androidx.core.os.BuildCompat
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
-import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Before
-import org.junit.BeforeClass
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.Calendar
import java.util.Date
import java.util.GregorianCalendar
import java.util.Locale
import java.util.TimeZone
import kotlin.test.assertFailsWith
-import androidx.core.i18n.DateTimeFormatterSkeletonOptions as SkeletonOptions
+import org.junit.After
+import org.junit.Assert.assertEquals
+import org.junit.Before
+import org.junit.BeforeClass
+import org.junit.Test
+import org.junit.runner.RunWith
/** Must execute on an Android device. */
@RunWith(AndroidJUnit4::class)
diff --git a/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatterCommonOptions.kt b/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatterCommonOptions.kt
index 4681fba..e5981a7 100644
--- a/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatterCommonOptions.kt
+++ b/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatterCommonOptions.kt
@@ -17,11 +17,11 @@
package androidx.core.i18n
import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Day
-import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Month
-import androidx.core.i18n.DateTimeFormatterSkeletonOptions.WeekDay
import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Hour
import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Minute
+import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Month
import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Second
+import androidx.core.i18n.DateTimeFormatterSkeletonOptions.WeekDay
import androidx.core.i18n.DateTimeFormatterSkeletonOptions.Year
/** Used to support common styles, similar to the ones defined in Closure / Material.
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/content/ContentValuesTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/content/ContentValuesTest.kt
index a02e0f7..36c9173 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/content/ContentValuesTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/content/ContentValuesTest.kt
@@ -18,11 +18,11 @@
import androidx.test.filters.SmallTest
import androidx.testutils.assertThrows
+import java.util.concurrent.atomic.AtomicInteger
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Test
-import java.util.concurrent.atomic.AtomicInteger
@SmallTest
class ContentValuesTest {
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/content/ContextTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/content/ContextTest.kt
index d733203..46c852a 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/content/ContextTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/content/ContextTest.kt
@@ -17,8 +17,8 @@
package androidx.core.content
import android.content.ContextWrapper
-import androidx.core.ktx.test.R
import androidx.core.getAttributeSet
+import androidx.core.ktx.test.R
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/content/res/TypedArrayTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/content/res/TypedArrayTest.kt
index fee7dd4..2c9a791 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/content/res/TypedArrayTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/content/res/TypedArrayTest.kt
@@ -18,9 +18,9 @@
import android.graphics.Color
import androidx.core.getAttributeSet
+import androidx.core.ktx.test.R
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.SdkSuppress
-import androidx.core.ktx.test.R
import androidx.test.filters.SmallTest
import androidx.testutils.assertThrows
import org.junit.Assert.assertEquals
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/graphics/ImageDecoderTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/graphics/ImageDecoderTest.kt
index 34bdeec..5e0afa0 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/graphics/ImageDecoderTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/graphics/ImageDecoderTest.kt
@@ -20,11 +20,11 @@
import android.graphics.ImageDecoder
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import java.io.ByteArrayOutputStream
+import java.nio.ByteBuffer
import org.junit.Assert.assertEquals
import org.junit.BeforeClass
import org.junit.Test
-import java.io.ByteArrayOutputStream
-import java.nio.ByteBuffer
@SdkSuppress(minSdkVersion = 28)
@SmallTest
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/graphics/drawable/IconTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/graphics/drawable/IconTest.kt
index d124360..8392569 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/graphics/drawable/IconTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/graphics/drawable/IconTest.kt
@@ -26,9 +26,9 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import java.io.File
import org.junit.Assert.assertEquals
import org.junit.Test
-import java.io.File
@SdkSuppress(minSdkVersion = 26)
@SmallTest
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/net/UriTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/net/UriTest.kt
index 600318f..129cd08 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/net/UriTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/net/UriTest.kt
@@ -19,9 +19,9 @@
import android.net.Uri
import androidx.test.filters.SmallTest
import androidx.testutils.assertThrows
+import java.io.File
import org.junit.Assert.assertEquals
import org.junit.Test
-import java.io.File
@SmallTest
class UriTest {
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/os/BundleTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/os/BundleTest.kt
index c312bda..a1af056 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/os/BundleTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/os/BundleTest.kt
@@ -29,12 +29,12 @@
import androidx.test.filters.SmallTest
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.atomic.AtomicInteger
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Assert.assertSame
import org.junit.Test
-import java.util.concurrent.atomic.AtomicInteger
@SmallTest
class BundleTest {
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/os/HandlerTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/os/HandlerTest.kt
index e8cc7e2..f167abd 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/os/HandlerTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/os/HandlerTest.kt
@@ -25,16 +25,16 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.TimeUnit.MILLISECONDS
+import java.util.concurrent.TimeUnit.SECONDS
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.TimeUnit.MILLISECONDS
-import java.util.concurrent.TimeUnit.SECONDS
@SmallTest
@SdkSuppress(minSdkVersion = 26)
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/text/LocaleTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/text/LocaleTest.kt
index 1a2f5ed..73cd538 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/text/LocaleTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/text/LocaleTest.kt
@@ -19,9 +19,9 @@
import android.view.View
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import java.util.Locale
import org.junit.Assert.assertEquals
import org.junit.Test
-import java.util.Locale
@SdkSuppress(minSdkVersion = 21)
@SmallTest
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/transition/TransitionTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/transition/TransitionTest.kt
index e2ec8f0..4abd56a 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/transition/TransitionTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/transition/TransitionTest.kt
@@ -27,13 +27,13 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.atomic.AtomicBoolean
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.atomic.AtomicBoolean
@SdkSuppress(minSdkVersion = 19)
@MediumTest
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/util/AtomicFileTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/util/AtomicFileTest.kt
index e2586fd..9101f82 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/util/AtomicFileTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/util/AtomicFileTest.kt
@@ -20,13 +20,13 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.testutils.assertThrows
+import java.io.IOException
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.IOException
@SdkSuppress(minSdkVersion = 17)
@SmallTest
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/util/PairTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/util/PairTest.kt
index 4be680d..dbc1686 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/util/PairTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/util/PairTest.kt
@@ -16,12 +16,12 @@
package androidx.core.util
+import android.util.Pair as AndroidPair
import androidx.test.filters.SmallTest
+import kotlin.Pair as KotlinPair
import org.junit.Assert.assertEquals
import org.junit.Assert.assertSame
import org.junit.Test
-import android.util.Pair as AndroidPair
-import kotlin.Pair as KotlinPair
@SmallTest
class PairTest {
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/widget/TextViewTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/widget/TextViewTest.kt
index f20dbb4..b172a5d 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/widget/TextViewTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/widget/TextViewTest.kt
@@ -21,11 +21,11 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import java.util.concurrent.atomic.AtomicBoolean
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.atomic.AtomicBoolean
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/core/core-remoteviews/src/androidTest/java/androidx/core/widget/AppWidgetManagerDeviceTest.kt b/core/core-remoteviews/src/androidTest/java/androidx/core/widget/AppWidgetManagerDeviceTest.kt
index eaba22c..053b013 100644
--- a/core/core-remoteviews/src/androidTest/java/androidx/core/widget/AppWidgetManagerDeviceTest.kt
+++ b/core/core-remoteviews/src/androidTest/java/androidx/core/widget/AppWidgetManagerDeviceTest.kt
@@ -43,13 +43,13 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.test.fail
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.test.fail
@SdkSuppress(minSdkVersion = 29)
@MediumTest
diff --git a/core/core-remoteviews/src/androidTest/java/androidx/core/widget/RemoteViewsCompatTest.kt b/core/core-remoteviews/src/androidTest/java/androidx/core/widget/RemoteViewsCompatTest.kt
index 9282469..c5f9f09 100644
--- a/core/core-remoteviews/src/androidTest/java/androidx/core/widget/RemoteViewsCompatTest.kt
+++ b/core/core-remoteviews/src/androidTest/java/androidx/core/widget/RemoteViewsCompatTest.kt
@@ -42,15 +42,15 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.test.assertFailsWith
+import kotlin.test.fail
import org.junit.After
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.test.assertFailsWith
-import kotlin.test.fail
@SdkSuppress(minSdkVersion = 29)
@MediumTest
diff --git a/core/core-remoteviews/src/test/java/androidx/core/widget/AppWidgetManagerCompatTest.kt b/core/core-remoteviews/src/test/java/androidx/core/widget/AppWidgetManagerCompatTest.kt
index 9b160b0..dd00746 100644
--- a/core/core-remoteviews/src/test/java/androidx/core/widget/AppWidgetManagerCompatTest.kt
+++ b/core/core-remoteviews/src/test/java/androidx/core/widget/AppWidgetManagerCompatTest.kt
@@ -37,6 +37,7 @@
import androidx.core.util.component2
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertFailsWith
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
@@ -44,7 +45,6 @@
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
import org.robolectric.util.ReflectionHelpers
-import kotlin.test.assertFailsWith
@RunWith(RobolectricTestRunner::class)
@DoNotInstrument
diff --git a/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt b/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt
index 181b000..0a38a01 100644
--- a/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt
+++ b/core/core-remoteviews/src/test/java/androidx/core/widget/RemoteViewsTest.kt
@@ -28,7 +28,6 @@
import android.widget.RemoteViews
import android.widget.TextView
import androidx.annotation.RequiresApi
-import androidx.test.core.app.ApplicationProvider
import androidx.core.remoteviews.test.R
import androidx.core.widget.RemoteViewsCompat.setLinearLayoutWeightSum
import androidx.core.widget.RemoteViewsCompat.setTextViewError
@@ -36,16 +35,17 @@
import androidx.core.widget.RemoteViewsCompat.setTextViewMaxLines
import androidx.core.widget.RemoteViewsCompat.setViewBackgroundColorResource
import androidx.core.widget.RemoteViewsCompat.setViewEnabled
+import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.Locale
+import kotlin.test.assertIs
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
-import java.util.Locale
-import kotlin.test.assertIs
@RunWith(RobolectricTestRunner::class)
@DoNotInstrument
diff --git a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestController.kt b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestController.kt
index 27d75f7..4c96776 100644
--- a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestController.kt
+++ b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestController.kt
@@ -23,12 +23,12 @@
import android.util.TypedValue
import android.view.View
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.splashscreen.R as SR
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.splashscreen.SplashScreenViewProvider
+import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import java.util.concurrent.CountDownLatch
import java.util.concurrent.atomic.AtomicBoolean
-import androidx.core.splashscreen.R as SR
-import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
/**
* If true, sets an [androidx.core.splashscreen.SplashScreen.OnExitAnimationListener] on the
diff --git a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestUtils.kt b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestUtils.kt
index ab7c012..490eea2 100644
--- a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestUtils.kt
+++ b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTestUtils.kt
@@ -26,10 +26,10 @@
import androidx.test.uiautomator.By
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.Until
-import org.hamcrest.core.IsNull
-import org.hamcrest.MatcherAssert.assertThat
-import org.junit.Assert
import kotlin.reflect.KClass
+import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.core.IsNull
+import org.junit.Assert
private const val SPLASH_SCREEN_STYLE_ICON = 1
private const val KEY_SPLASH_SCREEN_STYLE: String = "android.activity.splashScreenStyle"
diff --git a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashscreenParametrizedTest.kt b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashscreenParametrizedTest.kt
index e84532f..b5df1b0 100644
--- a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashscreenParametrizedTest.kt
+++ b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashscreenParametrizedTest.kt
@@ -28,6 +28,12 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.screenshot.matchers.MSSIMMatcher
import androidx.test.uiautomator.UiDevice
+import java.io.File
+import java.io.FileOutputStream
+import java.io.IOException
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.reflect.KClass
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNull
@@ -38,12 +44,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.io.File
-import java.io.FileOutputStream
-import java.io.IOException
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.reflect.KClass
@LargeTest
@RunWith(Parameterized::class)
diff --git a/core/core/api/current.txt b/core/core/api/current.txt
index c5f7d8c..1e6c816 100644
--- a/core/core/api/current.txt
+++ b/core/core/api/current.txt
@@ -1078,7 +1078,7 @@
method @ColorInt public static int getColor(android.content.Context, @ColorRes int);
method public static android.content.res.ColorStateList? getColorStateList(android.content.Context, @ColorRes int);
method public static java.io.File? getDataDir(android.content.Context);
- method public static android.view.Display getDisplay(@DisplayContext android.content.Context);
+ method public static android.view.Display getDisplayOrDefault(@DisplayContext android.content.Context);
method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
method public static java.io.File![] getExternalCacheDirs(android.content.Context);
method public static java.io.File![] getExternalFilesDirs(android.content.Context, String?);
@@ -2400,6 +2400,31 @@
field public static final int START = 8388611; // 0x800003
}
+ public final class HapticFeedbackConstantsCompat {
+ field public static final int CLOCK_TICK = 4; // 0x4
+ field public static final int CONFIRM = 16; // 0x10
+ field public static final int CONTEXT_CLICK = 6; // 0x6
+ field public static final int DRAG_START = 25; // 0x19
+ field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1
+ field public static final int GESTURE_END = 13; // 0xd
+ field public static final int GESTURE_START = 12; // 0xc
+ field public static final int GESTURE_THRESHOLD_ACTIVATE = 23; // 0x17
+ field public static final int GESTURE_THRESHOLD_DEACTIVATE = 24; // 0x18
+ field public static final int KEYBOARD_PRESS = 3; // 0x3
+ field public static final int KEYBOARD_RELEASE = 7; // 0x7
+ field public static final int KEYBOARD_TAP = 3; // 0x3
+ field public static final int LONG_PRESS = 0; // 0x0
+ field public static final int NO_HAPTICS = -1; // 0xffffffff
+ field public static final int REJECT = 17; // 0x11
+ field public static final int SEGMENT_FREQUENT_TICK = 27; // 0x1b
+ field public static final int SEGMENT_TICK = 26; // 0x1a
+ field public static final int TEXT_HANDLE_MOVE = 9; // 0x9
+ field public static final int TOGGLE_OFF = 22; // 0x16
+ field public static final int TOGGLE_ON = 21; // 0x15
+ field public static final int VIRTUAL_KEY = 1; // 0x1
+ field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8
+ }
+
public final class InputDeviceCompat {
field public static final int SOURCE_ANY = -256; // 0xffffff00
field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
@@ -2847,6 +2872,8 @@
method public static void onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
method @Deprecated public static void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
method public static boolean performAccessibilityAction(android.view.View, int, android.os.Bundle?);
+ method public static boolean performHapticFeedback(android.view.View, int);
+ method public static boolean performHapticFeedback(android.view.View, int, int);
method public static androidx.core.view.ContentInfoCompat? performReceiveContent(android.view.View, androidx.core.view.ContentInfoCompat);
method public static void postInvalidateOnAnimation(android.view.View);
method public static void postInvalidateOnAnimation(android.view.View, int, int, int, int);
diff --git a/core/core/api/public_plus_experimental_current.txt b/core/core/api/public_plus_experimental_current.txt
index a9d425f..2a81007 100644
--- a/core/core/api/public_plus_experimental_current.txt
+++ b/core/core/api/public_plus_experimental_current.txt
@@ -1078,7 +1078,7 @@
method @ColorInt public static int getColor(android.content.Context, @ColorRes int);
method public static android.content.res.ColorStateList? getColorStateList(android.content.Context, @ColorRes int);
method public static java.io.File? getDataDir(android.content.Context);
- method public static android.view.Display getDisplay(@DisplayContext android.content.Context);
+ method public static android.view.Display getDisplayOrDefault(@DisplayContext android.content.Context);
method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
method public static java.io.File![] getExternalCacheDirs(android.content.Context);
method public static java.io.File![] getExternalFilesDirs(android.content.Context, String?);
@@ -2407,6 +2407,31 @@
field public static final int START = 8388611; // 0x800003
}
+ public final class HapticFeedbackConstantsCompat {
+ field public static final int CLOCK_TICK = 4; // 0x4
+ field public static final int CONFIRM = 16; // 0x10
+ field public static final int CONTEXT_CLICK = 6; // 0x6
+ field public static final int DRAG_START = 25; // 0x19
+ field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1
+ field public static final int GESTURE_END = 13; // 0xd
+ field public static final int GESTURE_START = 12; // 0xc
+ field public static final int GESTURE_THRESHOLD_ACTIVATE = 23; // 0x17
+ field public static final int GESTURE_THRESHOLD_DEACTIVATE = 24; // 0x18
+ field public static final int KEYBOARD_PRESS = 3; // 0x3
+ field public static final int KEYBOARD_RELEASE = 7; // 0x7
+ field public static final int KEYBOARD_TAP = 3; // 0x3
+ field public static final int LONG_PRESS = 0; // 0x0
+ field public static final int NO_HAPTICS = -1; // 0xffffffff
+ field public static final int REJECT = 17; // 0x11
+ field public static final int SEGMENT_FREQUENT_TICK = 27; // 0x1b
+ field public static final int SEGMENT_TICK = 26; // 0x1a
+ field public static final int TEXT_HANDLE_MOVE = 9; // 0x9
+ field public static final int TOGGLE_OFF = 22; // 0x16
+ field public static final int TOGGLE_ON = 21; // 0x15
+ field public static final int VIRTUAL_KEY = 1; // 0x1
+ field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8
+ }
+
public final class InputDeviceCompat {
field public static final int SOURCE_ANY = -256; // 0xffffff00
field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
@@ -2854,6 +2879,8 @@
method public static void onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
method @Deprecated public static void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
method public static boolean performAccessibilityAction(android.view.View, int, android.os.Bundle?);
+ method public static boolean performHapticFeedback(android.view.View, int);
+ method public static boolean performHapticFeedback(android.view.View, int, int);
method public static androidx.core.view.ContentInfoCompat? performReceiveContent(android.view.View, androidx.core.view.ContentInfoCompat);
method public static void postInvalidateOnAnimation(android.view.View);
method public static void postInvalidateOnAnimation(android.view.View, int, int, int, int);
diff --git a/core/core/api/restricted_current.txt b/core/core/api/restricted_current.txt
index 6a02dd0..c27d0b0 100644
--- a/core/core/api/restricted_current.txt
+++ b/core/core/api/restricted_current.txt
@@ -1195,7 +1195,7 @@
method @ColorInt public static int getColor(android.content.Context, @ColorRes int);
method public static android.content.res.ColorStateList? getColorStateList(android.content.Context, @ColorRes int);
method public static java.io.File? getDataDir(android.content.Context);
- method public static android.view.Display getDisplay(@DisplayContext android.content.Context);
+ method public static android.view.Display getDisplayOrDefault(@DisplayContext android.content.Context);
method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
method public static java.io.File![] getExternalCacheDirs(android.content.Context);
method public static java.io.File![] getExternalFilesDirs(android.content.Context, String?);
@@ -2834,6 +2834,31 @@
field public static final int START = 8388611; // 0x800003
}
+ public final class HapticFeedbackConstantsCompat {
+ field public static final int CLOCK_TICK = 4; // 0x4
+ field public static final int CONFIRM = 16; // 0x10
+ field public static final int CONTEXT_CLICK = 6; // 0x6
+ field public static final int DRAG_START = 25; // 0x19
+ field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1
+ field public static final int GESTURE_END = 13; // 0xd
+ field public static final int GESTURE_START = 12; // 0xc
+ field public static final int GESTURE_THRESHOLD_ACTIVATE = 23; // 0x17
+ field public static final int GESTURE_THRESHOLD_DEACTIVATE = 24; // 0x18
+ field public static final int KEYBOARD_PRESS = 3; // 0x3
+ field public static final int KEYBOARD_RELEASE = 7; // 0x7
+ field public static final int KEYBOARD_TAP = 3; // 0x3
+ field public static final int LONG_PRESS = 0; // 0x0
+ field public static final int NO_HAPTICS = -1; // 0xffffffff
+ field public static final int REJECT = 17; // 0x11
+ field public static final int SEGMENT_FREQUENT_TICK = 27; // 0x1b
+ field public static final int SEGMENT_TICK = 26; // 0x1a
+ field public static final int TEXT_HANDLE_MOVE = 9; // 0x9
+ field public static final int TOGGLE_OFF = 22; // 0x16
+ field public static final int TOGGLE_ON = 21; // 0x15
+ field public static final int VIRTUAL_KEY = 1; // 0x1
+ field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8
+ }
+
public final class InputDeviceCompat {
field public static final int SOURCE_ANY = -256; // 0xffffff00
field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
@@ -3291,6 +3316,8 @@
method public static void onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
method @Deprecated public static void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
method public static boolean performAccessibilityAction(android.view.View, int, android.os.Bundle?);
+ method public static boolean performHapticFeedback(android.view.View, int);
+ method public static boolean performHapticFeedback(android.view.View, int, int);
method public static androidx.core.view.ContentInfoCompat? performReceiveContent(android.view.View, androidx.core.view.ContentInfoCompat);
method public static void postInvalidateOnAnimation(android.view.View);
method public static void postInvalidateOnAnimation(android.view.View, int, int, int, int);
diff --git a/core/core/src/androidTest/java/androidx/core/app/ActivityCompatRecreateFromLifecycleStatesTestCase.kt b/core/core/src/androidTest/java/androidx/core/app/ActivityCompatRecreateFromLifecycleStatesTestCase.kt
index 7f2a7de..36b0b0a 100644
--- a/core/core/src/androidTest/java/androidx/core/app/ActivityCompatRecreateFromLifecycleStatesTestCase.kt
+++ b/core/core/src/androidTest/java/androidx/core/app/ActivityCompatRecreateFromLifecycleStatesTestCase.kt
@@ -24,12 +24,12 @@
import androidx.test.rule.ActivityTestRule
import androidx.testutils.LifecycleOwnerUtils
import androidx.testutils.PollingCheck
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import junit.framework.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/core/core/src/androidTest/java/androidx/core/app/NotificationTester.kt b/core/core/src/androidTest/java/androidx/core/app/NotificationTester.kt
index e73a557..aab6d1e 100644
--- a/core/core/src/androidTest/java/androidx/core/app/NotificationTester.kt
+++ b/core/core/src/androidTest/java/androidx/core/app/NotificationTester.kt
@@ -18,8 +18,8 @@
import android.app.Notification
import android.os.Build
import android.os.Bundle
-import org.junit.Assert.assertEquals
import java.util.TreeSet
+import org.junit.Assert.assertEquals
internal object NotificationTester {
@JvmStatic
diff --git a/core/core/src/androidTest/java/androidx/core/content/ContextCompatTest.java b/core/core/src/androidTest/java/androidx/core/content/ContextCompatTest.java
index 42fce77..03b73b5 100644
--- a/core/core/src/androidTest/java/androidx/core/content/ContextCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/content/ContextCompatTest.java
@@ -608,7 +608,7 @@
@Test
public void testGetDisplayFromActivity() {
- final Display actualDisplay = ContextCompat.getDisplay(mContext);
+ final Display actualDisplay = ContextCompat.getDisplayOrDefault(mContext);
if (Build.VERSION.SDK_INT >= 30) {
assertEquals(mContext.getDisplay(), actualDisplay);
} else {
@@ -626,7 +626,7 @@
final Display defaultDisplay = displayManagerCompat.getDisplay(Display.DEFAULT_DISPLAY);
final Context displayContext = mContext.createDisplayContext(defaultDisplay);
- assertEquals(ContextCompat.getDisplay(displayContext), defaultDisplay);
+ assertEquals(ContextCompat.getDisplayOrDefault(displayContext), defaultDisplay);
}
@Test
@@ -634,14 +634,14 @@
public void testGetDisplayFromWindowContext() {
final Context windowContext = mContext.createWindowContext(TYPE_APPLICATION_OVERLAY, null);
- assertEquals(ContextCompat.getDisplay(windowContext), windowContext.getDisplay());
+ assertEquals(ContextCompat.getDisplayOrDefault(windowContext), windowContext.getDisplay());
}
@Test
public void testGetDisplayFromApplication() {
final Context applicationContext = ApplicationProvider.getApplicationContext();
final Context spyContext = spy(applicationContext);
- final Display actualDisplay = ContextCompat.getDisplay(spyContext);
+ final Display actualDisplay = ContextCompat.getDisplayOrDefault(spyContext);
if (Build.VERSION.SDK_INT >= 30) {
verify(spyContext).getSystemService(eq(DisplayManager.class));
diff --git a/core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatHasSignaturesTest.kt b/core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatHasSignaturesTest.kt
index bc98c5f..156affb 100644
--- a/core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatHasSignaturesTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/content/pm/PackageInfoCompatHasSignaturesTest.kt
@@ -29,6 +29,7 @@
import androidx.testutils.mockito.mockThrowOnUnmocked
import androidx.testutils.mockito.whenever
import com.google.common.truth.Truth.assertThat
+import java.security.MessageDigest
import org.junit.After
import org.junit.Before
import org.junit.Test
@@ -38,7 +39,6 @@
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.eq
import org.mockito.internal.util.reflection.FieldSetter
-import java.security.MessageDigest
/**
* Verifies [PackageInfoCompat.hasSignatures].
diff --git a/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java b/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java
index 41b6b15..a27a4e2 100644
--- a/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java
@@ -15,6 +15,26 @@
*/
package androidx.core.view;
+import static androidx.core.view.HapticFeedbackConstantsCompat.CLOCK_TICK;
+import static androidx.core.view.HapticFeedbackConstantsCompat.CONFIRM;
+import static androidx.core.view.HapticFeedbackConstantsCompat.CONTEXT_CLICK;
+import static androidx.core.view.HapticFeedbackConstantsCompat.DRAG_START;
+import static androidx.core.view.HapticFeedbackConstantsCompat.GESTURE_END;
+import static androidx.core.view.HapticFeedbackConstantsCompat.GESTURE_START;
+import static androidx.core.view.HapticFeedbackConstantsCompat.GESTURE_THRESHOLD_ACTIVATE;
+import static androidx.core.view.HapticFeedbackConstantsCompat.GESTURE_THRESHOLD_DEACTIVATE;
+import static androidx.core.view.HapticFeedbackConstantsCompat.KEYBOARD_RELEASE;
+import static androidx.core.view.HapticFeedbackConstantsCompat.KEYBOARD_TAP;
+import static androidx.core.view.HapticFeedbackConstantsCompat.LONG_PRESS;
+import static androidx.core.view.HapticFeedbackConstantsCompat.NO_HAPTICS;
+import static androidx.core.view.HapticFeedbackConstantsCompat.REJECT;
+import static androidx.core.view.HapticFeedbackConstantsCompat.SEGMENT_FREQUENT_TICK;
+import static androidx.core.view.HapticFeedbackConstantsCompat.SEGMENT_TICK;
+import static androidx.core.view.HapticFeedbackConstantsCompat.TEXT_HANDLE_MOVE;
+import static androidx.core.view.HapticFeedbackConstantsCompat.TOGGLE_OFF;
+import static androidx.core.view.HapticFeedbackConstantsCompat.TOGGLE_ON;
+import static androidx.core.view.HapticFeedbackConstantsCompat.VIRTUAL_KEY;
+import static androidx.core.view.HapticFeedbackConstantsCompat.VIRTUAL_KEY_RELEASE;
import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT;
import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat;
@@ -33,6 +53,7 @@
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import android.app.Activity;
@@ -401,6 +422,168 @@
assertEquals(contentCaptureSession, result.toContentCaptureSession());
}
+ @Test
+ public void testPerformHapticFeedback_skipsHapticFeedbackForNoHapticsConstant() {
+ View spyView = spy(mView);
+ ViewCompat.performHapticFeedback(spyView, NO_HAPTICS);
+ verify(spyView, never()).performHapticFeedback(anyInt(), anyInt());
+ }
+
+ @SdkSuppress(minSdkVersion = 34)
+ @Test
+ public void testPerformHapticFeedback_useSameInputFeedbackConstantOnSdk34() {
+ for (int constant = HapticFeedbackConstantsCompat.FIRST_CONSTANT_INT;
+ constant < HapticFeedbackConstantsCompat.LAST_CONSTANT_INT; constant++) {
+ assertHapticFeedbackPerformed(constant);
+ }
+ }
+
+ @SdkSuppress(minSdkVersion = 30, maxSdkVersion = 33)
+ @Test
+ public void testPerformHapticFeedback_useFallbackForConstantsFromSdk34() {
+ // Maintain constants supported in SDK >= 30
+ assertHapticFeedbackPerformed(CONFIRM);
+ assertHapticFeedbackPerformed(REJECT);
+ assertHapticFeedbackPerformed(GESTURE_START);
+ assertHapticFeedbackPerformed(GESTURE_END);
+
+ // Fallbacks for constants from SDK >= 34
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, DRAG_START);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, TOGGLE_ON);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, SEGMENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, GESTURE_THRESHOLD_ACTIVATE);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, TOGGLE_OFF);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, SEGMENT_FREQUENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, GESTURE_THRESHOLD_DEACTIVATE);
+ }
+
+ @SdkSuppress(minSdkVersion = 27, maxSdkVersion = 29)
+ @Test
+ public void testPerformHapticFeedback_useFallbackForConstantsFromSdk30() {
+ // Maintain constants supported in SDK >= 27
+ assertHapticFeedbackPerformed(TEXT_HANDLE_MOVE);
+ assertHapticFeedbackPerformed(KEYBOARD_RELEASE);
+ assertHapticFeedbackPerformed(VIRTUAL_KEY_RELEASE);
+
+ // Fallbacks for constants from SDK >= 30
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, DRAG_START);
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, REJECT);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, CONFIRM);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, GESTURE_START);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, GESTURE_END);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, TOGGLE_ON);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, SEGMENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, GESTURE_THRESHOLD_ACTIVATE);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, TOGGLE_OFF);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, SEGMENT_FREQUENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, GESTURE_THRESHOLD_DEACTIVATE);
+ }
+
+ @SdkSuppress(minSdkVersion = 23, maxSdkVersion = 26)
+ @Test
+ public void testPerformHapticFeedback_useFallbackForConstantsFromSdk27() {
+ // Maintain constants supported in SDK >= 23
+ assertHapticFeedbackPerformed(CONTEXT_CLICK);
+
+ // Fallbacks for constants from SDK >= 27
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, DRAG_START);
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, REJECT);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, CONFIRM);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, GESTURE_START);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, GESTURE_END);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, TOGGLE_ON);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, SEGMENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CONTEXT_CLICK, GESTURE_THRESHOLD_ACTIVATE);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, TOGGLE_OFF);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, SEGMENT_FREQUENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, GESTURE_THRESHOLD_DEACTIVATE);
+ assertNoHapticFeedbackPerformed(TEXT_HANDLE_MOVE);
+ assertNoHapticFeedbackPerformed(KEYBOARD_RELEASE);
+ assertNoHapticFeedbackPerformed(VIRTUAL_KEY_RELEASE);
+ }
+
+ @SdkSuppress(minSdkVersion = 21, maxSdkVersion = 22)
+ @Test
+ public void testPerformHapticFeedback_useFallbackForConstantsFromSdk23() {
+ // Maintain constants supported in SDK >= 21
+ assertHapticFeedbackPerformed(CLOCK_TICK);
+
+ // Fallbacks for constants from SDK >= 23
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, DRAG_START);
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, REJECT);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, CONFIRM);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, GESTURE_START);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, GESTURE_END);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, TOGGLE_ON);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, SEGMENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, GESTURE_THRESHOLD_ACTIVATE);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, TOGGLE_OFF);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, SEGMENT_FREQUENT_TICK);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, GESTURE_THRESHOLD_DEACTIVATE);
+ assertFallbackHapticFeedbackPerformed(CLOCK_TICK, CONTEXT_CLICK);
+ assertNoHapticFeedbackPerformed(TEXT_HANDLE_MOVE);
+ assertNoHapticFeedbackPerformed(KEYBOARD_RELEASE);
+ assertNoHapticFeedbackPerformed(VIRTUAL_KEY_RELEASE);
+ }
+
+ @SdkSuppress(maxSdkVersion = 20)
+ @Test
+ public void testPerformHapticFeedback_useFallbackForConstantsFromSdk21() {
+ // Maintain constants supported in SDK < 21
+ assertHapticFeedbackPerformed(KEYBOARD_TAP);
+
+ // Fallbacks for constants from SDK >= 21
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, DRAG_START);
+ assertFallbackHapticFeedbackPerformed(LONG_PRESS, REJECT);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, CONFIRM);
+ assertFallbackHapticFeedbackPerformed(VIRTUAL_KEY, GESTURE_START);
+ assertNoHapticFeedbackPerformed(GESTURE_END);
+ assertNoHapticFeedbackPerformed(TOGGLE_ON);
+ assertNoHapticFeedbackPerformed(SEGMENT_TICK);
+ assertNoHapticFeedbackPerformed(GESTURE_THRESHOLD_ACTIVATE);
+ assertNoHapticFeedbackPerformed(TOGGLE_OFF);
+ assertNoHapticFeedbackPerformed(SEGMENT_FREQUENT_TICK);
+ assertNoHapticFeedbackPerformed(GESTURE_THRESHOLD_DEACTIVATE);
+ assertNoHapticFeedbackPerformed(CONTEXT_CLICK);
+ assertNoHapticFeedbackPerformed(CLOCK_TICK);
+ assertNoHapticFeedbackPerformed(TEXT_HANDLE_MOVE);
+ assertNoHapticFeedbackPerformed(KEYBOARD_RELEASE);
+ assertNoHapticFeedbackPerformed(VIRTUAL_KEY_RELEASE);
+ }
+
+ private void assertHapticFeedbackPerformed(int feedbackConstant) {
+ View spyView = spy(mView);
+ int flags = HapticFeedbackConstantsCompat.FLAG_IGNORE_VIEW_SETTING;
+
+ ViewCompat.performHapticFeedback(spyView, feedbackConstant);
+ verify(spyView).performHapticFeedback(eq(feedbackConstant));
+
+ ViewCompat.performHapticFeedback(spyView, feedbackConstant, flags);
+ verify(spyView).performHapticFeedback(eq(feedbackConstant), eq(flags));
+ }
+
+ private void assertNoHapticFeedbackPerformed(int feedbackConstant) {
+ View spyView = spy(mView);
+ int flags = HapticFeedbackConstantsCompat.FLAG_IGNORE_VIEW_SETTING;
+
+ ViewCompat.performHapticFeedback(spyView, feedbackConstant);
+ verify(spyView, never()).performHapticFeedback(anyInt());
+
+ ViewCompat.performHapticFeedback(spyView, feedbackConstant, flags);
+ verify(spyView, never()).performHapticFeedback(anyInt(), anyInt());
+ }
+
+ private void assertFallbackHapticFeedbackPerformed(int expectedFallback, int feedbackConstant) {
+ View spyView = spy(mView);
+ int flags = HapticFeedbackConstantsCompat.FLAG_IGNORE_VIEW_SETTING;
+
+ ViewCompat.performHapticFeedback(spyView, feedbackConstant);
+ verify(spyView).performHapticFeedback(eq(expectedFallback));
+
+ ViewCompat.performHapticFeedback(spyView, feedbackConstant, flags);
+ verify(spyView).performHapticFeedback(eq(expectedFallback), eq(flags));
+ }
+
private static boolean isViewIdGenerated(int id) {
return (id & 0xFF000000) == 0 && (id & 0x00FFFFFF) != 0;
}
diff --git a/core/core/src/androidTest/java/androidx/core/view/WindowCompatTest.kt b/core/core/src/androidTest/java/androidx/core/view/WindowCompatTest.kt
index 110a615..eb75b11 100644
--- a/core/core/src/androidTest/java/androidx/core/view/WindowCompatTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/view/WindowCompatTest.kt
@@ -22,12 +22,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsAnimationCompatActivityTest.kt b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsAnimationCompatActivityTest.kt
index 971024c..633908c 100644
--- a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsAnimationCompatActivityTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsAnimationCompatActivityTest.kt
@@ -36,14 +36,14 @@
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
import com.google.common.truth.Truth
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Assume
import org.junit.Before
import org.junit.Test
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@SdkSuppress(minSdkVersion = 21)
@RequiresApi(21)
diff --git a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatActivityTest.kt b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatActivityTest.kt
index e50c0bf..ffa754f 100644
--- a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatActivityTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatActivityTest.kt
@@ -40,6 +40,9 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.atomic.AtomicReference
import org.hamcrest.Matchers.`is`
import org.junit.After
import org.junit.Assert.assertEquals
@@ -52,9 +55,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.atomic.AtomicReference
@Suppress("DEPRECATION") // Testing deprecated methods
@SdkSuppress(minSdkVersion = 16)
diff --git a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
index 6a40e06..42f97ba 100644
--- a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
@@ -36,8 +36,12 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
-import org.hamcrest.Matchers.`is`
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.atomic.AtomicReference
+import kotlin.concurrent.thread
import org.hamcrest.Matchers.equalTo
+import org.hamcrest.Matchers.`is`
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.fail
@@ -46,10 +50,6 @@
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.atomic.AtomicReference
-import kotlin.concurrent.thread
@Suppress("DEPRECATION")
@SdkSuppress(minSdkVersion = 23)
diff --git a/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt b/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt
index 4eed461..4f73447 100644
--- a/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt
@@ -25,6 +25,7 @@
import androidx.core.view.NestedScrollingParent3
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
+import java.util.Arrays
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.closeTo
import org.junit.Before
@@ -32,7 +33,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.Arrays
/**
* This test verifies that the velocity that NestedScrollView flings with in response to finger
diff --git a/core/core/src/main/java/androidx/core/content/ContextCompat.java b/core/core/src/main/java/androidx/core/content/ContextCompat.java
index 172b452..8cd98dd 100644
--- a/core/core/src/main/java/androidx/core/content/ContextCompat.java
+++ b/core/core/src/main/java/androidx/core/content/ContextCompat.java
@@ -756,7 +756,9 @@
}
/**
- * Get the display this context is associated with.
+ * Get the display this context is associated with or the
+ * {@link Display#DEFAULT_DISPLAY default display} as the fallback if the context is not
+ * associated with any {@link Display}.
* <p>
* Applications must use this method with {@link Activity} or a context associated with a
* {@link Display} via {@link Context#createDisplayContext(Display)} or
@@ -764,12 +766,13 @@
* instance is not reliable. </p>
*
* @param context Context to obtain the associated display
- * @return The display associated with the Context.
+ * @return The display associated with the Context or the default display if the context
+ * doesn't associated with any display.
*/
@NonNull
- public static Display getDisplay(@NonNull @DisplayContext Context context) {
+ public static Display getDisplayOrDefault(@NonNull @DisplayContext Context context) {
if (Build.VERSION.SDK_INT >= 30) {
- return Api30Impl.getDisplayNoCrash(context);
+ return Api30Impl.getDisplayOrDefault(context);
} else {
final WindowManager windowManager =
(WindowManager) context.getSystemService(WINDOW_SERVICE);
@@ -1140,7 +1143,7 @@
}
@DoNotInline
- static Display getDisplayNoCrash(Context obj) {
+ static Display getDisplayOrDefault(Context obj) {
try {
return obj.getDisplay();
} catch (UnsupportedOperationException e) {
diff --git a/core/core/src/main/java/androidx/core/view/HapticFeedbackConstantsCompat.java b/core/core/src/main/java/androidx/core/view/HapticFeedbackConstantsCompat.java
new file mode 100644
index 0000000..4ed4078
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/view/HapticFeedbackConstantsCompat.java
@@ -0,0 +1,384 @@
+/*
+ * Copyright 2023 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.core.view;
+
+import android.os.Build;
+
+import androidx.annotation.IntDef;
+import androidx.annotation.RestrictTo;
+import androidx.annotation.VisibleForTesting;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Helper class for accessing values in {@link android.view.HapticFeedbackConstants}.
+ */
+public final class HapticFeedbackConstantsCompat {
+
+ /**
+ * No haptic feedback should be performed. Applications may use this value to indicate skipping
+ * a call to {@link android.view.View#performHapticFeedback} entirely, or else rely that it
+ * will immediately return {@code false}.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same behavior, immediately returns false</li>
+ * </ul>
+ */
+ public static final int NO_HAPTICS = -1;
+
+ /**
+ * The user has performed a long press on an object that is resulting in an action being
+ * performed.
+ */
+ public static final int LONG_PRESS = 0;
+
+ /**
+ * The user has pressed on a virtual on-screen key.
+ */
+ public static final int VIRTUAL_KEY = 1;
+
+ /**
+ * The user has pressed a soft keyboard key.
+ */
+ public static final int KEYBOARD_TAP = 3;
+
+ /**
+ * The user has pressed either an hour or minute tick of a Clock.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int CLOCK_TICK = 4;
+
+ /**
+ * The user has performed a context click on an object.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 23: Same feedback as CLOCK_TICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int CONTEXT_CLICK = 6;
+
+ /**
+ * The user has pressed a virtual or software keyboard key.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 27: Same feedback as KEYBOARD_TAP</li>
+ * </ul>
+ */
+ public static final int KEYBOARD_PRESS = KEYBOARD_TAP; // Platform constant is also the same.
+
+ /**
+ * The user has released a virtual keyboard key.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 27: No-op</li>
+ * </ul>
+ */
+ public static final int KEYBOARD_RELEASE = 7;
+
+ /**
+ * The user has released a virtual key.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 27: No-op</li>
+ * </ul>
+ */
+ public static final int VIRTUAL_KEY_RELEASE = 8;
+
+ /**
+ * The user has performed a selection/insertion handle move on text field.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 27: No-op</li>
+ * </ul>
+ */
+ public static final int TEXT_HANDLE_MOVE = 9;
+
+ /**
+ * The user has started a gesture (e.g. on the soft keyboard).
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 30: Same feedback as VIRTUAL_KEY</li>
+ * </ul>
+ */
+ public static final int GESTURE_START = 12;
+
+ /**
+ * The user has finished a gesture (e.g. on the soft keyboard).
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 30: Same feedback as CONTEXT_CLICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int GESTURE_END = 13;
+
+ /**
+ * A haptic effect to signal the confirmation or successful completion of a user interaction.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 30: Same feedback as VIRTUAL_KEY</li>
+ * </ul>
+ */
+ public static final int CONFIRM = 16;
+
+ /**
+ * A haptic effect to signal the rejection or failure of a user interaction.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 30: Same feedback as LONG_PRESS</li>
+ * </ul>
+ */
+ public static final int REJECT = 17;
+
+ /**
+ * The user has toggled a switch or button into the on position.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as CONTEXT_CLICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int TOGGLE_ON = 21;
+
+ /**
+ * The user has toggled a switch or button into the off position.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as CLOCK_TICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int TOGGLE_OFF = 22;
+
+ /**
+ * The user is executing a swipe/drag-style gesture, such as pull-to-refresh, where the
+ * gesture action is “eligible” at a certain threshold of movement, and can be cancelled by
+ * moving back past the threshold. This constant indicates that the user's motion has just
+ * passed the threshold for the action to be activated on release.
+ *
+ * @see #GESTURE_THRESHOLD_DEACTIVATE
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as CONTEXT_CLICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int GESTURE_THRESHOLD_ACTIVATE = 23;
+
+ /**
+ * The user is executing a swipe/drag-style gesture, such as pull-to-refresh, where the
+ * gesture action is “eligible” at a certain threshold of movement, and can be cancelled by
+ * moving back past the threshold. This constant indicates that the user's motion has just
+ * re-crossed back "under" the threshold for the action to be activated, meaning the gesture is
+ * currently in a cancelled state.
+ *
+ * @see #GESTURE_THRESHOLD_ACTIVATE
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as CLOCK_TICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int GESTURE_THRESHOLD_DEACTIVATE = 24;
+
+ /**
+ * The user has started a drag-and-drop gesture. The drag target has just been "picked up".
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as LONG_PRESS</li>
+ * </ul>
+ */
+ public static final int DRAG_START = 25;
+
+ /**
+ * The user is switching between a series of potential choices, for example items in a list
+ * or discrete points on a slider.
+ *
+ * <p>See also {@link #SEGMENT_FREQUENT_TICK} for cases where density of choices is high, and
+ * the haptics should be lighter or suppressed for a better user experience.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as CONTEXT_CLICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int SEGMENT_TICK = 26;
+
+ /**
+ * The user is switching between a series of many potential choices, for example minutes on a
+ * clock face, or individual percentages. This constant is expected to be very soft, so as
+ * not to be uncomfortable when performed a lot in quick succession. If the device can’t make
+ * a suitably soft vibration, then it may not make any vibration.
+ *
+ * <p>Some specializations of this constant exist for specific actions, notably
+ * {@link #CLOCK_TICK} and {@link #TEXT_HANDLE_MOVE}.
+ *
+ * <p>See also {@link #SEGMENT_TICK}.
+ *
+ * <p>Compatibility:
+ * <ul>
+ * <li>API < 34: Same feedback as CLOCK_TICK</li>
+ * <li>API < 21: No-op</li>
+ * </ul>
+ */
+ public static final int SEGMENT_FREQUENT_TICK = 27;
+
+ /** First constant value, excluding {@link #NO_HAPTICS} constant. */
+ @VisibleForTesting
+ static final int FIRST_CONSTANT_INT = LONG_PRESS;
+
+ /** Last constant value used. */
+ @VisibleForTesting
+ static final int LAST_CONSTANT_INT = SEGMENT_FREQUENT_TICK;
+
+ /**
+ * Flag for {@link ViewCompat#performHapticFeedback(android.view.View, int, int)}: Ignore the
+ * setting in the view for whether to perform haptic feedback, do it always.
+ */
+ public static final int FLAG_IGNORE_VIEW_SETTING = 0x0001;
+
+ /** Haptic feedback types. */
+ @IntDef(value = {
+ NO_HAPTICS,
+ LONG_PRESS,
+ VIRTUAL_KEY,
+ KEYBOARD_TAP,
+ CLOCK_TICK,
+ CONTEXT_CLICK,
+ KEYBOARD_PRESS,
+ KEYBOARD_RELEASE,
+ VIRTUAL_KEY_RELEASE,
+ TEXT_HANDLE_MOVE,
+ GESTURE_START,
+ GESTURE_END,
+ CONFIRM,
+ REJECT,
+ TOGGLE_ON,
+ TOGGLE_OFF,
+ GESTURE_THRESHOLD_ACTIVATE,
+ GESTURE_THRESHOLD_DEACTIVATE,
+ DRAG_START,
+ SEGMENT_TICK,
+ SEGMENT_FREQUENT_TICK
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
+ public @interface HapticFeedbackType {
+ }
+
+ /** Flags for performing haptic feedback. */
+ @IntDef(flag = true, value = {
+ FLAG_IGNORE_VIEW_SETTING
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
+ public @interface HapticFeedbackFlags {
+ }
+
+ /**
+ * Returns a haptic feedback constant that is available for this platform build.
+ *
+ * @param feedbackConstant The feedback constant requested
+ * @return The same constant, if supported by this platform build, or a supported fallback.
+ */
+ @HapticFeedbackType
+ static int getFeedbackConstantOrFallback(@HapticFeedbackType int feedbackConstant) {
+ if (feedbackConstant == NO_HAPTICS) {
+ // Skip fallback logic if constant is no-op.
+ return NO_HAPTICS;
+ }
+ if (Build.VERSION.SDK_INT < 34) {
+ switch (feedbackConstant) {
+ case DRAG_START:
+ feedbackConstant = LONG_PRESS;
+ break;
+ case TOGGLE_ON:
+ case SEGMENT_TICK:
+ case GESTURE_THRESHOLD_ACTIVATE:
+ feedbackConstant = CONTEXT_CLICK;
+ break;
+ case TOGGLE_OFF:
+ case SEGMENT_FREQUENT_TICK:
+ case GESTURE_THRESHOLD_DEACTIVATE:
+ feedbackConstant = CLOCK_TICK;
+ break;
+ }
+ }
+ if (Build.VERSION.SDK_INT < 30) {
+ switch (feedbackConstant) {
+ case REJECT:
+ feedbackConstant = LONG_PRESS;
+ break;
+ case CONFIRM:
+ case GESTURE_START:
+ feedbackConstant = VIRTUAL_KEY;
+ break;
+ case GESTURE_END:
+ feedbackConstant = CONTEXT_CLICK;
+ break;
+ }
+ }
+ if (Build.VERSION.SDK_INT < 27) {
+ switch (feedbackConstant) {
+ case KEYBOARD_RELEASE:
+ case VIRTUAL_KEY_RELEASE:
+ case TEXT_HANDLE_MOVE:
+ feedbackConstant = NO_HAPTICS;
+ break;
+ }
+ }
+ if (Build.VERSION.SDK_INT < 23) {
+ switch (feedbackConstant) {
+ case CONTEXT_CLICK:
+ feedbackConstant = CLOCK_TICK;
+ break;
+ }
+ }
+ if (Build.VERSION.SDK_INT < 21) {
+ switch (feedbackConstant) {
+ case CLOCK_TICK:
+ feedbackConstant = NO_HAPTICS;
+ break;
+ }
+ }
+ return feedbackConstant;
+ }
+
+ private HapticFeedbackConstantsCompat() {}
+}
diff --git a/core/core/src/main/java/androidx/core/view/ViewCompat.java b/core/core/src/main/java/androidx/core/view/ViewCompat.java
index 856e06d..5f551cf 100644
--- a/core/core/src/main/java/androidx/core/view/ViewCompat.java
+++ b/core/core/src/main/java/androidx/core/view/ViewCompat.java
@@ -76,6 +76,8 @@
import androidx.core.R;
import androidx.core.util.Preconditions;
import androidx.core.view.AccessibilityDelegateCompat.AccessibilityDelegateAdapter;
+import androidx.core.view.HapticFeedbackConstantsCompat.HapticFeedbackFlags;
+import androidx.core.view.HapticFeedbackConstantsCompat.HapticFeedbackType;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat;
import androidx.core.view.accessibility.AccessibilityNodeProviderCompat;
@@ -1483,6 +1485,58 @@
}
/**
+ * Perform a haptic feedback to the user for the view.
+ *
+ * <p>The framework will provide haptic feedback for some built in actions, such as long
+ * presses, but you may wish to provide feedback for your own widget.
+ *
+ * <p>The feedback will only be performed if {@link android.view.View#isHapticFeedbackEnabled()}
+ * is true.
+ *
+ * <em>Note:</em> Check compatibility support for each feedback constant described at
+ * {@link HapticFeedbackConstantsCompat}.
+ *
+ * @param view The view.
+ * @param feedbackConstant One of the constants defined in {@link HapticFeedbackConstantsCompat}
+ * @return Whether the feedback might be performed - generally this result should be ignored
+ */
+ public static boolean performHapticFeedback(@NonNull View view,
+ @HapticFeedbackType int feedbackConstant) {
+ feedbackConstant =
+ HapticFeedbackConstantsCompat.getFeedbackConstantOrFallback(feedbackConstant);
+ if (feedbackConstant == HapticFeedbackConstantsCompat.NO_HAPTICS) {
+ // This compat implementation is straightforward.
+ return false;
+ }
+ return view.performHapticFeedback(feedbackConstant);
+ }
+
+ /**
+ * Perform a haptic feedback to the user for the view.
+ *
+ * <p>This is similar to {@link #performHapticFeedback(android.view.View, int)}, with
+ * additional options.
+ *
+ * <em>Note:</em> Check compatibility support for each feedback constant described at
+ * {@link HapticFeedbackConstantsCompat}.
+ *
+ * @param view The view.
+ * @param feedbackConstant One of the constants defined in {@link HapticFeedbackConstantsCompat}
+ * @param flags Additional flags as per {@link HapticFeedbackConstantsCompat}
+ * @return Whether the feedback might be performed - generally this result should be ignored
+ */
+ public static boolean performHapticFeedback(@NonNull View view,
+ @HapticFeedbackType int feedbackConstant, @HapticFeedbackFlags int flags) {
+ feedbackConstant =
+ HapticFeedbackConstantsCompat.getFeedbackConstantOrFallback(feedbackConstant);
+ if (feedbackConstant == HapticFeedbackConstantsCompat.NO_HAPTICS) {
+ // This compat implementation is straightforward.
+ return false;
+ }
+ return view.performHapticFeedback(feedbackConstant, flags);
+ }
+
+ /**
* Adds an accessibility action that can be performed on a node associated with a view.
* A view can only have 32 actions created with this API.
*
diff --git a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbManager.kt b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbManager.kt
index 92785bf3..112a643 100644
--- a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbManager.kt
+++ b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbManager.kt
@@ -16,12 +16,12 @@
package androidx.core.uwb.rxjava3.mock
-import androidx.core.uwb.UwbManager
-import androidx.core.uwb.UwbAddress
import androidx.core.uwb.RangingCapabilities
+import androidx.core.uwb.UwbAddress
import androidx.core.uwb.UwbClientSessionScope
import androidx.core.uwb.UwbControleeSessionScope
import androidx.core.uwb.UwbControllerSessionScope
+import androidx.core.uwb.UwbManager
import com.google.android.gms.nearby.uwb.UwbComplexChannel
/** A default implementation of [UwbManager] used in testing. */
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeImpl.kt
index 86c1559..aafd713 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeImpl.kt
@@ -20,10 +20,11 @@
import androidx.core.uwb.RangingCapabilities
import androidx.core.uwb.RangingMeasurement
import androidx.core.uwb.RangingParameters
-import androidx.core.uwb.RangingResult.RangingResultPosition
import androidx.core.uwb.RangingResult.RangingResultPeerDisconnected
+import androidx.core.uwb.RangingResult.RangingResultPosition
import androidx.core.uwb.UwbAddress
import androidx.core.uwb.UwbControleeSessionScope
+import androidx.core.uwb.helper.handleApiException
import com.google.android.gms.common.api.ApiException
import com.google.android.gms.nearby.uwb.RangingPosition
import com.google.android.gms.nearby.uwb.RangingSessionCallback
@@ -32,11 +33,10 @@
import com.google.android.gms.nearby.uwb.UwbDevice
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.callbackFlow
import kotlinx.coroutines.launch
import kotlinx.coroutines.tasks.await
-import androidx.core.uwb.helper.handleApiException
-import kotlinx.coroutines.channels.awaitClose
internal class UwbClientSessionScopeImpl(
private val uwbClient: UwbClient,
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt
index 4edf85e..34ff68e 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt
@@ -30,13 +30,13 @@
import androidx.core.uwb.UwbControllerSessionScope
import androidx.core.uwb.UwbManager
import androidx.core.uwb.backend.IUwb
-import com.google.android.gms.common.api.ApiException
-import com.google.android.gms.nearby.Nearby
-import kotlinx.coroutines.tasks.await
import androidx.core.uwb.helper.checkSystemFeature
import androidx.core.uwb.helper.handleApiException
import com.google.android.gms.common.ConnectionResult
import com.google.android.gms.common.GoogleApiAvailability
+import com.google.android.gms.common.api.ApiException
+import com.google.android.gms.nearby.Nearby
+import kotlinx.coroutines.tasks.await
internal class UwbManagerImpl(private val context: Context) : UwbManager {
companion object {
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/beginsignin/CredentialProviderBeginSignInControllerTest.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/beginsignin/CredentialProviderBeginSignInControllerTest.kt
index 9652061..a783ea6 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/beginsignin/CredentialProviderBeginSignInControllerTest.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/beginsignin/CredentialProviderBeginSignInControllerTest.kt
@@ -25,10 +25,10 @@
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import com.google.android.libraries.identity.googleid.GetGoogleIdOption
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import com.google.android.libraries.identity.googleid.GetGoogleIdOption
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderPlayServicesImpl.kt b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderPlayServicesImpl.kt
index 3524fe2..d4dc2c5 100644
--- a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderPlayServicesImpl.kt
+++ b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderPlayServicesImpl.kt
@@ -20,8 +20,8 @@
import android.content.Context
import android.os.CancellationSignal
import android.util.Log
-import androidx.credentials.ClearCredentialStateRequest
import androidx.annotation.VisibleForTesting
+import androidx.credentials.ClearCredentialStateRequest
import androidx.credentials.CreateCredentialRequest
import androidx.credentials.CreateCredentialResponse
import androidx.credentials.CreatePasswordRequest
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt
index fafee67..1f477d4 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt
@@ -16,13 +16,10 @@
package androidx.credentials
-import com.google.common.truth.Truth.assertThat
-
-import org.junit.Assert.assertThrows
-
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
-
+import com.google.common.truth.Truth.assertThat
+import org.junit.Assert.assertThrows
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/customview/customview/src/androidTest/java/androidx/customview/widget/TestActivity.kt b/customview/customview/src/androidTest/java/androidx/customview/widget/TestActivity.kt
index 65fd739..af04aa5 100644
--- a/customview/customview/src/androidTest/java/androidx/customview/widget/TestActivity.kt
+++ b/customview/customview/src/androidTest/java/androidx/customview/widget/TestActivity.kt
@@ -18,7 +18,6 @@
import android.app.Activity
import android.os.Bundle
-
import androidx.customview.test.R
class TestActivity : Activity() {
diff --git a/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/CountActivity.kt b/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/CountActivity.kt
index ec8bea7..ff0c660 100644
--- a/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/CountActivity.kt
+++ b/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/CountActivity.kt
@@ -18,7 +18,6 @@
import android.os.Bundle
import android.os.StrictMode
-
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Arrangement
diff --git a/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountRepository.kt b/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountRepository.kt
index 52a3ec0..428b189 100644
--- a/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountRepository.kt
+++ b/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountRepository.kt
@@ -27,13 +27,13 @@
import androidx.datastore.preferences.preferencesDataStore
import com.example.datastorecomposesamples.CountPreferences
import java.io.File
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.catch
-import kotlinx.coroutines.flow.map
import java.io.IOException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.catch
+import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
data class CountState(val count: Int)
diff --git a/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioStorage.kt b/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioStorage.kt
index e2ff9fb..234680e 100644
--- a/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioStorage.kt
+++ b/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioStorage.kt
@@ -23,9 +23,9 @@
import androidx.datastore.core.WriteScope
import androidx.datastore.core.createSingleProcessCoordinator
import androidx.datastore.core.use
-import kotlinx.atomicfu.locks.synchronized
-import kotlinx.atomicfu.locks.SynchronizedObject
import kotlinx.atomicfu.atomic
+import kotlinx.atomicfu.locks.SynchronizedObject
+import kotlinx.atomicfu.locks.synchronized
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import okio.FileNotFoundException
diff --git a/datastore/datastore-core-okio/src/commonTest/kotlin/androidx/datastore/core/okio/OkioStorageTest.kt b/datastore/datastore-core-okio/src/commonTest/kotlin/androidx/datastore/core/okio/OkioStorageTest.kt
index f2b88b1..11db7e0 100644
--- a/datastore/datastore-core-okio/src/commonTest/kotlin/androidx/datastore/core/okio/OkioStorageTest.kt
+++ b/datastore/datastore-core-okio/src/commonTest/kotlin/androidx/datastore/core/okio/OkioStorageTest.kt
@@ -17,6 +17,8 @@
package androidx.datastore.core.okio
import androidx.datastore.OkioTestIO
+import androidx.datastore.TestingOkioSerializer
+import androidx.datastore.TestingSerializerConfig
import androidx.datastore.core.ReadScope
import androidx.datastore.core.Storage
import androidx.datastore.core.StorageConnection
@@ -24,19 +26,17 @@
import androidx.datastore.core.readData
import androidx.datastore.core.use
import androidx.datastore.core.writeData
-import androidx.datastore.TestingOkioSerializer
-import androidx.datastore.TestingSerializerConfig
import androidx.kruth.assertThat
import androidx.kruth.assertThrows
-import kotlin.test.Test
import kotlin.test.BeforeTest
+import kotlin.test.Test
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.yield
import okio.FileSystem
import okio.IOException
diff --git a/datastore/datastore-core-okio/src/nativeMain/kotlin/androidx/datastore/core/okio/Atomic.native.kt b/datastore/datastore-core-okio/src/nativeMain/kotlin/androidx/datastore/core/okio/Atomic.native.kt
index 6498e6f..a27d82f 100644
--- a/datastore/datastore-core-okio/src/nativeMain/kotlin/androidx/datastore/core/okio/Atomic.native.kt
+++ b/datastore/datastore-core-okio/src/nativeMain/kotlin/androidx/datastore/core/okio/Atomic.native.kt
@@ -16,8 +16,8 @@
package androidx.datastore.core.okio
-import kotlinx.atomicfu.AtomicInt as AtomicFuAtomicInt
import kotlinx.atomicfu.AtomicBoolean as AtomicFuAtomicBoolean
+import kotlinx.atomicfu.AtomicInt as AtomicFuAtomicInt
import kotlinx.atomicfu.atomic
internal actual class AtomicInt actual constructor(initialValue: Int) {
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/SharedCounterTest.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/SharedCounterTest.kt
index d7f9f21..5179249 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/SharedCounterTest.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/SharedCounterTest.kt
@@ -26,10 +26,10 @@
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.runTest
-import org.junit.Rule
-import org.junit.rules.TemporaryFolder
import org.junit.Before
+import org.junit.Rule
import org.junit.Test
+import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/DataMigrationInitializerTest.kt b/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/DataMigrationInitializerTest.kt
index ccc6edb..c61f858 100644
--- a/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/DataMigrationInitializerTest.kt
+++ b/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/DataMigrationInitializerTest.kt
@@ -23,13 +23,12 @@
import androidx.kruth.assertThrows
import kotlin.test.BeforeTest
import kotlin.test.Test
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.async
import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
@OptIn(ExperimentalCoroutinesApi::class)
diff --git a/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/SingleProcessDataStoreTest.kt b/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/SingleProcessDataStoreTest.kt
index dfa3273..6d93034 100644
--- a/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/SingleProcessDataStoreTest.kt
+++ b/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/SingleProcessDataStoreTest.kt
@@ -24,16 +24,24 @@
import androidx.datastore.core.handlers.NoOpCorruptionHandler
import androidx.kruth.assertThat
import androidx.kruth.assertThrows
+import kotlin.coroutines.AbstractCoroutineContextElement
+import kotlin.coroutines.CoroutineContext
+import kotlin.coroutines.cancellation.CancellationException
+import kotlin.random.Random
+import kotlin.test.BeforeTest
+import kotlin.test.Test
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
+import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.cancel
import kotlinx.coroutines.cancelAndJoin
import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.take
import kotlinx.coroutines.flow.toList
@@ -41,17 +49,9 @@
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.withContext
-import kotlinx.coroutines.test.runTest
-import kotlin.coroutines.AbstractCoroutineContextElement
-import kotlin.coroutines.CoroutineContext
-import kotlin.coroutines.cancellation.CancellationException
-import kotlin.random.Random
-import kotlin.test.BeforeTest
-import kotlin.test.Test
-import kotlinx.coroutines.SupervisorJob
-import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.withContext
@OptIn(ExperimentalCoroutinesApi::class)
abstract class SingleProcessDataStoreTest<F : TestFile>(private val testIO: TestIO<F, *>) {
diff --git a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/DataStoreFactory.jvm.kt b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/DataStoreFactory.jvm.kt
index 285e940..5908528 100644
--- a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/DataStoreFactory.jvm.kt
+++ b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/DataStoreFactory.jvm.kt
@@ -18,10 +18,10 @@
import androidx.datastore.core.handlers.NoOpCorruptionHandler
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
+import java.io.File
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
-import java.io.File
/**
* Public factory for creating DataStore instances.
diff --git a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/FileStorageTest.kt b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/FileStorageTest.kt
index 273bd30..b12adcb 100644
--- a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/FileStorageTest.kt
+++ b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/FileStorageTest.kt
@@ -22,15 +22,15 @@
import java.io.File
import java.io.IOException
import kotlin.random.Random
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlin.test.Test
import kotlin.test.BeforeTest
+import kotlin.test.Test
import kotlinx.coroutines.CompletableDeferred
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.async
+import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.yield
@ExperimentalCoroutinesApi
diff --git a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/JvmTests.kt b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/JvmTests.kt
index 033a8c9..b8a32d1 100644
--- a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/JvmTests.kt
+++ b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/JvmTests.kt
@@ -20,13 +20,13 @@
import androidx.datastore.JavaIOFile
import androidx.kruth.assertThat
import androidx.kruth.assertThrows
+import java.io.IOException
+import java.io.InputStream
+import java.io.OutputStream
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.InternalCoroutinesApi
import kotlinx.coroutines.ObsoleteCoroutinesApi
-import java.io.IOException
-import java.io.InputStream
-import java.io.OutputStream
import kotlinx.coroutines.flow.first
import org.junit.Test
diff --git a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandlerTest.kt b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandlerTest.kt
index c6cdd67..951f37c 100644
--- a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandlerTest.kt
+++ b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandlerTest.kt
@@ -17,11 +17,11 @@
package androidx.datastore.core.handlers
import androidx.datastore.TestingSerializerConfig
-import androidx.datastore.core.FileStorage
import androidx.datastore.core.DataStoreImpl
+import androidx.datastore.core.FileStorage
import androidx.datastore.core.TestingSerializer
-import androidx.kruth.assertThrows
import androidx.kruth.assertThat
+import androidx.kruth.assertThrows
import java.io.File
import java.io.IOException
import java.util.concurrent.TimeUnit
diff --git a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.kt b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.kt
index 20e6cbc..085b1a6 100644
--- a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.kt
+++ b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.kt
@@ -21,9 +21,9 @@
import androidx.datastore.core.DataStore
import androidx.datastore.core.Storage
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
+import kotlin.jvm.JvmOverloads
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
-import kotlin.jvm.JvmOverloads
import okio.Path
expect object PreferenceDataStoreFactory {
diff --git a/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerTest.kt b/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerTest.kt
index aa06488..b216558 100644
--- a/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerTest.kt
+++ b/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerTest.kt
@@ -19,11 +19,11 @@
import androidx.datastore.OkioPath
import androidx.datastore.OkioTestIO
import androidx.datastore.core.okio.OkioSerializer
-import kotlinx.coroutines.test.runTest
-import kotlin.test.assertEquals
import kotlin.test.BeforeTest
import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runTest
import okio.FileSystem
@OptIn(
diff --git a/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesTest.kt b/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesTest.kt
index 7f2dc36..61d7c07 100644
--- a/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesTest.kt
+++ b/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesTest.kt
@@ -17,10 +17,10 @@
package androidx.datastore.preferences.core
import kotlin.test.Test
-import kotlin.test.assertNull
-import kotlin.test.assertTrue
import kotlin.test.assertEquals
import kotlin.test.assertNotEquals
+import kotlin.test.assertNull
+import kotlin.test.assertTrue
class PreferencesTest {
diff --git a/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/Actual.jvm.kt b/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/Actual.jvm.kt
index aaef346..1b12a57 100644
--- a/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/Actual.jvm.kt
+++ b/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/Actual.jvm.kt
@@ -19,7 +19,6 @@
package androidx.datastore.preferences.core
import androidx.annotation.RestrictTo
-
import java.util.Collections
import java.util.concurrent.atomic.AtomicBoolean
import kotlinx.coroutines.CoroutineDispatcher
diff --git a/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.jvm.kt b/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.jvm.kt
index d1bc635..d458300 100644
--- a/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.jvm.kt
+++ b/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.jvm.kt
@@ -23,10 +23,10 @@
import androidx.datastore.core.Storage
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
import androidx.datastore.core.okio.OkioStorage
+import java.io.File
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
-import java.io.File
import okio.FileSystem
import okio.Path
import okio.Path.Companion.toOkioPath
diff --git a/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferencesSerializer.jvm.kt b/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferencesSerializer.jvm.kt
index c413194..3ba4afd 100644
--- a/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferencesSerializer.jvm.kt
+++ b/datastore/datastore-preferences-core/src/jvmMain/kotlin/androidx/datastore/preferences/core/PreferencesSerializer.jvm.kt
@@ -17,11 +17,11 @@
package androidx.datastore.preferences.core
import androidx.datastore.core.CorruptionException
-import androidx.datastore.preferences.PreferencesProto.PreferenceMap
-import androidx.datastore.preferences.PreferencesProto.Value
-import androidx.datastore.preferences.PreferencesProto.StringSet
import androidx.datastore.core.okio.OkioSerializer
import androidx.datastore.preferences.PreferencesMapCompat
+import androidx.datastore.preferences.PreferencesProto.PreferenceMap
+import androidx.datastore.preferences.PreferencesProto.StringSet
+import androidx.datastore.preferences.PreferencesProto.Value
import androidx.datastore.preferences.protobuf.ByteString
import kotlin.jvm.Throws
import okio.BufferedSink
diff --git a/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryTest.kt b/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryTest.kt
index 89aaab4..355b3c1 100644
--- a/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryTest.kt
+++ b/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryTest.kt
@@ -18,6 +18,10 @@
import androidx.datastore.core.DataMigration
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
+import java.io.File
+import java.lang.IllegalStateException
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.ObsoleteCoroutinesApi
import kotlinx.coroutines.flow.first
@@ -28,10 +32,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
-import java.lang.IllegalStateException
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
@ObsoleteCoroutinesApi
@kotlinx.coroutines.ExperimentalCoroutinesApi
diff --git a/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerJavaTest.kt b/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerJavaTest.kt
index eed8f1f..74fb405 100644
--- a/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerJavaTest.kt
+++ b/datastore/datastore-preferences-core/src/jvmTest/kotlin/androidx/datastore/preferences/core/PreferencesSerializerJavaTest.kt
@@ -20,13 +20,13 @@
import androidx.datastore.OkioTestIO
import androidx.datastore.core.CorruptionException
import androidx.datastore.core.okio.OkioSerializer
-import kotlinx.coroutines.test.runTest
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
import kotlin.test.BeforeTest
import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
import kotlin.test.assertTrue
import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runTest
import okio.FileSystem
@kotlinx.coroutines.ExperimentalCoroutinesApi
diff --git a/datastore/datastore-preferences-core/src/nativeTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryNativeTest.kt b/datastore/datastore-preferences-core/src/nativeTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryNativeTest.kt
index a0a60f2..145b556 100644
--- a/datastore/datastore-preferences-core/src/nativeTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryNativeTest.kt
+++ b/datastore/datastore-preferences-core/src/nativeTest/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactoryNativeTest.kt
@@ -19,15 +19,15 @@
import androidx.datastore.OkioTestIO
import androidx.datastore.core.DataMigration
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
+import kotlin.test.BeforeTest
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
-import kotlin.test.BeforeTest
-import kotlin.test.Test
-import kotlinx.coroutines.ExperimentalCoroutinesApi
import okio.FileSystem
import okio.Path
import okio.Path.Companion.toPath
diff --git a/datastore/datastore-preferences-rxjava2/src/androidTest/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegateTest.kt b/datastore/datastore-preferences-rxjava2/src/androidTest/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegateTest.kt
index d307a3a..225374a 100644
--- a/datastore/datastore-preferences-rxjava2/src/androidTest/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegateTest.kt
+++ b/datastore/datastore-preferences-rxjava2/src/androidTest/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegateTest.kt
@@ -26,13 +26,13 @@
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
import io.reactivex.Single
+import java.io.File
+import java.io.FileOutputStream
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
-import java.io.FileOutputStream
val intKey = intPreferencesKey("int_key")
diff --git a/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreBuilder.kt b/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreBuilder.kt
index f374b78..f3540b9 100644
--- a/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreBuilder.kt
+++ b/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreBuilder.kt
@@ -27,12 +27,12 @@
import androidx.datastore.rxjava2.RxDataStore
import io.reactivex.Scheduler
import io.reactivex.schedulers.Schedulers
+import java.io.File
+import java.util.concurrent.Callable
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.rx2.asCoroutineDispatcher
import kotlinx.coroutines.rx2.await
-import java.io.File
-import java.util.concurrent.Callable
/**
* Builder for a Preferences RxDataStore that works on a single process.
diff --git a/datastore/datastore-preferences-rxjava3/src/androidTest/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegateTest.kt b/datastore/datastore-preferences-rxjava3/src/androidTest/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegateTest.kt
index d162a6f..74e85ff 100644
--- a/datastore/datastore-preferences-rxjava3/src/androidTest/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegateTest.kt
+++ b/datastore/datastore-preferences-rxjava3/src/androidTest/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegateTest.kt
@@ -26,13 +26,13 @@
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
import io.reactivex.rxjava3.core.Single
+import java.io.File
+import java.io.FileOutputStream
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
-import java.io.FileOutputStream
val intKey = intPreferencesKey("int_key")
diff --git a/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreBuilder.kt b/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreBuilder.kt
index a9cf37a..57bef8b 100644
--- a/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreBuilder.kt
+++ b/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreBuilder.kt
@@ -27,12 +27,12 @@
import androidx.datastore.rxjava3.RxDataStore
import io.reactivex.rxjava3.core.Scheduler
import io.reactivex.rxjava3.schedulers.Schedulers
+import java.io.File
+import java.util.concurrent.Callable
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.rx3.asCoroutineDispatcher
import kotlinx.coroutines.rx3.await
-import java.io.File
-import java.util.concurrent.Callable
/**
* Builder for a Preferences RxDataStore that works on a single process.
diff --git a/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegateTest.kt b/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegateTest.kt
index cce1184..031ec48 100644
--- a/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegateTest.kt
+++ b/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegateTest.kt
@@ -25,6 +25,7 @@
import androidx.datastore.preferences.core.preferencesOf
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.test.core.app.ApplicationProvider
+import kotlin.test.assertEquals
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.ObsoleteCoroutinesApi
import kotlinx.coroutines.flow.first
@@ -35,7 +36,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import kotlin.test.assertEquals
val stringKey = stringPreferencesKey("key1")
val booleanKey = booleanPreferencesKey("key2")
diff --git a/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreFileTest.kt b/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreFileTest.kt
index 55ac285..78989fa 100644
--- a/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreFileTest.kt
+++ b/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/PreferenceDataStoreFileTest.kt
@@ -18,9 +18,9 @@
import android.content.Context
import androidx.test.core.app.ApplicationProvider
-import org.junit.Test
import java.io.File
import kotlin.test.assertEquals
+import org.junit.Test
public class PreferenceDataStoreFileTest {
@Test
diff --git a/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/SharedPreferencesToPreferencesTest.kt b/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/SharedPreferencesToPreferencesTest.kt
index 21a14d2..76f1db1 100644
--- a/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/SharedPreferencesToPreferencesTest.kt
+++ b/datastore/datastore-preferences/src/androidAndroidTest/kotlin/androidx/datastore/preferences/SharedPreferencesToPreferencesTest.kt
@@ -29,19 +29,19 @@
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.MediumTest
-import kotlinx.coroutines.flow.first
-import kotlinx.coroutines.runBlocking
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TemporaryFolder
import java.io.File
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.rules.TemporaryFolder
private val sharedPrefsName = "shared_prefs_name"
diff --git a/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegate.kt b/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegate.kt
index 9d15f5a..7532736 100644
--- a/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegate.kt
+++ b/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/PreferenceDataStoreDelegate.kt
@@ -25,11 +25,11 @@
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
import androidx.datastore.preferences.core.Preferences
+import kotlin.properties.ReadOnlyProperty
+import kotlin.reflect.KProperty
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
-import kotlin.properties.ReadOnlyProperty
-import kotlin.reflect.KProperty
/**
* Creates a property delegate for a single process DataStore. This should only be called once
diff --git a/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/SharedPreferencesMigration.kt b/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/SharedPreferencesMigration.kt
index 635df8e..c7e8c2a 100644
--- a/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/SharedPreferencesMigration.kt
+++ b/datastore/datastore-preferences/src/androidMain/kotlin/androidx/datastore/preferences/SharedPreferencesMigration.kt
@@ -18,8 +18,8 @@
import android.content.Context
import android.content.SharedPreferences
-import androidx.datastore.migrations.SharedPreferencesView
import androidx.datastore.migrations.SharedPreferencesMigration
+import androidx.datastore.migrations.SharedPreferencesView
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.booleanPreferencesKey
import androidx.datastore.preferences.core.floatPreferencesKey
diff --git a/datastore/datastore-proto/src/test/java/androidx/datastore/protos/ProtoSerializerTest.kt b/datastore/datastore-proto/src/test/java/androidx/datastore/protos/ProtoSerializerTest.kt
index 90d38c7..f093509 100644
--- a/datastore/datastore-proto/src/test/java/androidx/datastore/protos/ProtoSerializerTest.kt
+++ b/datastore/datastore-proto/src/test/java/androidx/datastore/protos/ProtoSerializerTest.kt
@@ -17,16 +17,16 @@
package androidx.datastore.protos
import androidx.datastore.core.CorruptionException
-import org.junit.Test
-import androidx.testing.TestMessageProto.FooProto
import androidx.testing.TestMessageProto.ExtendableProto
import androidx.testing.TestMessageProto.ExtensionProto
+import androidx.testing.TestMessageProto.FooProto
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
import com.google.protobuf.ExtensionRegistryLite
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
import org.junit.Rule
+import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/datastore/datastore-rxjava2/src/androidTest/java/androidx/datastore/rxjava2/RxDataStoreDelegateTest.kt b/datastore/datastore-rxjava2/src/androidTest/java/androidx/datastore/rxjava2/RxDataStoreDelegateTest.kt
index f0ec624..fb05a48 100644
--- a/datastore/datastore-rxjava2/src/androidTest/java/androidx/datastore/rxjava2/RxDataStoreDelegateTest.kt
+++ b/datastore/datastore-rxjava2/src/androidTest/java/androidx/datastore/rxjava2/RxDataStoreDelegateTest.kt
@@ -22,13 +22,13 @@
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
import io.reactivex.Single
+import java.io.File
+import java.io.FileOutputStream
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
-import java.io.FileOutputStream
val Context.rxDataStore by rxDataStore("file1", TestingSerializer())
diff --git a/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStore.kt b/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStore.kt
index dfe8026..468b761 100644
--- a/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStore.kt
+++ b/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStore.kt
@@ -21,16 +21,16 @@
import io.reactivex.Flowable
import io.reactivex.Single
import io.reactivex.disposables.Disposable
+import io.reactivex.functions.Function
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.async
+import kotlinx.coroutines.job
import kotlinx.coroutines.rx2.asFlowable
import kotlinx.coroutines.rx2.asSingle
import kotlinx.coroutines.rx2.await
-import io.reactivex.functions.Function
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.SupervisorJob
-import kotlinx.coroutines.job
import kotlinx.coroutines.rx2.rxCompletable
/**
diff --git a/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreBuilder.kt b/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreBuilder.kt
index 1dee9d1..cf20f5e 100644
--- a/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreBuilder.kt
+++ b/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreBuilder.kt
@@ -25,12 +25,12 @@
import androidx.datastore.dataStoreFile
import io.reactivex.Scheduler
import io.reactivex.schedulers.Schedulers
+import java.io.File
+import java.util.concurrent.Callable
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.rx2.asCoroutineDispatcher
import kotlinx.coroutines.rx2.await
-import java.io.File
-import java.util.concurrent.Callable
/**
* Builder class for an RxDataStore that works on a single process.
diff --git a/datastore/datastore-rxjava3/src/androidTest/java/androidx/datastore/rxjava3/RxDataStoreDelegateTest.kt b/datastore/datastore-rxjava3/src/androidTest/java/androidx/datastore/rxjava3/RxDataStoreDelegateTest.kt
index dadae22..aca2cd7 100644
--- a/datastore/datastore-rxjava3/src/androidTest/java/androidx/datastore/rxjava3/RxDataStoreDelegateTest.kt
+++ b/datastore/datastore-rxjava3/src/androidTest/java/androidx/datastore/rxjava3/RxDataStoreDelegateTest.kt
@@ -22,13 +22,13 @@
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
import io.reactivex.rxjava3.core.Single
+import java.io.File
+import java.io.FileOutputStream
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
-import java.io.FileOutputStream
val Context.rxDataStore by rxDataStore("file1", TestingSerializer())
diff --git a/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreBuilder.kt b/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreBuilder.kt
index 8e05c50..68365dd 100644
--- a/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreBuilder.kt
+++ b/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreBuilder.kt
@@ -25,12 +25,12 @@
import androidx.datastore.dataStoreFile
import io.reactivex.rxjava3.core.Scheduler
import io.reactivex.rxjava3.schedulers.Schedulers
+import java.io.File
+import java.util.concurrent.Callable
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.rx3.asCoroutineDispatcher
import kotlinx.coroutines.rx3.await
-import java.io.File
-import java.util.concurrent.Callable
/**
* Builder class for an RxDataStore that works on a single process.
diff --git a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/KotlinSerializationActivity.kt b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/KotlinSerializationActivity.kt
index 1d78255..e1057f7 100644
--- a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/KotlinSerializationActivity.kt
+++ b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/KotlinSerializationActivity.kt
@@ -27,6 +27,10 @@
import androidx.datastore.core.DataStoreFactory
import androidx.datastore.core.Serializer
import androidx.lifecycle.lifecycleScope
+import java.io.File
+import java.io.IOException
+import java.io.InputStream
+import java.io.OutputStream
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.distinctUntilChanged
@@ -38,11 +42,6 @@
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
-import java.io.File
-import java.io.IOException
-import java.io.InputStream
-import java.io.OutputStream
-
@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)
class KotlinSerializationActivity : AppCompatActivity() {
private val TAG = "SerializationActivity"
diff --git a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/PreferencesDataStoreActivity.kt b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/PreferencesDataStoreActivity.kt
index b8ed192..3ff3a6a 100644
--- a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/PreferencesDataStoreActivity.kt
+++ b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/PreferencesDataStoreActivity.kt
@@ -28,12 +28,12 @@
import androidx.datastore.preferences.core.intPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import androidx.lifecycle.lifecycleScope
+import java.io.IOException
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
-import java.io.IOException
val Context.prefsDs by preferencesDataStore("datastore_test_app")
diff --git a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/ProtoDataStoreActivity.kt b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/ProtoDataStoreActivity.kt
index 1bce259..476e5be 100644
--- a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/ProtoDataStoreActivity.kt
+++ b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/ProtoDataStoreActivity.kt
@@ -28,15 +28,15 @@
import androidx.datastore.core.Serializer
import androidx.lifecycle.lifecycleScope
import com.google.protobuf.InvalidProtocolBufferException
+import java.io.File
+import java.io.IOException
+import java.io.InputStream
+import java.io.OutputStream
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
-import java.io.File
-import java.io.IOException
-import java.io.InputStream
-import java.io.OutputStream
@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)
class ProtoDataStoreActivity : AppCompatActivity() {
diff --git a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/SettingsFragment.kt b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/SettingsFragment.kt
index 246dbae..0b68e58 100644
--- a/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/SettingsFragment.kt
+++ b/datastore/datastore-sampleapp/src/main/java/com/example/datastoresampleapp/SettingsFragment.kt
@@ -27,13 +27,17 @@
import androidx.datastore.core.DataStoreFactory
import androidx.datastore.core.Serializer
import androidx.lifecycle.Lifecycle
-import androidx.preference.Preference
-import androidx.preference.SwitchPreference
-import androidx.preference.PreferenceFragmentCompat
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceFragmentCompat
+import androidx.preference.SwitchPreference
import androidx.preference.TwoStatePreference
import com.google.protobuf.InvalidProtocolBufferException
+import java.io.File
+import java.io.IOException
+import java.io.InputStream
+import java.io.OutputStream
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
@@ -42,10 +46,6 @@
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.launch
-import java.io.File
-import java.io.IOException
-import java.io.InputStream
-import java.io.OutputStream
private val TAG = "SettingsActivity"
diff --git a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt
index 68b88be..11ace8e 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt
@@ -23,6 +23,9 @@
import androidx.test.filters.SdkSuppress
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
+import java.io.File
+import java.io.FileOutputStream
+import java.lang.IllegalStateException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.coroutineScope
@@ -33,9 +36,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
-import java.io.FileOutputStream
-import java.lang.IllegalStateException
val Context.globalDs by dataStore("file1", TestingSerializer())
diff --git a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt
index 3f8806b..7eca1d1 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt
@@ -19,8 +19,8 @@
import android.content.Context
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.io.File
+import org.junit.Test
class DataStoreFileTest {
@Test
diff --git a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/migrations/SharedPreferencesMigrationTest.kt b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/migrations/SharedPreferencesMigrationTest.kt
index a0a2452..51dd177 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/migrations/SharedPreferencesMigrationTest.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/migrations/SharedPreferencesMigrationTest.kt
@@ -18,15 +18,16 @@
import android.content.Context
import android.content.SharedPreferences
+import androidx.datastore.TestingSerializer
import androidx.datastore.core.DataMigration
import androidx.datastore.core.DataStore
import androidx.datastore.core.DataStoreFactory
-import androidx.datastore.TestingSerializer
import androidx.datastore.dataStore
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.MediumTest
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
+import java.io.File
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.TestScope
@@ -36,7 +37,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
-import java.io.File
private const val sharedPrefsName = "shared_prefs_name"
diff --git a/datastore/datastore/src/androidMain/kotlin/androidx/datastore/DataStoreDelegate.kt b/datastore/datastore/src/androidMain/kotlin/androidx/datastore/DataStoreDelegate.kt
index b53904f..aa35674 100644
--- a/datastore/datastore/src/androidMain/kotlin/androidx/datastore/DataStoreDelegate.kt
+++ b/datastore/datastore/src/androidMain/kotlin/androidx/datastore/DataStoreDelegate.kt
@@ -21,15 +21,15 @@
import androidx.datastore.core.DataMigration
import androidx.datastore.core.DataStore
import androidx.datastore.core.DataStoreFactory
-import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
import androidx.datastore.core.Serializer
+import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler
import androidx.datastore.core.okio.OkioSerializer
import androidx.datastore.core.okio.OkioStorage
+import kotlin.properties.ReadOnlyProperty
+import kotlin.reflect.KProperty
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
-import kotlin.properties.ReadOnlyProperty
-import kotlin.reflect.KProperty
import okio.BufferedSink
import okio.BufferedSource
import okio.FileSystem
diff --git a/datastore/datastore/src/androidMain/kotlin/androidx/datastore/migrations/SharedPreferencesMigration.kt b/datastore/datastore/src/androidMain/kotlin/androidx/datastore/migrations/SharedPreferencesMigration.kt
index 4fc7b7c..2bb5174 100644
--- a/datastore/datastore/src/androidMain/kotlin/androidx/datastore/migrations/SharedPreferencesMigration.kt
+++ b/datastore/datastore/src/androidMain/kotlin/androidx/datastore/migrations/SharedPreferencesMigration.kt
@@ -16,10 +16,10 @@
package androidx.datastore.migrations
-import androidx.annotation.DoNotInline
import android.content.Context
import android.content.SharedPreferences
import android.os.Build
+import androidx.annotation.DoNotInline
import androidx.annotation.RequiresApi
import androidx.datastore.core.DataMigration
import java.io.File
diff --git a/dynamicanimation/dynamicanimation-ktx/src/androidTest/java/androidx/dynamicanimation/tests/DynamicAnimationTest.kt b/dynamicanimation/dynamicanimation-ktx/src/androidTest/java/androidx/dynamicanimation/tests/DynamicAnimationTest.kt
index 13e3a47..0486ceb 100644
--- a/dynamicanimation/dynamicanimation-ktx/src/androidTest/java/androidx/dynamicanimation/tests/DynamicAnimationTest.kt
+++ b/dynamicanimation/dynamicanimation-ktx/src/androidTest/java/androidx/dynamicanimation/tests/DynamicAnimationTest.kt
@@ -17,7 +17,6 @@
package androidx.dynamicanimation.tests
import android.view.View
-
import androidx.dynamicanimation.animation.DynamicAnimation
import androidx.dynamicanimation.animation.SpringForce
import androidx.dynamicanimation.animation.flingAnimationOf
@@ -27,7 +26,6 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry
-
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
diff --git a/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/EmojiPickerViewTest.kt b/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/EmojiPickerViewTest.kt
index f6bbac1..77f976d 100644
--- a/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/EmojiPickerViewTest.kt
+++ b/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/EmojiPickerViewTest.kt
@@ -16,7 +16,6 @@
package androidx.emoji2.emojipicker
-import androidx.emoji2.emojipicker.R as EmojiPickerViewR
import android.app.Activity
import android.content.Context
import android.os.Bundle
@@ -25,6 +24,7 @@
import android.widget.ImageView
import androidx.core.view.children
import androidx.core.view.isVisible
+import androidx.emoji2.emojipicker.R as EmojiPickerViewR
import androidx.emoji2.emojipicker.test.R
import androidx.recyclerview.widget.RecyclerView
import androidx.test.core.app.ApplicationProvider
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/DeviceConfig.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/DeviceConfig.kt
index 745753a..7345548 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/DeviceConfig.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/DeviceConfig.kt
@@ -47,13 +47,13 @@
import com.android.resources.TouchScreen
import com.android.resources.UiMode
import com.google.android.collect.Maps
-import org.xmlpull.v1.XmlPullParser
-import org.xmlpull.v1.XmlPullParserException
-import org.xmlpull.v1.XmlPullParserFactory
import java.io.File
import java.io.FileInputStream
import java.io.IOException
import java.util.Properties
+import org.xmlpull.v1.XmlPullParser
+import org.xmlpull.v1.XmlPullParserException
+import org.xmlpull.v1.XmlPullParserFactory
/**
* Provides [FolderConfiguration] and [HardwareConfig] for various devices. Also provides utility
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/HtmlReportWriter.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/HtmlReportWriter.kt
index 4c1eabc..c43f4fb 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/HtmlReportWriter.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/HtmlReportWriter.kt
@@ -18,13 +18,6 @@
import app.cash.paparazzi.SnapshotHandler.FrameHandler
import app.cash.paparazzi.internal.PaparazziJson
import com.google.common.base.CharMatcher
-import okio.BufferedSink
-import okio.HashingSink
-import okio.blackholeSink
-import okio.buffer
-import okio.sink
-import okio.source
-import org.jcodec.api.awt.AWTSequenceEncoder
import java.awt.image.BufferedImage
import java.io.File
import java.text.SimpleDateFormat
@@ -32,6 +25,13 @@
import java.util.Locale
import java.util.UUID
import javax.imageio.ImageIO
+import okio.BufferedSink
+import okio.HashingSink
+import okio.blackholeSink
+import okio.buffer
+import okio.sink
+import okio.source
+import org.jcodec.api.awt.AWTSequenceEncoder
/**
* Creates an HTML report that avoids writing files that have already been written.
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Paparazzi.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Paparazzi.kt
index 40ce39e..c6f0042 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Paparazzi.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Paparazzi.kt
@@ -70,13 +70,13 @@
import com.android.layoutlib.bridge.BridgeRenderSession
import com.android.layoutlib.bridge.impl.RenderAction
import com.android.layoutlib.bridge.impl.RenderSessionImpl
-import org.junit.rules.TestRule
-import org.junit.runner.Description
-import org.junit.runners.model.Statement
import java.awt.image.BufferedImage
import java.util.Date
import java.util.concurrent.TimeUnit
import kotlin.coroutines.ContinuationInterceptor
+import org.junit.rules.TestRule
+import org.junit.runner.Description
+import org.junit.runners.model.Statement
class Paparazzi @JvmOverloads constructor(
private val environment: Environment = detectEnvironment(),
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Reflections.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Reflections.kt
index b6a4ac6..15617f0 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Reflections.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/Reflections.kt
@@ -1,9 +1,9 @@
package app.cash.paparazzi
-import sun.misc.Unsafe
import java.lang.reflect.Field
import java.lang.reflect.Modifier
import java.security.PrivilegedAction
+import sun.misc.Unsafe
/**
* Inspired by and ported from:
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/ImageUtils.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/ImageUtils.kt
index 8406d6d3..8e7111c 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/ImageUtils.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/ImageUtils.kt
@@ -16,9 +16,6 @@
package app.cash.paparazzi.internal
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Assert.fail
import java.awt.AlphaComposite
import java.awt.Color
import java.awt.Graphics2D
@@ -35,6 +32,9 @@
import java.io.IOException
import javax.imageio.ImageIO
import kotlin.math.max
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertTrue
+import org.junit.Assert.fail
/**
* Utilities related to image processing.
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/PaparazziCallback.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/PaparazziCallback.kt
index f6e164c..6e2b62e 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/PaparazziCallback.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/PaparazziCallback.kt
@@ -30,9 +30,6 @@
import com.android.resources.ResourceType
import com.android.resources.ResourceType.STYLE
import com.google.common.io.ByteStreams
-import org.kxml2.io.KXmlParser
-import org.xmlpull.v1.XmlPullParser
-import org.xmlpull.v1.XmlPullParserException
import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream
import java.io.File
@@ -40,6 +37,9 @@
import java.io.FileNotFoundException
import java.io.IOException
import java.lang.reflect.Modifier
+import org.kxml2.io.KXmlParser
+import org.xmlpull.v1.XmlPullParser
+import org.xmlpull.v1.XmlPullParserException
internal class PaparazziCallback(
private val logger: PaparazziLogger,
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt
index dd4a7f1..8f1a94a 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/LayoutPullParser.kt
@@ -24,9 +24,6 @@
import com.android.SdkConstants.TOOLS_URI
import com.android.ide.common.rendering.api.ILayoutPullParser
import com.android.ide.common.rendering.api.ResourceNamespace
-import okio.buffer
-import okio.source
-import org.xmlpull.v1.XmlPullParserException
import java.io.ByteArrayInputStream
import java.io.File
import java.io.FileInputStream
@@ -34,6 +31,9 @@
import java.io.IOError
import java.io.InputStream
import java.nio.charset.Charset
+import okio.buffer
+import okio.source
+import org.xmlpull.v1.XmlPullParserException
/**
* A layout parser that holds an in-memory tree of a given resource for subsequent traversal
diff --git a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/ResourceParser.kt b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/ResourceParser.kt
index 574e18d..f90475b 100644
--- a/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/ResourceParser.kt
+++ b/external/paparazzi/paparazzi/src/main/java/app/cash/paparazzi/internal/parsers/ResourceParser.kt
@@ -17,8 +17,8 @@
import com.android.SdkConstants.AAPT_URI
import com.android.SdkConstants.TAG_ATTR
-import org.kxml2.io.KXmlParser
import java.io.InputStream
+import org.kxml2.io.KXmlParser
/**
* An XML resource parser that creates a tree of [TagSnapshot]s
diff --git a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/HtmlReportWriterTest.kt b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/HtmlReportWriterTest.kt
index dc38b1c..80979c7 100644
--- a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/HtmlReportWriterTest.kt
+++ b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/HtmlReportWriterTest.kt
@@ -15,10 +15,6 @@
*/
package app.cash.paparazzi
-import org.assertj.core.api.Assertions.assertThat
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TemporaryFolder
import java.awt.image.BufferedImage
import java.io.File
import java.nio.file.Files
@@ -27,6 +23,10 @@
import java.nio.file.attribute.FileTime
import java.time.Instant
import java.util.Date
+import org.assertj.core.api.Assertions.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.rules.TemporaryFolder
class HtmlReportWriterTest {
@get:Rule
diff --git a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/PaparazziTest.kt b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/PaparazziTest.kt
index 498d456..356a6c8 100644
--- a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/PaparazziTest.kt
+++ b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/PaparazziTest.kt
@@ -27,11 +27,11 @@
import android.view.animation.LinearInterpolator
import android.widget.Button
import com.android.internal.lang.System_Delegate
+import java.util.concurrent.TimeUnit
import org.assertj.core.api.Assertions.assertThat
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
-import java.util.concurrent.TimeUnit
class PaparazziTest {
@get:Rule
diff --git a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/RenderingModeTest.kt b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/RenderingModeTest.kt
index c67ab76..d774099 100644
--- a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/RenderingModeTest.kt
+++ b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/RenderingModeTest.kt
@@ -11,12 +11,12 @@
import android.widget.TextView
import app.cash.paparazzi.internal.ImageUtils
import com.android.ide.common.rendering.api.SessionParams
-import org.junit.Test
-import org.junit.runner.Description
import java.awt.image.BufferedImage
import java.io.File
import javax.imageio.ImageIO
import org.junit.Ignore
+import org.junit.Test
+import org.junit.runner.Description
class RenderingModeTest {
diff --git a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/accessibility/AccessibilityRenderExtensionTest.kt b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/accessibility/AccessibilityRenderExtensionTest.kt
index 6399c8c..b9afe6e 100644
--- a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/accessibility/AccessibilityRenderExtensionTest.kt
+++ b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/accessibility/AccessibilityRenderExtensionTest.kt
@@ -16,12 +16,12 @@
import app.cash.paparazzi.Snapshot
import app.cash.paparazzi.SnapshotHandler
import app.cash.paparazzi.internal.ImageUtils
-import org.junit.Rule
-import org.junit.Test
import java.awt.image.BufferedImage
import java.io.File
import javax.imageio.ImageIO
import org.junit.Ignore
+import org.junit.Rule
+import org.junit.Test
class AccessibilityRenderExtensionTest {
private val snapshotHandler = TestSnapshotVerifier()
diff --git a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/internal/PaparazziLoggerTest.kt b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/internal/PaparazziLoggerTest.kt
index e1ab916..89d7823 100644
--- a/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/internal/PaparazziLoggerTest.kt
+++ b/external/paparazzi/paparazzi/src/test/java/app/cash/paparazzi/internal/PaparazziLoggerTest.kt
@@ -1,10 +1,10 @@
package app.cash.paparazzi.internal
import app.cash.paparazzi.internal.PaparazziLogger.MultipleFailuresException
+import java.io.FileNotFoundException
import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.fail
import org.junit.Test
-import java.io.FileNotFoundException
class PaparazziLoggerTest {
@Test
diff --git a/fragment/fragment-lint/src/main/java/androidx/fragment/lint/FragmentTagDetector.kt b/fragment/fragment-lint/src/main/java/androidx/fragment/lint/FragmentTagDetector.kt
index ac26747..8a5cd4c 100644
--- a/fragment/fragment-lint/src/main/java/androidx/fragment/lint/FragmentTagDetector.kt
+++ b/fragment/fragment-lint/src/main/java/androidx/fragment/lint/FragmentTagDetector.kt
@@ -26,8 +26,8 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.XmlContext
-import org.w3c.dom.Element
import java.util.Collections
+import org.w3c.dom.Element
/**
* Lint check for detecting use of fragment tag in layout xml files. This provides a warning that
diff --git a/fragment/fragment-lint/src/main/java/androidx/fragment/lint/UseRequireInsteadOfGet.kt b/fragment/fragment-lint/src/main/java/androidx/fragment/lint/UseRequireInsteadOfGet.kt
index 9529d0c..0e8b728c 100644
--- a/fragment/fragment-lint/src/main/java/androidx/fragment/lint/UseRequireInsteadOfGet.kt
+++ b/fragment/fragment-lint/src/main/java/androidx/fragment/lint/UseRequireInsteadOfGet.kt
@@ -29,6 +29,7 @@
import com.android.tools.lint.detector.api.isKotlin
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiMethod
+import java.util.Locale
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UExpression
@@ -42,7 +43,6 @@
import org.jetbrains.uast.skipParenthesizedExprUp
import org.jetbrains.uast.toUElement
import org.jetbrains.uast.tryResolve
-import java.util.Locale
/**
* Androidx added new "require____()" versions of common "get___()" APIs, such as
diff --git a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioViewModelTest.kt b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioViewModelTest.kt
index d88bcba..2ff83ba 100644
--- a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioViewModelTest.kt
+++ b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioViewModelTest.kt
@@ -25,8 +25,8 @@
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
+import org.mockito.Mockito.`when`
/**
* End-to-end integration test using a mock [ViewModel] injected in via a
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ChildFragmentStateTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ChildFragmentStateTest.kt
index f9ed241..cdb4b07 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ChildFragmentStateTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ChildFragmentStateTest.kt
@@ -23,7 +23,6 @@
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
import leakcanary.DetectLeaksAfterTestSuccess
-
import org.junit.Rule
import org.junit.Test
import org.junit.rules.RuleChain
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimationTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimationTest.kt
index e312fa9..c2dea61 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimationTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimationTest.kt
@@ -39,14 +39,14 @@
import androidx.testutils.waitForExecution
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import leakcanary.DetectLeaksAfterTestSuccess
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
import org.junit.rules.RuleChain
+import org.junit.runner.RunWith
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
index 9afccb3..7874c18 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
@@ -39,15 +39,15 @@
import androidx.testutils.waitForExecution
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import leakcanary.DetectLeaksAfterTestSuccess
import org.junit.Assert.fail
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import leakcanary.DetectLeaksAfterTestSuccess
import org.junit.rules.RuleChain
+import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
index b897a54..9567a88 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
@@ -29,14 +29,14 @@
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Assert.fail
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import leakcanary.DetectLeaksAfterTestSuccess
+import org.junit.Assert.fail
+import org.junit.Rule
+import org.junit.Test
import org.junit.rules.RuleChain
+import org.junit.runner.RunWith
/**
* Tests for Fragment startActivityForResult and startIntentSenderForResult.
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
index 1af6505..b8096d2 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
@@ -25,7 +25,6 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-
import org.junit.runner.RunWith
import org.mockito.Mockito.mock
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 e10aa608..2f174b5 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
@@ -38,17 +38,17 @@
import androidx.testutils.withUse
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.After
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import leakcanary.DetectLeaksAfterTestSuccess
+import org.junit.After
import org.junit.Assert.fail
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
import org.junit.rules.RuleChain
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@MediumTest
@RunWith(Parameterized::class)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt
index 5004ac0..e7a22a9 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt
@@ -26,13 +26,13 @@
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import leakcanary.DetectLeaksAfterTestSuccess
+import org.junit.Rule
+import org.junit.Test
import org.junit.rules.RuleChain
+import org.junit.runner.RunWith
@Suppress("DEPRECATION")
@RunWith(AndroidJUnit4::class)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
index fb7c81e..c5378713 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
@@ -33,13 +33,13 @@
import androidx.testutils.waitForExecution
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import leakcanary.DetectLeaksAfterTestSuccess
+import org.junit.Rule
+import org.junit.Test
import org.junit.rules.RuleChain
+import org.junit.runner.RunWith
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/NewIntentActivity.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/NewIntentActivity.kt
index cbd332d..bdccc7a 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/NewIntentActivity.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/NewIntentActivity.kt
@@ -18,10 +18,8 @@
import android.content.Intent
import android.os.Bundle
-
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-
import java.util.concurrent.CountDownLatch
class NewIntentActivity : FragmentActivity() {
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentContainerView.kt b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentContainerView.kt
index 2f826a4..c659047 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentContainerView.kt
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentContainerView.kt
@@ -15,8 +15,6 @@
*/
package androidx.fragment.app
-import android.widget.FrameLayout
-import androidx.fragment.R
import android.animation.LayoutTransition
import android.content.Context
import android.graphics.Canvas
@@ -25,10 +23,12 @@
import android.view.View
import android.view.ViewGroup
import android.view.WindowInsets
+import android.widget.FrameLayout
import androidx.annotation.RequiresApi
import androidx.core.content.withStyledAttributes
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
+import androidx.fragment.R
/**
* FragmentContainerView is a customized Layout designed specifically for Fragments. It extends
diff --git a/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt b/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt
index 5d35a4f..de68697 100644
--- a/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt
+++ b/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt
@@ -18,9 +18,9 @@
import androidx.compose.runtime.Composable
import androidx.compose.ui.unit.dp
-import androidx.glance.action.Action
import androidx.glance.Button
import androidx.glance.GlanceModifier
+import androidx.glance.action.Action
import androidx.glance.appwidget.appWidgetBackground
import androidx.glance.layout.Alignment
import androidx.glance.layout.Column
diff --git a/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt b/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt
index 92d17b07..20f1961 100644
--- a/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt
+++ b/glance/glance-appwidget-preview/src/androidAndroidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt
@@ -16,7 +16,6 @@
package androidx.glance.appwidget.preview
-import androidx.glance.appwidget.preview.test.R
import android.app.Activity
import android.os.Bundle
import android.view.View
@@ -26,6 +25,7 @@
import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView
+import androidx.glance.appwidget.preview.test.R
import androidx.test.filters.MediumTest
import org.junit.Assert.assertNotNull
import org.junit.Before
diff --git a/glance/glance-appwidget-preview/src/androidMain/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt b/glance/glance-appwidget-preview/src/androidMain/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt
index fab1843..53c5222 100644
--- a/glance/glance-appwidget-preview/src/androidMain/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt
+++ b/glance/glance-appwidget-preview/src/androidMain/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt
@@ -19,14 +19,12 @@
import android.appwidget.AppWidgetHostView
import android.content.Context
import android.util.AttributeSet
-
import androidx.compose.runtime.Composable
import androidx.compose.runtime.currentComposer
import androidx.compose.ui.unit.DpSize
import androidx.glance.appwidget.ExperimentalGlanceRemoteViewsApi
import androidx.glance.appwidget.GlanceRemoteViews
import androidx.glance.appwidget.preview.ComposableInvoker.invokeComposable
-
import kotlinx.coroutines.runBlocking
private const val TOOLS_NS_URI = "http://schemas.android.com/tools"
diff --git a/glance/glance-appwidget/build.gradle b/glance/glance-appwidget/build.gradle
index 85a163f..158c764 100644
--- a/glance/glance-appwidget/build.gradle
+++ b/glance/glance-appwidget/build.gradle
@@ -70,6 +70,7 @@
androidTestImplementation(project(":test:screenshot:screenshot"))
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0")
+ androidTestImplementation("androidx.room:room-runtime:2.4.3")
androidTestImplementation('androidx.core:core-ktx:1.7.0')
androidTestImplementation("androidx.work:work-testing:2.7.1")
androidTestImplementation(libs.espressoCore)
diff --git a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/GenerateRegistry.kt b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/GenerateRegistry.kt
index ccbb397..9886504 100644
--- a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/GenerateRegistry.kt
+++ b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/GenerateRegistry.kt
@@ -23,8 +23,8 @@
import com.squareup.kotlinpoet.FunSpec
import com.squareup.kotlinpoet.INT
import com.squareup.kotlinpoet.KModifier
-import com.squareup.kotlinpoet.KModifier.PRIVATE
import com.squareup.kotlinpoet.KModifier.INTERNAL
+import com.squareup.kotlinpoet.KModifier.PRIVATE
import com.squareup.kotlinpoet.MemberName
import com.squareup.kotlinpoet.MemberName.Companion.member
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
diff --git a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt
index 480095c4..aae62fc 100644
--- a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt
+++ b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/LayoutGenerator.kt
@@ -17,14 +17,14 @@
package androidx.glance.appwidget.layoutgenerator
import com.squareup.kotlinpoet.MemberName
-import org.w3c.dom.Document
-import org.w3c.dom.Node
import java.io.File
import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.transform.OutputKeys
import javax.xml.transform.TransformerFactory
import javax.xml.transform.dom.DOMSource
import javax.xml.transform.stream.StreamResult
+import org.w3c.dom.Document
+import org.w3c.dom.Node
/**
* Generate the layouts from the templates provided to the task.
diff --git a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/gradle/LayoutGeneratorTask.kt b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/gradle/LayoutGeneratorTask.kt
index fbe5c31..75f6129 100644
--- a/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/gradle/LayoutGeneratorTask.kt
+++ b/glance/glance-appwidget/glance-layout-generator/src/main/kotlin/androidx/glance/appwidget/layoutgenerator/gradle/LayoutGeneratorTask.kt
@@ -21,6 +21,7 @@
import androidx.glance.appwidget.layoutgenerator.cleanResources
import androidx.glance.appwidget.layoutgenerator.generateRegistry
import com.android.build.gradle.LibraryExtension
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.DirectoryProperty
@@ -30,7 +31,6 @@
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import java.io.File
/**
* Task generating the layouts from a set of Layout templates.
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/CompoundButtonAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/CompoundButtonAppWidget.kt
index 597ba89..6c4eaec 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/CompoundButtonAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/CompoundButtonAppWidget.kt
@@ -37,8 +37,8 @@
import androidx.glance.appwidget.SwitchDefaults
import androidx.glance.appwidget.appWidgetBackground
import androidx.glance.appwidget.cornerRadius
-import androidx.glance.appwidget.selectableGroup
import androidx.glance.appwidget.provideContent
+import androidx.glance.appwidget.selectableGroup
import androidx.glance.background
import androidx.glance.color.ColorProvider
import androidx.glance.layout.Alignment
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ScrollableAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ScrollableAppWidget.kt
index 8cdae1e..dcb80bb 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ScrollableAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ScrollableAppWidget.kt
@@ -16,13 +16,13 @@
package androidx.glance.appwidget.demos
-import androidx.compose.material.Text as ComposeText
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
+import androidx.compose.material.Text as ComposeText
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -84,14 +84,15 @@
modifier = GlanceModifier.fillMaxSize()
.background(R.color.default_widget_background)
) {
+ val localSize = LocalSize.current
Text(
- text = "Fix header",
+ text = "Fix header, LocalSize: ${localSize.width}x${localSize.height}",
modifier = GlanceModifier
.fillMaxWidth()
.padding(16.dp)
.background(Color(0x0a000000))
)
- val width = LocalSize.current.width
+ val width = localSize.width
when {
width <= singleColumn.width -> ScrollColumn(GlanceModifier.fillMaxSize())
width <= doubleColumn.width -> Row {
@@ -107,9 +108,22 @@
@Composable
private fun ScrollColumn(modifier: GlanceModifier) {
+ val localSize = LocalSize.current
LazyColumn(modifier) {
item {
SectionHeading(
+ title = "LocalSize",
+ description = "inside lazyColumn"
+ )
+ }
+ item {
+ Text(
+ text = "${localSize.width}x${localSize.height}",
+ modifier = GlanceModifier.padding(10.dp)
+ )
+ }
+ item {
+ SectionHeading(
title = "Activities",
description = "Click the buttons to open activities"
)
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/VerticalGridAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/VerticalGridAppWidget.kt
index 9c4f452..ef88370 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/VerticalGridAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/VerticalGridAppWidget.kt
@@ -17,14 +17,15 @@
package androidx.glance.appwidget.demos
import android.content.Context
-import android.os.Build
import android.content.Intent
+import android.os.Build
import androidx.compose.runtime.Composable
import androidx.compose.ui.unit.dp
import androidx.glance.Button
import androidx.glance.GlanceId
import androidx.glance.GlanceModifier
import androidx.glance.LocalContext
+import androidx.glance.LocalSize
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import androidx.glance.appwidget.action.actionStartActivity
@@ -66,6 +67,7 @@
@Composable
fun SampleGrid(cells: GridCells, modifier: GlanceModifier = GlanceModifier.fillMaxSize()) {
+ val localSize = LocalSize.current
LazyVerticalGrid(
modifier = modifier,
gridCells = cells
@@ -73,6 +75,9 @@
item {
Text("LazyVerticalGrid")
}
+ item {
+ Text("${localSize.width}x${localSize.height}")
+ }
items(count = 20, itemId = { it * 2L }) { index ->
Text("Item $index")
}
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AndroidTestUtils.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AndroidTestUtils.kt
index fa6fcab..164ee74 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AndroidTestUtils.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AndroidTestUtils.kt
@@ -161,6 +161,17 @@
findViewById<View>(emptyLoadingViewID) != null
}
+fun ListView.isItemLoaded(text: String): Boolean {
+ if (childCount > 0 && adapter != null) {
+ return children.any {
+ val matches = arrayListOf<View>()
+ it.findViewsWithText(matches, text, View.FIND_VIEWS_WITH_TEXT)
+ matches.isNotEmpty()
+ }
+ }
+ return false
+}
+
/**
* Returns true if list items are fully loaded (i.e. not in loading... state).
*/
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AppWidgetHostTestActivity.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AppWidgetHostTestActivity.kt
index e8dc6c6..f42506b 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AppWidgetHostTestActivity.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/AppWidgetHostTestActivity.kt
@@ -35,13 +35,13 @@
import android.widget.FrameLayout
import android.widget.RemoteViews
import androidx.annotation.RequiresApi
-import androidx.glance.appwidget.test.R
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import org.junit.Assert.fail
+import androidx.glance.appwidget.test.R
import java.util.Locale
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Assert.fail
private const val TAG = "AppWidgetHostTestActivity"
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt
index 29ea48be..8b42c7c 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt
@@ -31,10 +31,10 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
-import org.junit.Test
import kotlin.test.assertIs
import kotlin.test.assertNotNull
+import org.junit.Rule
+import org.junit.Test
@SdkSuppress(minSdkVersion = 29)
@MediumTest
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt
index 40ad5f8..74454f9 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt
@@ -26,9 +26,6 @@
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.isActive
-import org.junit.Test
import java.io.FileInputStream
import java.nio.charset.StandardCharsets
import java.time.Duration
@@ -37,6 +34,9 @@
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicReference
import kotlin.math.min
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.isActive
+import org.junit.Test
@SdkSuppress(minSdkVersion = 26)
class CoroutineBroadcastReceiverTest {
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
index af28347..927111b 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
@@ -27,6 +27,9 @@
import android.widget.TextView
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.glance.Button
@@ -332,6 +335,48 @@
}
@Test
+ fun adapter_emptyList() {
+ TestGlanceAppWidget.uiDefinition = {
+ LazyColumn { }
+ }
+
+ mHostRule.startHost()
+
+ mHostRule.waitForListView { list ->
+ assertThat(list.childCount).isEqualTo(0)
+ assertThat(list.adapter.count).isEqualTo(0)
+ assertThat(list.adapter.viewTypeCount).isAtLeast(1)
+ assertThat(list.adapter.hasStableIds()).isFalse()
+ }
+ }
+
+ @Test
+ fun adapter_itemContentChangesOnClick_appliedCorrectly() {
+ TestGlanceAppWidget.uiDefinition = {
+ var count by remember { mutableStateOf(1) }
+ LazyColumn {
+ item {
+ Text(
+ text = "Row item 0, count $count",
+ modifier = GlanceModifier.clickable {
+ count++
+ })
+ }
+ }
+ }
+
+ mHostRule.startHost()
+
+ mHostRule.waitForListViewChildren { list ->
+ val row = list.getUnboxedListItem<FrameLayout>(0)
+ val rowItem0 = row.notGoneChildren.first()
+ rowItem0.performClick()
+ }
+
+ mHostRule.waitForListViewChildWithText(text = "Row item 0, count 1") {}
+ }
+
+ @Test
@SdkSuppress(minSdkVersion = 31)
fun clickable_addsClickHandlers() {
TestGlanceAppWidget.uiDefinition = {
@@ -503,6 +548,23 @@
}
}
+/**
+ * Wait until the ListView is loaded and has an adapter (irrespective of whether it has children or
+ * not). Use waitForListViewChildren if the list is expected to have children.
+ */
+internal fun AppWidgetHostRule.waitForListView(action: (list: ListView) -> Unit = {}) {
+ onHostView { }
+
+ runAndObserveUntilDraw(condition = "ListView did not load in time") {
+ mHostView.let { host ->
+ val list = host.findChildByType<ListView>()
+ host.childCount > 0 && list != null && list.adapter != null
+ }
+ }
+
+ onUnboxedHostView(action)
+}
+
internal fun AppWidgetHostRule.waitForListViewChildren(action: (list: ListView) -> Unit = {}) {
onHostView { }
@@ -516,6 +578,22 @@
onUnboxedHostView(action)
}
+internal fun AppWidgetHostRule.waitForListViewChildWithText(
+ text: String,
+ action: (list: ListView) -> Unit = {}
+) {
+ onHostView { }
+
+ runAndObserveUntilDraw(condition = "List child with text '$text' not load in time") {
+ mHostView.let { host ->
+ val list = host.findChildByType<ListView>()
+ host.childCount > 0 && list?.isItemLoaded(text) ?: false
+ }
+ }
+
+ onUnboxedHostView(action)
+}
+
/**
* Wait until the first ListView child under the root AppWidgetHostView has [count] children.
*
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt
new file mode 100644
index 0000000..41561f8
--- /dev/null
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2023 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.glance.appwidget
+
+import android.content.Context
+import android.widget.RemoteViews
+import androidx.glance.appwidget.test.R
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.filters.MediumTest
+import androidx.test.filters.SdkSuppress
+import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertFailsWith
+import org.junit.Test
+
+@SdkSuppress(maxSdkVersion = 29)
+@MediumTest
+class RemoteCollectionItemsTest {
+ private val context = ApplicationProvider.getApplicationContext<Context>()
+ private val packageName = context.packageName
+
+ @Test
+ fun testBuilder_empty() {
+ val items = RemoteCollectionItems.Builder().build()
+
+ assertThat(items.itemCount).isEqualTo(0)
+ assertThat(items.viewTypeCount).isEqualTo(1)
+ assertThat(items.hasStableIds()).isFalse()
+ }
+
+ @Test
+ fun testBuilder_viewTypeCountUnspecified() {
+ val firstItem = RemoteViews(packageName, R.layout.list_view_row)
+ val secondItem = RemoteViews(packageName, R.layout.list_view_row_2)
+ val items = RemoteCollectionItems.Builder()
+ .setHasStableIds(true)
+ .addItem(id = 3, firstItem)
+ .addItem(id = 5, secondItem)
+ .build()
+
+ assertThat(items.itemCount).isEqualTo(2)
+ assertThat(items.getItemId(0)).isEqualTo(3)
+ assertThat(items.getItemId(1)).isEqualTo(5)
+ assertThat(items.getItemView(0).layoutId).isEqualTo(R.layout.list_view_row)
+ assertThat(items.getItemView(1).layoutId).isEqualTo(R.layout.list_view_row_2)
+ assertThat(items.hasStableIds()).isTrue()
+ // The view type count should be derived from the number of different layout ids if
+ // unspecified.
+ assertThat(items.viewTypeCount).isEqualTo(2)
+ }
+
+ @Test
+ fun testBuilder_viewTypeCountSpecified() {
+ val firstItem = RemoteViews(packageName, R.layout.list_view_row)
+ val secondItem = RemoteViews(packageName, R.layout.list_view_row_2)
+ val items = RemoteCollectionItems.Builder()
+ .addItem(id = 3, firstItem)
+ .addItem(id = 5, secondItem)
+ .setViewTypeCount(15)
+ .build()
+
+ assertThat(items.viewTypeCount).isEqualTo(15)
+ }
+
+ @Test
+ fun testBuilder_repeatedIdsAndLayouts() {
+ val firstItem = RemoteViews(packageName, R.layout.list_view_row)
+ val secondItem = RemoteViews(packageName, R.layout.list_view_row)
+ val thirdItem = RemoteViews(packageName, R.layout.list_view_row)
+ val items = RemoteCollectionItems.Builder()
+ .setHasStableIds(false)
+ .addItem(id = 42, firstItem)
+ .addItem(id = 42, secondItem)
+ .addItem(id = 42, thirdItem)
+ .build()
+
+ assertThat(items.itemCount).isEqualTo(3)
+ assertThat(items.getItemId(0)).isEqualTo(42)
+ assertThat(items.getItemId(1)).isEqualTo(42)
+ assertThat(items.getItemId(2)).isEqualTo(42)
+ assertThat(items.getItemView(0)).isSameInstanceAs(firstItem)
+ assertThat(items.getItemView(1)).isSameInstanceAs(secondItem)
+ assertThat(items.getItemView(2)).isSameInstanceAs(thirdItem)
+ assertThat(items.hasStableIds()).isFalse()
+ assertThat(items.viewTypeCount).isEqualTo(1)
+ }
+
+ @Test
+ fun testBuilder_viewTypeCountLowerThanLayoutCount() {
+ assertFailsWith(IllegalArgumentException::class) {
+ RemoteCollectionItems.Builder()
+ .setHasStableIds(true)
+ .setViewTypeCount(1)
+ .addItem(3, RemoteViews(packageName, R.layout.list_view_row))
+ .addItem(5, RemoteViews(packageName, R.layout.list_view_row_2))
+ .build()
+ }
+ }
+}
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
index c733193..35ef162 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
@@ -28,9 +28,9 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertNotNull
import org.junit.Rule
import org.junit.Test
-import kotlin.test.assertNotNull
@SdkSuppress(minSdkVersion = 29)
@MediumTest
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/StrictModeTest.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/StrictModeTest.kt
index 6a3e51f..0caab64 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/StrictModeTest.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/StrictModeTest.kt
@@ -168,4 +168,4 @@
Truth.assertThat(CallbackTest.latch.await(5, TimeUnit.SECONDS)).isTrue()
Truth.assertThat(CallbackTest.received.get()).containsExactly(1, 2)
}
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt
index 45492af..cf36c45 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt
@@ -18,11 +18,11 @@
import android.content.res.Configuration
import android.os.Build
+import java.lang.reflect.AnnotatedElement
+import java.lang.reflect.Method
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
-import java.lang.reflect.AnnotatedElement
-import java.lang.reflect.Method
/**
* Annotation for specifying a per-test or per-method override of the device night mode
diff --git a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithRtl.kt b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithRtl.kt
index b15b830..b7f7961 100644
--- a/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithRtl.kt
+++ b/glance/glance-appwidget/src/androidAndroidTest/kotlin/androidx/glance/appwidget/WithRtl.kt
@@ -16,12 +16,12 @@
package androidx.glance.appwidget
-import org.junit.rules.TestRule
-import org.junit.runner.Description
-import org.junit.runners.model.Statement
import java.lang.reflect.AnnotatedElement
import java.lang.reflect.Method
import java.util.Locale
+import org.junit.rules.TestRule
+import org.junit.runner.Description
+import org.junit.runners.model.Statement
/**
* Annotation for specifying a per-test or per-method override of the default locale. Multiple
diff --git a/glance/glance-appwidget/src/androidAndroidTest/res/layout/list_view_row.xml b/glance/glance-appwidget/src/androidAndroidTest/res/layout/list_view_row.xml
new file mode 100644
index 0000000..73eeb18
--- /dev/null
+++ b/glance/glance-appwidget/src/androidAndroidTest/res/layout/list_view_row.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2023 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.
+ -->
+
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/text"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"/>
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidAndroidTest/res/layout/list_view_row_2.xml b/glance/glance-appwidget/src/androidAndroidTest/res/layout/list_view_row_2.xml
new file mode 100644
index 0000000..7d2ccd3
--- /dev/null
+++ b/glance/glance-appwidget/src/androidAndroidTest/res/layout/list_view_row_2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2023 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.
+ -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/text"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"/>
+</FrameLayout>
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidAndroidTest/res/layout/remote_views_list.xml b/glance/glance-appwidget/src/androidAndroidTest/res/layout/remote_views_list.xml
new file mode 100644
index 0000000..8d0b5c9
--- /dev/null
+++ b/glance/glance-appwidget/src/androidAndroidTest/res/layout/remote_views_list.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ Copyright 2023 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.
+ -->
+
+<ListView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/list_view"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidMain/AndroidManifest.xml b/glance/glance-appwidget/src/androidMain/AndroidManifest.xml
index 9bcafb2..a78692f 100644
--- a/glance/glance-appwidget/src/androidMain/AndroidManifest.xml
+++ b/glance/glance-appwidget/src/androidMain/AndroidManifest.xml
@@ -41,5 +41,9 @@
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>
+ <service
+ android:name="androidx.glance.appwidget.GlanceRemoteViewsService"
+ android:permission="android.permission.BIND_REMOTEVIEWS"
+ android:exported="true" />
</application>
</manifest>
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/AppWidgetSession.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/AppWidgetSession.kt
index 92f688c..74bc2e5 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/AppWidgetSession.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/AppWidgetSession.kt
@@ -42,6 +42,7 @@
import androidx.glance.state.ConfigManager
import androidx.glance.state.GlanceState
import kotlinx.coroutines.CancellationException
+import kotlinx.coroutines.channels.Channel
/**
* A session that composes UI for a single app widget.
@@ -73,6 +74,7 @@
private val glanceState = mutableStateOf<Any?>(null, neverEqualPolicy())
private val options = mutableStateOf(Bundle(), neverEqualPolicy())
private var lambdas = mapOf<String, List<LambdaAction>>()
+
@VisibleForTesting
internal var lastRemoteViews: RemoteViews? = null
private set
@@ -184,6 +186,7 @@
lambdas[event.key]?.forEach { it.block() }
} ?: Log.w(TAG, "Triggering Action(${event.key}) for session($key) failed")
}
+ is WaitForReady -> event.resume.send(Unit)
else -> {
throw IllegalArgumentException(
"Sent unrecognized event type ${event.javaClass} to AppWidgetSession"
@@ -204,6 +207,13 @@
sendEvent(RunLambda(key))
}
+ suspend fun waitForReady() {
+ WaitForReady().let {
+ sendEvent(it)
+ it.resume.receive()
+ }
+ }
+
// Event types that this session supports.
@VisibleForTesting
internal object UpdateGlanceState
@@ -211,4 +221,8 @@
internal class UpdateAppWidgetOptions(val newOptions: Bundle)
@VisibleForTesting
internal class RunLambda(val key: String)
+ @VisibleForTesting
+ internal class WaitForReady(
+ val resume: Channel<Unit> = Channel(Channel.CONFLATED)
+ )
}
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt
index 7ab9e6a..b963763 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt
@@ -18,13 +18,13 @@
import android.content.BroadcastReceiver
import android.util.Log
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
-import kotlin.coroutines.CoroutineContext
/**
* Execute the block asynchronously in a scope with the lifetime of the broadcast.
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/GlanceRemoteViewsService.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/GlanceRemoteViewsService.kt
new file mode 100644
index 0000000..a9b49c7
--- /dev/null
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/GlanceRemoteViewsService.kt
@@ -0,0 +1,252 @@
+/*
+ * Copyright 2023 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.glance.appwidget
+
+import android.appwidget.AppWidgetManager
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import android.os.Build
+import android.widget.RemoteViews
+import android.widget.RemoteViewsService
+import androidx.annotation.DoNotInline
+import androidx.annotation.RequiresApi
+import androidx.annotation.RestrictTo
+import androidx.glance.session.GlanceSessionManager
+import kotlinx.coroutines.runBlocking
+
+/**
+ * [RemoteViewsService] to be connected to for a remote adapter that returns RemoteViews for lazy
+ * lists / grids.
+ */
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+class GlanceRemoteViewsService : RemoteViewsService() {
+ override fun onGetViewFactory(intent: Intent): RemoteViewsFactory {
+ val appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1)
+ check(appWidgetId != -1) { "No app widget id was present in the intent" }
+
+ val viewId = intent.getIntExtra(EXTRA_VIEW_ID, -1)
+ check(viewId != -1) { "No view id was present in the intent" }
+
+ val sizeInfo = intent.getStringExtra(EXTRA_SIZE_INFO)
+ check(!sizeInfo.isNullOrEmpty()) { "No size info was present in the intent" }
+
+ return GlanceRemoteViewsFactory(this, appWidgetId, viewId, sizeInfo)
+ }
+
+ companion object {
+ const val EXTRA_VIEW_ID = "androidx.glance.widget.extra.view_id"
+ const val EXTRA_SIZE_INFO = "androidx.glance.widget.extra.size_info"
+
+ // An in-memory store containing items to be returned via the adapter when requested.
+ private val InMemoryStore = RemoteCollectionItemsInMemoryStore()
+
+ // Adds items to the store for later use by the list adapter to display the items.
+ internal fun saveItems(
+ appWidgetId: Int,
+ viewId: Int,
+ sizeInfo: String,
+ remoteCollectionItems: RemoteCollectionItems
+ ) {
+ synchronized(InMemoryStore) {
+ InMemoryStore.save(appWidgetId, viewId, sizeInfo, remoteCollectionItems)
+ }
+ }
+
+ // Returns items in the store for the requested view in appwidget for the specified size.
+ private fun getItems(
+ appWidgetId: Int,
+ viewId: Int,
+ sizeInfo: String
+ ): RemoteCollectionItems {
+ return synchronized(InMemoryStore) {
+ InMemoryStore.getItems(appWidgetId, viewId, sizeInfo)
+ }
+ }
+
+ // Removes items in the store for the requested view in appwidget for the specified size.
+ private fun removeItems(appWidgetId: Int, viewId: Int, sizeInfo: String) {
+ synchronized(InMemoryStore) {
+ InMemoryStore.removeItems(appWidgetId, viewId, sizeInfo)
+ }
+ }
+ }
+
+ /**
+ * A RemoteViewsFactory that holds items in memory and provides it to the host when requested.
+ *
+ * <p>Starts glance session if needed to reload items in memory e.g. when app process was killed
+ * and user scrolled on an existing list / grid view.
+ */
+ internal class GlanceRemoteViewsFactory(
+ private val context: Context,
+ private val appWidgetId: Int,
+ private val viewId: Int,
+ private val size: String
+ ) : RemoteViewsFactory {
+ override fun onCreate() {
+ // OnDataSetChanged is always called even onCreate, so we don't need to load data here.
+ }
+
+ override fun onDataSetChanged() = loadData()
+
+ private fun loadData() {
+ runBlocking {
+ val glanceId = AppWidgetId(appWidgetId)
+ // If session is already running, data must have already been loaded into the store
+ // during composition.
+ if (!GlanceSessionManager.isSessionRunning(context, glanceId.toSessionKey())) {
+ startSessionAndWaitUntilReady(glanceId)
+ }
+ }
+ }
+
+ private suspend fun startSessionAndWaitUntilReady(glanceId: AppWidgetId) {
+ val appWidgetManager = AppWidgetManager.getInstance(context)
+ val providerInfo = appWidgetManager.getAppWidgetInfo(appWidgetId)
+ if (providerInfo?.provider != null) {
+ val receiverClass = Class.forName(providerInfo.provider.className)
+ val glanceAppWidget =
+ (receiverClass.getDeclaredConstructor()
+ .newInstance() as GlanceAppWidgetReceiver).glanceAppWidget
+ AppWidgetSession(glanceAppWidget, glanceId)
+ .also { GlanceSessionManager.startSession(context, it) }
+ .waitForReady()
+ }
+ }
+
+ override fun onDestroy() {
+ removeItems(appWidgetId, viewId, size)
+ }
+
+ private fun items() = getItems(appWidgetId, viewId, size)
+
+ override fun getCount(): Int {
+ return items().itemCount
+ }
+
+ override fun getViewAt(position: Int): RemoteViews {
+ return items().getItemView(position)
+ }
+
+ override fun getLoadingView() = null
+
+ override fun getViewTypeCount(): Int = items().viewTypeCount
+
+ override fun getItemId(position: Int): Long = items().getItemId(position)
+
+ override fun hasStableIds(): Boolean = items().hasStableIds()
+ }
+}
+
+/**
+ * An in-memory store holding [RemoteCollectionItems] for each sized lazy view in appWidgets.
+ */
+private class RemoteCollectionItemsInMemoryStore {
+ private val items = mutableMapOf<String, RemoteCollectionItems>()
+
+ fun save(
+ appWidgetId: Int,
+ viewId: Int,
+ sizeInfo: String,
+ remoteCollectionItems: RemoteCollectionItems
+ ) {
+ items[key(appWidgetId, viewId, sizeInfo)] = remoteCollectionItems
+ }
+
+ /**
+ * Returns the collection items corresponding to the requested view in appwidget and size.
+ */
+ fun getItems(appWidgetId: Int, viewId: Int, sizeInfo: String): RemoteCollectionItems {
+ return items[key(appWidgetId, viewId, sizeInfo)] ?: RemoteCollectionItems.Empty
+ }
+
+ /**
+ * Removes the collection items corresponding to the requested view in appwidget and size.
+ */
+ fun removeItems(appWidgetId: Int, viewId: Int, sizeInfo: String) {
+ items.remove(key(appWidgetId, viewId, sizeInfo))
+ }
+
+ // A unique key for RemoteCollectionItems in the store. Including size info allows us to compose
+ // for different sizes and maintain separate collection items for each size.
+ private fun key(appWidgetId: Int, viewId: Int, sizeInfo: String): String {
+ return "$appWidgetId-$viewId-$sizeInfo"
+ }
+}
+
+/**
+ * Sets remote views adapter.
+ *
+ * <p>For SDKs higher than S, passes the items in the adapter. For S and below SDKs, connects to a
+ * GlanceRemoteViewsService using an intent.
+ */
+@Suppress("DEPRECATION")
+@DoNotInline
+internal fun RemoteViews.setRemoteAdapter(
+ context: Context,
+ appWidgetId: Int,
+ viewId: Int,
+ sizeInfo: String,
+ items: RemoteCollectionItems
+) {
+ if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S) {
+ CollectionItemsApi31Impl.setRemoteAdapter(this, viewId, items)
+ } else {
+ val intent = Intent(context, GlanceRemoteViewsService::class.java)
+ .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)
+ .putExtra(GlanceRemoteViewsService.EXTRA_VIEW_ID, viewId)
+ .putExtra(GlanceRemoteViewsService.EXTRA_SIZE_INFO, sizeInfo)
+ .apply {
+ // Set a data Uri to disambiguate Intents for different widget/view ids.
+ data = Uri.parse(toUri(Intent.URI_INTENT_SCHEME))
+ }
+ check(context.packageManager.resolveService(intent, 0) != null) {
+ "GlanceRemoteViewsService could not be resolved, check the app manifest."
+ }
+ setRemoteAdapter(viewId, intent)
+ GlanceRemoteViewsService.saveItems(
+ appWidgetId,
+ viewId,
+ sizeInfo,
+ items
+ )
+ AppWidgetManager.getInstance(context).notifyAppWidgetViewDataChanged(appWidgetId, viewId)
+ }
+}
+
+@RequiresApi(Build.VERSION_CODES.S)
+private object CollectionItemsApi31Impl {
+ @DoNotInline
+ fun setRemoteAdapter(remoteViews: RemoteViews, viewId: Int, items: RemoteCollectionItems) {
+ remoteViews.setRemoteAdapter(viewId, toPlatformCollectionItems(items))
+ }
+
+ @DoNotInline
+ fun toPlatformCollectionItems(items: RemoteCollectionItems):
+ RemoteViews.RemoteCollectionItems {
+ return RemoteViews.RemoteCollectionItems.Builder()
+ .setHasStableIds(items.hasStableIds())
+ .setViewTypeCount(items.viewTypeCount)
+ .also { builder ->
+ repeat(items.itemCount) { index ->
+ builder.addItem(items.getItemId(index), items.getItemView(index))
+ }
+ }
+ .build()
+ }
+}
\ No newline at end of file
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LinearProgressIndicator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LinearProgressIndicator.kt
index 409413f..e314c1a 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LinearProgressIndicator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/LinearProgressIndicator.kt
@@ -17,10 +17,10 @@
package androidx.glance.appwidget
import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.Color
import androidx.glance.Emittable
import androidx.glance.GlanceModifier
import androidx.glance.GlanceNode
-import androidx.compose.ui.graphics.Color
import androidx.glance.unit.ColorProvider
/**
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteCollectionItems.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteCollectionItems.kt
new file mode 100644
index 0000000..61c8bcb
--- /dev/null
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteCollectionItems.kt
@@ -0,0 +1,153 @@
+/*
+ * Copyright 2023 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.glance.appwidget
+
+import android.annotation.SuppressLint
+import android.widget.RemoteViews
+
+/** Representation of a fixed list of items to be displayed in a RemoteViews collection. */
+internal class RemoteCollectionItems private constructor(
+ private val ids: LongArray,
+ private val views: Array<RemoteViews>,
+ private val hasStableIds: Boolean,
+ private val _viewTypeCount: Int
+) {
+ init {
+ require(ids.size == views.size) {
+ "RemoteCollectionItems has different number of ids and views"
+ }
+ require(_viewTypeCount >= 1) { "View type count must be >= 1" }
+ val layoutIdCount = views.map { it.layoutId }.distinct().count()
+ require(layoutIdCount <= _viewTypeCount) {
+ "View type count is set to $_viewTypeCount, but the collection contains " +
+ "$layoutIdCount different layout ids"
+ }
+ }
+
+ /**
+ * Returns the id for [position]. See [hasStableIds] for whether this id should be
+ * considered meaningful across collection updates.
+ *
+ * @return Id for the position.
+ */
+ fun getItemId(position: Int): Long = ids[position]
+
+ /**
+ * Returns the [RemoteViews] to display at [position].
+ *
+ * @return RemoteViews for the position.
+ */
+ fun getItemView(position: Int): RemoteViews = views[position]
+
+ /**
+ * Returns the number of elements in the collection.
+ *
+ * @return Count of items.
+ */
+ val itemCount: Int
+ get() = ids.size
+
+ /**
+ * Returns the view type count for the collection when used in an adapter
+ *
+ * @return Count of view types for the collection when used in an adapter.
+ * @see android.widget.Adapter.getViewTypeCount
+ */
+ val viewTypeCount: Int
+ get() = _viewTypeCount
+
+ /**
+ * Indicates whether the item ids are stable across changes to the underlying data.
+ *
+ * @return True if the same id always refers to the same object.
+ * @see android.widget.Adapter.hasStableIds
+ */
+ fun hasStableIds(): Boolean = hasStableIds
+
+ /** Builder class for [RemoteCollectionItems] objects. */
+ class Builder {
+ private val ids = arrayListOf<Long>()
+ private val views = arrayListOf<RemoteViews>()
+ private var hasStableIds = false
+ private var viewTypeCount = 0
+
+ /**
+ * Adds a [RemoteViews] to the collection.
+ *
+ * @param id Id to associate with the row. Use [.setHasStableIds] to indicate that ids are
+ * stable across changes to the collection.
+ * @param view RemoteViews to display for the row.
+ */
+ // Covered by getItemId, getItemView, getItemCount.
+ @SuppressLint("MissingGetterMatchingBuilder")
+ fun addItem(id: Long, view: RemoteViews): Builder {
+ ids.add(id)
+ views.add(view)
+ return this
+ }
+
+ /**
+ * Sets whether the item ids are stable across changes to the underlying data.
+ *
+ * @see android.widget.Adapter.hasStableIds
+ */
+ fun setHasStableIds(hasStableIds: Boolean): Builder {
+ this.hasStableIds = hasStableIds
+ return this
+ }
+
+ /**
+ * Sets the view type count for the collection when used in an adapter. This can be set
+ * to the maximum number of different layout ids that will be used by RemoteViews in
+ * this collection.
+ *
+ * If this value is not set, then a value will be inferred from the provided items. As
+ * a result, the adapter may need to be recreated when the list is updated with
+ * previously unseen RemoteViews layouts for new items.
+ *
+ * @see android.widget.Adapter.getViewTypeCount
+ */
+ fun setViewTypeCount(viewTypeCount: Int): Builder {
+ this.viewTypeCount = viewTypeCount
+ return this
+ }
+
+ /** Creates the [RemoteCollectionItems] defined by this builder. */
+ fun build(): RemoteCollectionItems {
+ if (viewTypeCount < 1) {
+ // If a view type count wasn't specified, set it to be the number of distinct
+ // layout ids used in the items.
+ viewTypeCount = views.map { it.layoutId }.distinct().count()
+ }
+ return RemoteCollectionItems(
+ ids.toLongArray(),
+ views.toTypedArray(),
+ hasStableIds,
+ maxOf(viewTypeCount, 1)
+ )
+ }
+ }
+
+ companion object {
+ val Empty = RemoteCollectionItems(
+ ids = longArrayOf(),
+ views = emptyArray(),
+ hasStableIds = false,
+ _viewTypeCount = 1
+ )
+ }
+}
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt
index e6a5fed..2618cbc 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/RemoteViewsTranslator.kt
@@ -30,6 +30,7 @@
import androidx.annotation.VisibleForTesting
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.isSpecified
import androidx.core.widget.RemoteViewsCompat.setLinearLayoutGravity
import androidx.glance.Emittable
import androidx.glance.EmittableButton
@@ -114,7 +115,10 @@
val size = (child as EmittableSizeBox).size
val remoteViewsInfo = createRootView(translationContext, child.modifier, rootViewIndex)
val rv = remoteViewsInfo.remoteViews.apply {
- translateChild(translationContext.forRoot(root = remoteViewsInfo), child)
+ translateChild(
+ translationContext.forRootAndSize(root = remoteViewsInfo, size),
+ child
+ )
}
size.toSizeF() to rv
}
@@ -146,7 +150,7 @@
else -> throw IllegalArgumentException("There must be between 1 and 2 views.")
}
-private const val LastInvalidViewId = 1
+private const val LAST_INVALID_VIEW_ID = 1
internal data class TranslationContext(
val context: Context,
@@ -155,7 +159,7 @@
val layoutConfiguration: LayoutConfiguration?,
val itemPosition: Int,
val isLazyCollectionDescendant: Boolean = false,
- val lastViewId: AtomicInteger = AtomicInteger(LastInvalidViewId),
+ val lastViewId: AtomicInteger = AtomicInteger(LAST_INVALID_VIEW_ID),
val parentContext: InsertedViewInfo = InsertedViewInfo(),
val isBackgroundSpecified: AtomicBoolean = AtomicBoolean(false),
val layoutSize: DpSize = DpSize.Zero,
@@ -174,7 +178,15 @@
forChild(pos = 0, parent = root.view)
.copy(
isBackgroundSpecified = AtomicBoolean(false),
- lastViewId = AtomicInteger(LastInvalidViewId),
+ lastViewId = AtomicInteger(LAST_INVALID_VIEW_ID),
+ )
+
+ fun forRootAndSize(root: RemoteViewsInfo, layoutSize: DpSize): TranslationContext =
+ forChild(pos = 0, parent = root.view)
+ .copy(
+ isBackgroundSpecified = AtomicBoolean(false),
+ lastViewId = AtomicInteger(LAST_INVALID_VIEW_ID),
+ layoutSize = layoutSize
)
fun resetViewId(newViewId: Int = 0) = copy(lastViewId = AtomicInteger(newViewId))
@@ -190,6 +202,14 @@
fun forActionTargetId(viewId: Int) = copy(actionTargetId = viewId)
}
+internal fun DpSize.toSizeString(): String {
+ return if (isSpecified) {
+ "${width}x$height"
+ } else {
+ "Unspecified"
+ }
+}
+
internal fun RemoteViews.translateChild(
translationContext: TranslationContext,
element: Emittable
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt
index b106440..cea6860 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/Utils.kt
@@ -23,10 +23,10 @@
import android.widget.RemoteViews
import androidx.annotation.IdRes
import androidx.annotation.LayoutRes
-import androidx.core.widget.RemoteViewsCompat.setViewStubInflatedId
-import androidx.core.widget.RemoteViewsCompat.setViewStubLayoutResource
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
+import androidx.core.widget.RemoteViewsCompat.setViewStubInflatedId
+import androidx.core.widget.RemoteViewsCompat.setViewStubLayoutResource
internal fun Dp.toPixels(context: Context) = toPixels(context.resources.displayMetrics)
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/lazy/LazyVerticalGrid.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/lazy/LazyVerticalGrid.kt
index 0efa461..77a2e9d 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/lazy/LazyVerticalGrid.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/lazy/LazyVerticalGrid.kt
@@ -15,17 +15,17 @@
*/
package androidx.glance.appwidget.lazy
-import androidx.compose.runtime.Composable
-import androidx.glance.GlanceModifier
-import androidx.glance.GlanceNode
-import androidx.glance.layout.Alignment
-import androidx.glance.EmittableWithChildren
-import androidx.glance.layout.fillMaxWidth
-import androidx.glance.layout.wrapContentHeight
import androidx.annotation.RequiresApi
+import androidx.compose.runtime.Composable
import androidx.compose.runtime.key
import androidx.compose.ui.unit.Dp
import androidx.glance.Emittable
+import androidx.glance.EmittableWithChildren
+import androidx.glance.GlanceModifier
+import androidx.glance.GlanceNode
+import androidx.glance.layout.Alignment
+import androidx.glance.layout.fillMaxWidth
+import androidx.glance.layout.wrapContentHeight
/**
* The DSL implementation of a lazy grid layout. It composes only visible rows of the grid.
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/CircularProgressIndicatorTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/CircularProgressIndicatorTranslator.kt
index 33a20ed..aa002f4 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/CircularProgressIndicatorTranslator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/CircularProgressIndicatorTranslator.kt
@@ -16,23 +16,22 @@
package androidx.glance.appwidget.translators
+import android.content.res.ColorStateList
import android.os.Build
+import android.util.Log
import android.widget.RemoteViews
+import androidx.compose.ui.graphics.toArgb
+import androidx.core.widget.RemoteViewsCompat.setProgressBarIndeterminateTintList
+import androidx.glance.appwidget.EmittableCircularProgressIndicator
+import androidx.glance.appwidget.GlanceAppWidgetTag
import androidx.glance.appwidget.LayoutType
import androidx.glance.appwidget.TranslationContext
import androidx.glance.appwidget.applyModifiers
import androidx.glance.appwidget.insertView
-import androidx.core.widget.RemoteViewsCompat.setProgressBarIndeterminateTintList
-import androidx.compose.ui.graphics.toArgb
-import android.content.res.ColorStateList
-import android.util.Log
+import androidx.glance.color.DayNightColorProvider
import androidx.glance.unit.FixedColorProvider
import androidx.glance.unit.ResourceColorProvider
-import androidx.glance.appwidget.EmittableCircularProgressIndicator
-import androidx.glance.appwidget.GlanceAppWidgetTag
-import androidx.glance.color.DayNightColorProvider
-
internal fun RemoteViews.translateEmittableCircularProgressIndicator(
translationContext: TranslationContext,
element: EmittableCircularProgressIndicator
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt
index 6c02991..2698f76 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyListTranslator.kt
@@ -22,9 +22,9 @@
import android.content.Intent
import android.content.Intent.FILL_IN_COMPONENT
import android.widget.RemoteViews
-import androidx.core.widget.RemoteViewsCompat
import androidx.glance.appwidget.InsertedViewInfo
import androidx.glance.appwidget.LayoutType
+import androidx.glance.appwidget.RemoteCollectionItems
import androidx.glance.appwidget.TopLevelLayoutsCount
import androidx.glance.appwidget.TranslationContext
import androidx.glance.appwidget.applyModifiers
@@ -33,6 +33,8 @@
import androidx.glance.appwidget.lazy.EmittableLazyList
import androidx.glance.appwidget.lazy.EmittableLazyListItem
import androidx.glance.appwidget.lazy.ReservedItemIdRangeEnd
+import androidx.glance.appwidget.setRemoteAdapter
+import androidx.glance.appwidget.toSizeString
import androidx.glance.appwidget.translateChild
import androidx.glance.appwidget.translateComposition
import androidx.glance.layout.Alignment
@@ -67,7 +69,7 @@
FILL_IN_COMPONENT or FLAG_MUTABLE or FLAG_UPDATE_CURRENT,
)
)
- val items = RemoteViewsCompat.RemoteCollectionItems.Builder().apply {
+ val items = RemoteCollectionItems.Builder().apply {
val childContext = translationContext.forLazyCollection(viewDef.mainViewId)
element.children.foldIndexed(false) { position, previous, itemEmittable ->
itemEmittable as EmittableLazyListItem
@@ -85,11 +87,11 @@
}.let { setHasStableIds(it) }
setViewTypeCount(TopLevelLayoutsCount)
}.build()
- RemoteViewsCompat.setRemoteAdapter(
+ setRemoteAdapter(
translationContext.context,
- this,
translationContext.appWidgetId,
viewDef.mainViewId,
+ translationContext.layoutSize.toSizeString(),
items
)
applyModifiers(translationContext, this, element.modifier, viewDef)
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt
index b81a8c9..805c1f7 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt
@@ -16,17 +16,17 @@
package androidx.glance.appwidget.translators
-import android.os.Build
import android.app.PendingIntent
import android.app.PendingIntent.FLAG_MUTABLE
import android.app.PendingIntent.FLAG_UPDATE_CURRENT
import android.content.Intent
import android.content.Intent.FILL_IN_COMPONENT
+import android.os.Build
import android.widget.RemoteViews
-import androidx.core.widget.RemoteViewsCompat
import androidx.core.widget.RemoteViewsCompat.setGridViewColumnWidth
import androidx.glance.appwidget.InsertedViewInfo
import androidx.glance.appwidget.LayoutType
+import androidx.glance.appwidget.RemoteCollectionItems
import androidx.glance.appwidget.TopLevelLayoutsCount
import androidx.glance.appwidget.TranslationContext
import androidx.glance.appwidget.applyModifiers
@@ -35,6 +35,8 @@
import androidx.glance.appwidget.lazy.EmittableLazyVerticalGridListItem
import androidx.glance.appwidget.lazy.GridCells
import androidx.glance.appwidget.lazy.ReservedItemIdRangeEnd
+import androidx.glance.appwidget.setRemoteAdapter
+import androidx.glance.appwidget.toSizeString
import androidx.glance.appwidget.translateChild
import androidx.glance.appwidget.translateComposition
import androidx.glance.layout.Alignment
@@ -80,7 +82,7 @@
FILL_IN_COMPONENT or FLAG_MUTABLE or FLAG_UPDATE_CURRENT,
)
)
- val items = RemoteViewsCompat.RemoteCollectionItems.Builder().apply {
+ val items = RemoteCollectionItems.Builder().apply {
val childContext = translationContext.forLazyCollection(viewDef.mainViewId)
element.children.foldIndexed(false) { position, previous, itemEmittable ->
itemEmittable as EmittableLazyVerticalGridListItem
@@ -98,11 +100,11 @@
}.let { setHasStableIds(it) }
setViewTypeCount(TopLevelLayoutsCount)
}.build()
- RemoteViewsCompat.setRemoteAdapter(
+ setRemoteAdapter(
translationContext.context,
- this,
translationContext.appWidgetId,
viewDef.mainViewId,
+ translationContext.layoutSize.toSizeString(),
items
)
if (Build.VERSION.SDK_INT >= 31 && gridCells is GridCells.Adaptive) {
diff --git a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LinearProgressIndicatorTranslator.kt b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LinearProgressIndicatorTranslator.kt
index 5b9aca4..b3d72ae 100644
--- a/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LinearProgressIndicatorTranslator.kt
+++ b/glance/glance-appwidget/src/androidMain/kotlin/androidx/glance/appwidget/translators/LinearProgressIndicatorTranslator.kt
@@ -16,24 +16,23 @@
package androidx.glance.appwidget.translators
+import android.content.res.ColorStateList
import android.os.Build
+import android.util.Log
import android.widget.RemoteViews
+import androidx.compose.ui.graphics.toArgb
+import androidx.core.widget.RemoteViewsCompat.setProgressBarProgressBackgroundTintList
+import androidx.core.widget.RemoteViewsCompat.setProgressBarProgressTintList
+import androidx.glance.appwidget.EmittableLinearProgressIndicator
+import androidx.glance.appwidget.GlanceAppWidgetTag
import androidx.glance.appwidget.LayoutType
import androidx.glance.appwidget.TranslationContext
import androidx.glance.appwidget.applyModifiers
import androidx.glance.appwidget.insertView
-import androidx.core.widget.RemoteViewsCompat.setProgressBarProgressTintList
-import androidx.core.widget.RemoteViewsCompat.setProgressBarProgressBackgroundTintList
-import androidx.compose.ui.graphics.toArgb
-import android.content.res.ColorStateList
-import android.util.Log
+import androidx.glance.color.DayNightColorProvider
import androidx.glance.unit.FixedColorProvider
import androidx.glance.unit.ResourceColorProvider
-import androidx.glance.appwidget.EmittableLinearProgressIndicator
-import androidx.glance.appwidget.GlanceAppWidgetTag
-import androidx.glance.color.DayNightColorProvider
-
internal fun RemoteViews.translateEmittableLinearProgressIndicator(
translationContext: TranslationContext,
element: EmittableLinearProgressIndicator
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ActionCallbackBroadcastReceiverTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ActionCallbackBroadcastReceiverTest.kt
index 8cb1cda..310431e 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ActionCallbackBroadcastReceiverTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ActionCallbackBroadcastReceiverTest.kt
@@ -26,10 +26,10 @@
import androidx.glance.appwidget.action.createUniqueUri
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import java.io.Serializable
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import java.io.Serializable
@RunWith(RobolectricTestRunner::class)
class ActionCallbackBroadcastReceiverTest {
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ApplyDimensionModifierTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ApplyDimensionModifierTest.kt
index 46c84a9..378cecf 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ApplyDimensionModifierTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ApplyDimensionModifierTest.kt
@@ -43,6 +43,8 @@
import androidx.glance.text.Text
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
+import kotlin.test.assertNotNull
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
@@ -50,8 +52,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
-import kotlin.test.assertNotNull
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/TestUtils.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/TestUtils.kt
index 04e1faf..2be2889 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/TestUtils.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/TestUtils.kt
@@ -42,13 +42,13 @@
import androidx.glance.session.GlobalSnapshotManager
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.currentCoroutineContext
-import kotlinx.coroutines.launch
import java.util.Locale
import java.util.concurrent.atomic.AtomicBoolean
import kotlin.test.assertIs
+import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.launch
internal suspend fun runTestingComposition(
content: @Composable @GlanceComposable () -> Unit,
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ViewSubject.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ViewSubject.kt
index d8a66f2..caf58cc 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ViewSubject.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/ViewSubject.kt
@@ -34,11 +34,11 @@
import androidx.glance.layout.Alignment
import com.google.common.truth.FailureMetadata
import com.google.common.truth.Subject
-import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertAbout
-import org.robolectric.Shadows.shadowOf
+import com.google.common.truth.Truth.assertThat
import kotlin.test.assertIs
import kotlin.test.assertNotNull
+import org.robolectric.Shadows.shadowOf
internal open class ViewSubject(
metaData: FailureMetadata,
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt
index acded2e..b07dfcf 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/LaunchActivityIntentActionTest.kt
@@ -25,11 +25,11 @@
import androidx.glance.findModifier
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/RunCallbackActionTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/RunCallbackActionTest.kt
index 47f979d..cbc0ff6 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/RunCallbackActionTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/RunCallbackActionTest.kt
@@ -23,13 +23,13 @@
import androidx.glance.action.ActionParameters
import androidx.glance.action.clickable
import androidx.glance.findModifier
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/SendBroadcastActionTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/SendBroadcastActionTest.kt
index 061d7ef..303a6d6 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/SendBroadcastActionTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/SendBroadcastActionTest.kt
@@ -26,11 +26,11 @@
import androidx.glance.findModifier
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/StartServiceActionTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/StartServiceActionTest.kt
index 431e9f0..a19b0e9 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/StartServiceActionTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/action/StartServiceActionTest.kt
@@ -27,11 +27,11 @@
import androidx.glance.findModifier
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyColumnTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyColumnTest.kt
index 7da7812..22c6a6c 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyColumnTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyColumnTest.kt
@@ -28,12 +28,12 @@
import androidx.glance.text.EmittableText
import androidx.glance.text.Text
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class LazyColumnTest {
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyVerticalGridTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyVerticalGridTest.kt
index 207f899..0e686ff 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyVerticalGridTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/layout/LazyVerticalGridTest.kt
@@ -17,10 +17,11 @@
package androidx.glance.appwidget.layout
import android.annotation.TargetApi
+import androidx.compose.ui.unit.dp
import androidx.glance.appwidget.lazy.EmittableLazyVerticalGrid
import androidx.glance.appwidget.lazy.EmittableLazyVerticalGridListItem
-import androidx.glance.appwidget.lazy.LazyVerticalGrid
import androidx.glance.appwidget.lazy.GridCells
+import androidx.glance.appwidget.lazy.LazyVerticalGrid
import androidx.glance.appwidget.lazy.ReservedItemIdRangeEnd
import androidx.glance.appwidget.lazy.items
import androidx.glance.appwidget.lazy.itemsIndexed
@@ -29,14 +30,13 @@
import androidx.glance.layout.Row
import androidx.glance.text.EmittableText
import androidx.glance.text.Text
-import androidx.compose.ui.unit.dp
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class LazyVerticalGridTest {
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/RadioButtonBackportTranslatorTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/RadioButtonBackportTranslatorTest.kt
index cddb9bd..cc9f17e 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/RadioButtonBackportTranslatorTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/RadioButtonBackportTranslatorTest.kt
@@ -39,6 +39,7 @@
import androidx.glance.unit.ColorProvider
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
@@ -48,7 +49,6 @@
import org.robolectric.RobolectricTestRunner
import org.robolectric.Shadows.shadowOf
import org.robolectric.annotation.Config
-import kotlin.test.assertIs
@Config(minSdk = 23, maxSdk = 30)
@OptIn(ExperimentalCoroutinesApi::class)
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/SwitchBackportTranslatorTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/SwitchBackportTranslatorTest.kt
index ec11aab..fbb441e 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/SwitchBackportTranslatorTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/SwitchBackportTranslatorTest.kt
@@ -24,13 +24,13 @@
import androidx.glance.GlanceModifier
import androidx.glance.appwidget.ImageViewSubject.Companion.assertThat
import androidx.glance.appwidget.Switch
+import androidx.glance.appwidget.SwitchDefaults
import androidx.glance.appwidget.action.ActionCallback
import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.applyRemoteViews
import androidx.glance.appwidget.configurationContext
import androidx.glance.appwidget.findView
import androidx.glance.appwidget.runAndTranslate
-import androidx.glance.appwidget.SwitchDefaults
import androidx.glance.color.ColorProvider
import androidx.glance.semantics.contentDescription
import androidx.glance.semantics.semantics
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/unit/ColorProviderTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/unit/ColorProviderTest.kt
index 55f242d..dfe943a 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/unit/ColorProviderTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/unit/ColorProviderTest.kt
@@ -18,19 +18,19 @@
import android.content.Context
import androidx.compose.ui.graphics.Color
+import androidx.glance.appwidget.ColorSubject.Companion.assertThat
import androidx.glance.appwidget.test.R
import androidx.glance.appwidget.unit.CheckedUncheckedColorProvider.Companion.createCheckableColorProvider
+import androidx.glance.color.ColorProvider
import androidx.glance.unit.ColorProvider
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
-import androidx.glance.appwidget.ColorSubject.Companion.assertThat
-import androidx.glance.color.ColorProvider
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.robolectric.annotation.Config
-import org.robolectric.RobolectricTestRunner
import kotlin.test.assertFailsWith
import kotlin.test.assertIs
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.annotation.Config
@RunWith(RobolectricTestRunner::class)
class ColorProviderTest {
diff --git a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/DemoOverrideWidget.kt b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/DemoOverrideWidget.kt
index 5ee0b7f..5c33d7e 100644
--- a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/DemoOverrideWidget.kt
+++ b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/DemoOverrideWidget.kt
@@ -24,15 +24,15 @@
import androidx.glance.ImageProvider
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
-import androidx.glance.template.GlanceTemplateAppWidget
-import androidx.glance.template.SingleEntityTemplate
import androidx.glance.background
import androidx.glance.layout.Alignment
import androidx.glance.layout.Column
import androidx.glance.layout.fillMaxSize
+import androidx.glance.template.GlanceTemplateAppWidget
import androidx.glance.template.HeaderBlock
import androidx.glance.template.ImageBlock
import androidx.glance.template.LocalTemplateMode
+import androidx.glance.template.SingleEntityTemplate
import androidx.glance.template.SingleEntityTemplateData
import androidx.glance.template.TemplateImageWithDescription
import androidx.glance.template.TemplateMode
diff --git a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/GalleryDemoWidget.kt b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/GalleryDemoWidget.kt
index 04ec6f2..18c7278 100644
--- a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/GalleryDemoWidget.kt
+++ b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/GalleryDemoWidget.kt
@@ -22,11 +22,11 @@
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
import androidx.glance.appwidget.action.actionRunCallback
-import androidx.glance.template.GalleryTemplate
-import androidx.glance.template.GlanceTemplateAppWidget
import androidx.glance.template.ActionBlock
import androidx.glance.template.AspectRatio
+import androidx.glance.template.GalleryTemplate
import androidx.glance.template.GalleryTemplateData
+import androidx.glance.template.GlanceTemplateAppWidget
import androidx.glance.template.HeaderBlock
import androidx.glance.template.ImageBlock
import androidx.glance.template.ImageSize
diff --git a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/ListDemoWidget.kt b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/ListDemoWidget.kt
index 354d8b2..0f87618 100644
--- a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/ListDemoWidget.kt
+++ b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/ListDemoWidget.kt
@@ -34,14 +34,14 @@
import androidx.glance.appwidget.action.ActionCallback
import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.state.updateAppWidgetState
-import androidx.glance.template.GlanceTemplateAppWidget
-import androidx.glance.template.ListTemplate
import androidx.glance.currentState
import androidx.glance.template.ActionBlock
+import androidx.glance.template.GlanceTemplateAppWidget
import androidx.glance.template.HeaderBlock
import androidx.glance.template.ImageBlock
import androidx.glance.template.ImageSize
import androidx.glance.template.ListStyle
+import androidx.glance.template.ListTemplate
import androidx.glance.template.ListTemplateData
import androidx.glance.template.ListTemplateItem
import androidx.glance.template.TemplateImageButton
diff --git a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/SingleEntityDemoWidget.kt b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/SingleEntityDemoWidget.kt
index 36e6d78..0e297bf 100644
--- a/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/SingleEntityDemoWidget.kt
+++ b/glance/glance-template/integration-tests/template-demos/src/main/java/androidx/glance/appwidget/template/demos/SingleEntityDemoWidget.kt
@@ -29,12 +29,12 @@
import androidx.glance.appwidget.action.ActionCallback
import androidx.glance.appwidget.action.actionRunCallback
import androidx.glance.appwidget.state.updateAppWidgetState
-import androidx.glance.template.GlanceTemplateAppWidget
-import androidx.glance.template.SingleEntityTemplate
import androidx.glance.currentState
import androidx.glance.template.ActionBlock
+import androidx.glance.template.GlanceTemplateAppWidget
import androidx.glance.template.HeaderBlock
import androidx.glance.template.ImageBlock
+import androidx.glance.template.SingleEntityTemplate
import androidx.glance.template.SingleEntityTemplateData
import androidx.glance.template.TemplateImageWithDescription
import androidx.glance.template.TemplateText
diff --git a/glance/glance-template/src/main/java/androidx/glance/template/GalleryTemplateLayouts.kt b/glance/glance-template/src/main/java/androidx/glance/template/GalleryTemplateLayouts.kt
index 8d66ce0..8c81d38 100644
--- a/glance/glance-template/src/main/java/androidx/glance/template/GalleryTemplateLayouts.kt
+++ b/glance/glance-template/src/main/java/androidx/glance/template/GalleryTemplateLayouts.kt
@@ -27,7 +27,6 @@
import androidx.glance.appwidget.lazy.GridCells
import androidx.glance.appwidget.lazy.LazyVerticalGrid
import androidx.glance.appwidget.lazy.itemsIndexed
-import androidx.glance.template.GlanceTemplateAppWidget.Companion.sizeMin
import androidx.glance.background
import androidx.glance.layout.Alignment
import androidx.glance.layout.Column
@@ -40,6 +39,7 @@
import androidx.glance.layout.height
import androidx.glance.layout.padding
import androidx.glance.layout.width
+import androidx.glance.template.GlanceTemplateAppWidget.Companion.sizeMin
import kotlin.math.ceil
import kotlin.math.pow
import kotlin.math.roundToInt
diff --git a/glance/glance-template/src/main/java/androidx/glance/template/SingleEntityTemplateLayouts.kt b/glance/glance-template/src/main/java/androidx/glance/template/SingleEntityTemplateLayouts.kt
index f954264..0e17cca 100644
--- a/glance/glance-template/src/main/java/androidx/glance/template/SingleEntityTemplateLayouts.kt
+++ b/glance/glance-template/src/main/java/androidx/glance/template/SingleEntityTemplateLayouts.kt
@@ -22,8 +22,6 @@
import androidx.glance.GlanceTheme
import androidx.glance.LocalSize
import androidx.glance.appwidget.cornerRadius
-import androidx.glance.template.GlanceTemplateAppWidget.Companion.sizeMin
-import androidx.glance.template.GlanceTemplateAppWidget.Companion.sizeS
import androidx.glance.background
import androidx.glance.layout.Column
import androidx.glance.layout.ContentScale
@@ -35,6 +33,8 @@
import androidx.glance.layout.height
import androidx.glance.layout.padding
import androidx.glance.layout.width
+import androidx.glance.template.GlanceTemplateAppWidget.Companion.sizeMin
+import androidx.glance.template.GlanceTemplateAppWidget.Companion.sizeS
// TODO: Define template layouts for other surfaces
/**
diff --git a/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt b/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt
index 94ad581..a585320 100644
--- a/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt
+++ b/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt
@@ -18,9 +18,9 @@
import androidx.compose.runtime.Composable
import androidx.compose.ui.unit.dp
-import androidx.glance.action.Action
import androidx.glance.Button
import androidx.glance.GlanceModifier
+import androidx.glance.action.Action
import androidx.glance.layout.Alignment
import androidx.glance.layout.Column
import androidx.glance.layout.Row
diff --git a/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt b/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt
index 3f4b8fd..debe385 100644
--- a/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt
+++ b/glance/glance-wear-tiles-preview/src/androidAndroidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt
@@ -16,13 +16,13 @@
package androidx.glance.wear.tiles.preview
-import androidx.glance.wear.tiles.preview.test.R
import android.app.Activity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.LinearLayout
import android.widget.TextView
+import androidx.glance.wear.tiles.preview.test.R
import androidx.test.filters.MediumTest
import org.junit.Assert
import org.junit.Before
diff --git a/glance/glance-wear-tiles-preview/src/androidMain/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt b/glance/glance-wear-tiles-preview/src/androidMain/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt
index 929bfba..944d3ed 100644
--- a/glance/glance-wear-tiles-preview/src/androidMain/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt
+++ b/glance/glance-wear-tiles-preview/src/androidMain/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt
@@ -27,8 +27,8 @@
import androidx.glance.wear.tiles.compose
import androidx.glance.wear.tiles.preview.ComposableInvoker.invokeComposable
import androidx.wear.tiles.TileBuilders
-import kotlinx.coroutines.runBlocking
import androidx.wear.tiles.renderer.TileRenderer
+import kotlinx.coroutines.runBlocking
private const val TOOLS_NS_URI = "http://schemas.android.com/tools"
diff --git a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CountTileService.kt b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CountTileService.kt
index b83d447..4b6af16 100644
--- a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CountTileService.kt
+++ b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CountTileService.kt
@@ -26,25 +26,25 @@
import androidx.glance.Button
import androidx.glance.GlanceId
import androidx.glance.GlanceModifier
-import androidx.glance.wear.tiles.action.ActionCallback
-import androidx.glance.wear.tiles.action.actionRunCallback
import androidx.glance.background
import androidx.glance.currentState
import androidx.glance.layout.Alignment
import androidx.glance.layout.Column
import androidx.glance.layout.Row
import androidx.glance.layout.Spacer
-import androidx.glance.layout.padding
import androidx.glance.layout.height
+import androidx.glance.layout.padding
import androidx.glance.layout.width
import androidx.glance.semantics.contentDescription
import androidx.glance.semantics.semantics
import androidx.glance.state.PreferencesGlanceStateDefinition
-import androidx.glance.wear.tiles.GlanceTileService
import androidx.glance.text.FontWeight
import androidx.glance.text.Text
import androidx.glance.text.TextStyle
import androidx.glance.unit.ColorProvider
+import androidx.glance.wear.tiles.GlanceTileService
+import androidx.glance.wear.tiles.action.ActionCallback
+import androidx.glance.wear.tiles.action.actionRunCallback
import androidx.glance.wear.tiles.state.updateWearTileState
private val prefsCountKey = intPreferencesKey("count")
diff --git a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/TilePreviewActivity.kt b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/TilePreviewActivity.kt
index 09c3ef0..92bff5a 100644
--- a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/TilePreviewActivity.kt
+++ b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/TilePreviewActivity.kt
@@ -25,9 +25,9 @@
import android.widget.FrameLayout
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import androidx.wear.tiles.manager.TileUiClient
-import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.adapter.FragmentStateAdapter
+import androidx.viewpager2.widget.ViewPager2
+import androidx.wear.tiles.manager.TileUiClient
private const val NUM_PAGES = 4
private val TILE_PROVIDERS_NAME = arrayOf(
diff --git a/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/GlanceWearTiles.kt b/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/GlanceWearTiles.kt
index d6dd76e..ac1bded 100644
--- a/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/GlanceWearTiles.kt
+++ b/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/GlanceWearTiles.kt
@@ -16,11 +16,13 @@
package androidx.glance.wear.tiles
-import androidx.glance.LocalState
import android.content.Context
import android.util.Log
import androidx.compose.runtime.BroadcastFrameClock
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.Composition
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Recomposer
import androidx.compose.ui.unit.DpSize
import androidx.glance.Applier
import androidx.glance.GlanceId
@@ -28,17 +30,15 @@
import androidx.glance.LocalContext
import androidx.glance.LocalGlanceId
import androidx.glance.LocalSize
+import androidx.glance.LocalState
import androidx.glance.layout.Alignment
import androidx.glance.layout.EmittableBox
import androidx.glance.layout.fillMaxSize
+import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
-import androidx.compose.runtime.Composition
-import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.runtime.Recomposer
-import kotlinx.coroutines.CancellationException
/**
* Object containing the result from composition of [GlanceWearTiles].
diff --git a/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/curved/CurvedRow.kt b/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/curved/CurvedRow.kt
index c84930b..58489b1 100644
--- a/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/curved/CurvedRow.kt
+++ b/glance/glance-wear-tiles/src/androidMain/kotlin/androidx/glance/wear/tiles/curved/CurvedRow.kt
@@ -16,12 +16,12 @@
package androidx.glance.wear.tiles.curved
-import androidx.glance.GlanceNode
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
import androidx.glance.Emittable
import androidx.glance.EmittableWithChildren
import androidx.glance.GlanceModifier
+import androidx.glance.GlanceNode
import androidx.glance.unit.ColorProvider
/**
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BackgroundTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BackgroundTest.kt
index 4c7486f..8018dd2 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BackgroundTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BackgroundTest.kt
@@ -16,18 +16,18 @@
package androidx.glance.wear.tiles
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
import androidx.glance.BackgroundModifier
import androidx.glance.GlanceModifier
import androidx.glance.background
import androidx.glance.findModifier
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.toArgb
import androidx.glance.unit.FixedColorProvider
import androidx.glance.unit.ResourceColorProvider
import androidx.glance.wear.tiles.test.R
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import kotlin.test.assertIs
+import org.junit.Test
class BackgroundTest {
@Test
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BorderTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BorderTest.kt
index b38fd4e..6f88fd0 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BorderTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/BorderTest.kt
@@ -24,9 +24,9 @@
import androidx.glance.findModifier
import androidx.glance.unit.ColorProvider
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
-import org.junit.Test
class BorderTest {
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/GlanceTileServiceTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/GlanceTileServiceTest.kt
index ce386f6..340ea7b 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/GlanceTileServiceTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/GlanceTileServiceTest.kt
@@ -24,39 +24,39 @@
import androidx.core.graphics.drawable.toBitmap
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.stringPreferencesKey
-import androidx.glance.currentState
import androidx.glance.GlanceModifier
import androidx.glance.Image
import androidx.glance.ImageProvider
+import androidx.glance.currentState
import androidx.glance.layout.ContentScale
import androidx.glance.layout.size
import androidx.glance.state.PreferencesGlanceStateDefinition
import androidx.glance.text.Text
import androidx.glance.wear.tiles.test.R
+import androidx.test.core.app.ApplicationProvider.getApplicationContext
import androidx.wear.tiles.RequestBuilders
import androidx.wear.tiles.testing.TestTileClient
-import androidx.test.core.app.ApplicationProvider.getApplicationContext
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.io.ByteArrayOutputStream
+import java.time.Instant
+import java.util.Arrays
+import kotlin.test.assertIs
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.guava.await
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
import org.junit.Before
+import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import org.robolectric.android.util.concurrent.InlineExecutorService
import org.robolectric.RobolectricTestRunner
import org.robolectric.Shadows.shadowOf
-import java.io.ByteArrayOutputStream
-import java.time.Instant
-import java.util.Arrays
-import kotlin.test.assertIs
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import org.junit.Ignore
+import org.robolectric.android.util.concurrent.InlineExecutorService
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalStdlibApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/TimelineModeTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/TimelineModeTest.kt
index ba8bf2b..d159631 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/TimelineModeTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/TimelineModeTest.kt
@@ -17,8 +17,8 @@
package androidx.glance.wear.tiles
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.time.Instant
+import org.junit.Test
class TimelineModeTest {
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt
index b167405..306f8c1 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt
@@ -70,6 +70,10 @@
import androidx.glance.wear.tiles.test.R
import androidx.test.core.app.ApplicationProvider.getApplicationContext
import com.google.common.truth.Truth.assertThat
+import java.io.ByteArrayOutputStream
+import java.util.Arrays
+import kotlin.test.assertIs
+import kotlin.test.assertNotNull
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
@@ -77,10 +81,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import java.io.ByteArrayOutputStream
-import java.util.Arrays
-import kotlin.test.assertIs
-import kotlin.test.assertNotNull
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/action/RunCallbackActionTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/action/RunCallbackActionTest.kt
index b4598ab..f0a9c37 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/action/RunCallbackActionTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/action/RunCallbackActionTest.kt
@@ -26,13 +26,13 @@
import androidx.glance.wear.tiles.curved.GlanceCurvedModifier
import androidx.glance.wear.tiles.curved.clickable
import androidx.glance.wear.tiles.curved.findModifier
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/curved/CurvedRowTest.kt b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/curved/CurvedRowTest.kt
index 3dfc764..1c6a622 100644
--- a/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/curved/CurvedRowTest.kt
+++ b/glance/glance-wear-tiles/src/test/kotlin/androidx/glance/wear/tiles/curved/CurvedRowTest.kt
@@ -30,12 +30,12 @@
import androidx.glance.unit.ColorProvider
import androidx.glance.wear.tiles.runTestingComposition
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class CurvedRowTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/ApplierTest.kt b/glance/glance/src/test/kotlin/androidx/glance/ApplierTest.kt
index 3536a0d..2fb71b2 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/ApplierTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/ApplierTest.kt
@@ -17,9 +17,9 @@
package androidx.glance
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Test
-import kotlin.test.assertFailsWith
@OptIn(ExperimentalCoroutinesApi::class)
class ApplierTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt b/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt
index 95473a6..07f00f1 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt
@@ -26,13 +26,13 @@
import androidx.glance.semantics.SemanticsProperties
import androidx.glance.unit.ColorProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
+import kotlin.test.assertNotNull
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
-import kotlin.test.assertNotNull
@OptIn(ExperimentalCoroutinesApi::class)
class ImageTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/action/ActionParametersTest.kt b/glance/glance/src/test/kotlin/androidx/glance/action/ActionParametersTest.kt
index 450a8b4..fcf114d 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/action/ActionParametersTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/action/ActionParametersTest.kt
@@ -17,10 +17,10 @@
package androidx.glance.action
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import org.junit.Test
class ActionParametersTest {
@Test
diff --git a/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt b/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt
index 6100675..763fe17 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/action/ActionTest.kt
@@ -22,6 +22,8 @@
import androidx.glance.findModifier
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
+import kotlin.test.assertNotNull
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
@@ -29,8 +31,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertIs
-import kotlin.test.assertNotNull
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
index 85c4897..aefe11d 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
@@ -20,12 +20,12 @@
import androidx.glance.GlanceModifier
import androidx.glance.findModifier
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class BoxTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
index 72455c3..7f72a59 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
@@ -21,12 +21,12 @@
import androidx.glance.findModifier
import androidx.glance.unit.Dimension
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class ColumnTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt
index 8b6a366..f8f75be 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/PaddingTest.kt
@@ -21,9 +21,9 @@
import androidx.glance.GlanceModifier
import androidx.glance.findModifier
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
-import org.junit.Test
class PaddingTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
index 0078c36..7ee121e 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
@@ -21,12 +21,12 @@
import androidx.glance.findModifier
import androidx.glance.unit.Dimension
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class RowTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/SizeModifiersTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/SizeModifiersTest.kt
index 7dedee8..706ce82 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/SizeModifiersTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/SizeModifiersTest.kt
@@ -21,8 +21,8 @@
import androidx.glance.findModifier
import androidx.glance.unit.Dimension
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import kotlin.test.assertIs
+import org.junit.Test
class SizeModifiersTest {
@Test
diff --git a/glance/glance/src/test/kotlin/androidx/glance/layout/SpacerTest.kt b/glance/glance/src/test/kotlin/androidx/glance/layout/SpacerTest.kt
index c301c0e..9ebc68a 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/SpacerTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/SpacerTest.kt
@@ -21,12 +21,12 @@
import androidx.glance.findModifier
import androidx.glance.unit.Dimension
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class SpacerTest {
diff --git a/glance/glance/src/test/kotlin/androidx/glance/state/StateDefinitionTest.kt b/glance/glance/src/test/kotlin/androidx/glance/state/StateDefinitionTest.kt
index 91a054a..7082643 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/state/StateDefinitionTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/state/StateDefinitionTest.kt
@@ -21,12 +21,12 @@
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertNotNull
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.test.assertNotNull
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(RobolectricTestRunner::class)
diff --git a/glance/glance/src/test/kotlin/androidx/glance/text/TextTest.kt b/glance/glance/src/test/kotlin/androidx/glance/text/TextTest.kt
index 2c08b78..9b7516d 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/text/TextTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/text/TextTest.kt
@@ -24,12 +24,12 @@
import androidx.glance.layout.runTestingComposition
import androidx.glance.unit.Dimension
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertIs
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
-import kotlin.test.assertIs
@OptIn(ExperimentalCoroutinesApi::class)
class TextTest {
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformHintResolverTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformHintResolverTest.kt
index 067f6ba..ff5d80f 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformHintResolverTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformHintResolverTest.kt
@@ -27,8 +27,8 @@
import androidx.graphics.lowlatency.BufferTransformHintResolver.Companion.ORIENTATION_90
import androidx.graphics.lowlatency.BufferTransformHintResolver.Companion.UNKNOWN_TRANSFORM
import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_IDENTITY
-import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_ROTATE_270
import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_ROTATE_180
+import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_ROTATE_270
import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_ROTATE_90
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SampleInkViewActivity.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SampleInkViewActivity.kt
index 56ffdec..458ad0c 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SampleInkViewActivity.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SampleInkViewActivity.kt
@@ -21,9 +21,9 @@
import android.os.Bundle
import android.view.Gravity
import android.view.View
-import android.widget.FrameLayout.LayoutParams.WRAP_CONTENT
import android.widget.Button
import android.widget.FrameLayout
+import android.widget.FrameLayout.LayoutParams.WRAP_CONTENT
import android.widget.LinearLayout.LayoutParams.MATCH_PARENT
import androidx.annotation.RequiresApi
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLRendererTest.kt
index 43f1de6..8d31c50 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLRendererTest.kt
@@ -43,11 +43,11 @@
import androidx.graphics.isAllColor
import androidx.graphics.lowlatency.LineRenderer
import androidx.graphics.lowlatency.Rectangle
-import androidx.hardware.SyncFenceCompat
import androidx.graphics.opengl.egl.EGLManager
import androidx.graphics.opengl.egl.EGLSpec
import androidx.graphics.opengl.egl.supportsNativeAndroidFence
import androidx.graphics.verifyQuadrants
+import androidx.hardware.SyncFenceCompat
import androidx.lifecycle.Lifecycle.State
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLManagerTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLManagerTest.kt
index d2a9139..8a8486e 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLManagerTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLManagerTest.kt
@@ -32,11 +32,6 @@
import androidx.opengl.EGLBindings
import androidx.opengl.EGLExt
import androidx.opengl.EGLExt.Companion.EGL_ANDROID_CLIENT_BUFFER
-import androidx.opengl.EGLExt.Companion.EGL_SYNC_CONDITION_KHR
-import androidx.opengl.EGLExt.Companion.EGL_SYNC_FENCE_KHR
-import androidx.opengl.EGLExt.Companion.EGL_SYNC_NATIVE_FENCE_ANDROID
-import androidx.opengl.EGLExt.Companion.EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR
-import androidx.opengl.EGLExt.Companion.EGL_SYNC_TYPE_KHR
import androidx.opengl.EGLExt.Companion.EGL_ANDROID_IMAGE_NATIVE_BUFFER
import androidx.opengl.EGLExt.Companion.EGL_ANDROID_NATIVE_FENCE_SYNC
import androidx.opengl.EGLExt.Companion.EGL_FOREVER_KHR
@@ -44,8 +39,13 @@
import androidx.opengl.EGLExt.Companion.EGL_KHR_IMAGE
import androidx.opengl.EGLExt.Companion.EGL_KHR_IMAGE_BASE
import androidx.opengl.EGLExt.Companion.EGL_KHR_SURFACELESS_CONTEXT
+import androidx.opengl.EGLExt.Companion.EGL_SYNC_CONDITION_KHR
+import androidx.opengl.EGLExt.Companion.EGL_SYNC_FENCE_KHR
import androidx.opengl.EGLExt.Companion.EGL_SYNC_FLUSH_COMMANDS_BIT_KHR
+import androidx.opengl.EGLExt.Companion.EGL_SYNC_NATIVE_FENCE_ANDROID
+import androidx.opengl.EGLExt.Companion.EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR
import androidx.opengl.EGLExt.Companion.EGL_SYNC_STATUS_KHR
+import androidx.opengl.EGLExt.Companion.EGL_SYNC_TYPE_KHR
import androidx.opengl.EGLSyncKHR
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferRenderer.kt
index 19a3ed5..bafcff8 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferRenderer.kt
@@ -25,13 +25,13 @@
import android.util.Log
import android.view.Surface
import androidx.annotation.RequiresApi
-import androidx.hardware.SyncFenceCompat
import androidx.graphics.opengl.egl.EGLManager
import androidx.graphics.opengl.egl.EGLSpec
+import androidx.hardware.SyncFenceCompat
import androidx.opengl.EGLExt
-import java.util.concurrent.atomic.AtomicBoolean
import androidx.opengl.EGLExt.Companion.EGL_ANDROID_NATIVE_FENCE_SYNC
import androidx.opengl.EGLExt.Companion.EGL_KHR_FENCE_SYNC
+import java.util.concurrent.atomic.AtomicBoolean
/**
* [GLRenderer.RenderCallback] implementation that renders content into a frame buffer object
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlImpl.kt b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlImpl.kt
index 9d8af62..460f50a 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlImpl.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlImpl.kt
@@ -25,9 +25,9 @@
import android.view.SurfaceControl
import android.view.SurfaceView
import androidx.annotation.RequiresApi
+import androidx.graphics.surface.SurfaceControlCompat.TransactionCommittedListener
import androidx.hardware.SyncFenceCompat
import androidx.hardware.SyncFenceImpl
-import androidx.graphics.surface.SurfaceControlCompat.TransactionCommittedListener
import java.util.concurrent.Executor
/**
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV29.kt b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV29.kt
index c1e1701..8a303de 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV29.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV29.kt
@@ -26,9 +26,9 @@
import androidx.annotation.RequiresApi
import androidx.graphics.lowlatency.BufferTransformHintResolver.Companion.UNKNOWN_TRANSFORM
import androidx.graphics.lowlatency.FrontBufferUtils
-import androidx.hardware.SyncFenceImpl
import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_ROTATE_270
import androidx.graphics.surface.SurfaceControlCompat.Companion.BUFFER_TRANSFORM_ROTATE_90
+import androidx.hardware.SyncFenceImpl
import androidx.hardware.SyncFenceV19
import java.util.concurrent.Executor
diff --git a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt
index 29bc952..2b17fc6 100644
--- a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt
+++ b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt
@@ -22,8 +22,8 @@
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.graphics.lowlatency.FrontBufferUtils
-import androidx.opengl.EGLExt
import androidx.graphics.surface.SurfaceControlCompat
+import androidx.opengl.EGLExt
import androidx.opengl.EGLSyncKHR
/**
diff --git a/health/connect/connect-client/samples/src/main/java/androidx/health/connect/client/samples/AggregationSamples.kt b/health/connect/connect-client/samples/src/main/java/androidx/health/connect/client/samples/AggregationSamples.kt
index 829941f5..e6a48dc 100644
--- a/health/connect/connect-client/samples/src/main/java/androidx/health/connect/client/samples/AggregationSamples.kt
+++ b/health/connect/connect-client/samples/src/main/java/androidx/health/connect/client/samples/AggregationSamples.kt
@@ -23,9 +23,9 @@
import androidx.health.connect.client.records.DistanceRecord
import androidx.health.connect.client.records.HeartRateRecord
import androidx.health.connect.client.records.StepsRecord
-import androidx.health.connect.client.request.AggregateRequest
import androidx.health.connect.client.request.AggregateGroupByDurationRequest
import androidx.health.connect.client.request.AggregateGroupByPeriodRequest
+import androidx.health.connect.client.request.AggregateRequest
import androidx.health.connect.client.time.TimeRangeFilter
import java.time.Duration
import java.time.Instant
diff --git a/health/connect/connect-client/src/main/java/androidx/health/connect/client/impl/converters/records/ProtoToRecordUtils.kt b/health/connect/connect-client/src/main/java/androidx/health/connect/client/impl/converters/records/ProtoToRecordUtils.kt
index 57b0fba..f2fa0f4 100644
--- a/health/connect/connect-client/src/main/java/androidx/health/connect/client/impl/converters/records/ProtoToRecordUtils.kt
+++ b/health/connect/connect-client/src/main/java/androidx/health/connect/client/impl/converters/records/ProtoToRecordUtils.kt
@@ -18,12 +18,12 @@
package androidx.health.connect.client.impl.converters.records
import androidx.annotation.RestrictTo
-import androidx.health.connect.client.records.SleepSessionRecord
-import androidx.health.connect.client.records.SleepSessionRecord.Companion.STAGE_TYPE_STRING_TO_INT_MAP
import androidx.health.connect.client.records.ExerciseLap
import androidx.health.connect.client.records.ExerciseRoute
import androidx.health.connect.client.records.ExerciseSegment
import androidx.health.connect.client.records.ExerciseSegment.Companion.EXERCISE_SEGMENT_TYPE_UNKNOWN
+import androidx.health.connect.client.records.SleepSessionRecord
+import androidx.health.connect.client.records.SleepSessionRecord.Companion.STAGE_TYPE_STRING_TO_INT_MAP
import androidx.health.connect.client.records.metadata.DataOrigin
import androidx.health.connect.client.records.metadata.Device
import androidx.health.connect.client.records.metadata.Metadata
diff --git a/health/connect/connect-client/src/main/java/androidx/health/connect/client/request/AggregateRequest.kt b/health/connect/connect-client/src/main/java/androidx/health/connect/client/request/AggregateRequest.kt
index a8984a6..e6d96bb 100644
--- a/health/connect/connect-client/src/main/java/androidx/health/connect/client/request/AggregateRequest.kt
+++ b/health/connect/connect-client/src/main/java/androidx/health/connect/client/request/AggregateRequest.kt
@@ -15,10 +15,10 @@
*/
package androidx.health.connect.client.request
+import androidx.health.connect.client.HealthConnectClient
import androidx.health.connect.client.aggregate.AggregateMetric
import androidx.health.connect.client.records.metadata.DataOrigin
import androidx.health.connect.client.time.TimeRangeFilter
-import androidx.health.connect.client.HealthConnectClient
/**
* Request object to read aggregations for given [AggregateMetric]s in Android Health Platform.
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/ExerciseClient.kt b/health/health-services-client/src/main/java/androidx/health/services/client/ExerciseClient.kt
index e1b58d7..080b83a 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/ExerciseClient.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/ExerciseClient.kt
@@ -21,10 +21,10 @@
import androidx.health.services.client.data.DataType
import androidx.health.services.client.data.ExerciseCapabilities
import androidx.health.services.client.data.ExerciseConfig
+import androidx.health.services.client.data.ExerciseEndReason
import androidx.health.services.client.data.ExerciseGoal
import androidx.health.services.client.data.ExerciseInfo
import androidx.health.services.client.data.ExerciseState
-import androidx.health.services.client.data.ExerciseEndReason
import androidx.health.services.client.data.ExerciseType
import androidx.health.services.client.data.ExerciseTypeConfig
import androidx.health.services.client.data.ExerciseUpdate
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseEndReason.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseEndReason.kt
index b0ac3ad..6072b1d9 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseEndReason.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseEndReason.kt
@@ -18,8 +18,8 @@
import androidx.annotation.IntDef
import androidx.annotation.RestrictTo
-import androidx.health.services.client.proto.DataProto
import androidx.health.services.client.ExerciseClient
+import androidx.health.services.client.proto.DataProto
import kotlin.annotation.AnnotationRetention.SOURCE
/**
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseUpdate.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseUpdate.kt
index 456443a..bf9b12f 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseUpdate.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/ExerciseUpdate.kt
@@ -16,13 +16,13 @@
package androidx.health.services.client.data
-import androidx.health.services.client.proto.DataProto.ExerciseUpdate.LatestMetricsEntry as LatestMetricsEntryProto
import androidx.annotation.RestrictTo
import androidx.annotation.RestrictTo.Scope
import androidx.health.services.client.data.ExerciseEndReason.Companion.toProto
import androidx.health.services.client.data.ExerciseUpdate.ActiveDurationCheckpoint
import androidx.health.services.client.proto.DataProto
import androidx.health.services.client.proto.DataProto.AchievedExerciseGoal
+import androidx.health.services.client.proto.DataProto.ExerciseUpdate.LatestMetricsEntry as LatestMetricsEntryProto
import java.time.Duration
import java.time.Instant
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationAccuracy.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationAccuracy.kt
index 25aa2a8..4d5edbf 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationAccuracy.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationAccuracy.kt
@@ -16,10 +16,10 @@
package androidx.health.services.client.data
-import androidx.health.services.client.proto.DataProto
-import androidx.health.services.client.proto.DataProto.DataPointAccuracy.LocationAccuracy as LocationAccuracyProto
import android.util.Log
import androidx.annotation.FloatRange
+import androidx.health.services.client.proto.DataProto
+import androidx.health.services.client.proto.DataProto.DataPointAccuracy.LocationAccuracy as LocationAccuracyProto
/** Accuracy for a [DataType.LOCATION] data point. */
@Suppress("ParcelCreator")
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveGoal.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveGoal.kt
index bfb1d9a..71c64a0 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveGoal.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveGoal.kt
@@ -16,10 +16,10 @@
package androidx.health.services.client.data
-import androidx.health.services.client.proto.DataProto.PassiveGoal as PassiveGoalProto
import androidx.annotation.IntDef
import androidx.annotation.RestrictTo
import androidx.health.services.client.data.PassiveGoal.TriggerFrequency.Companion.toProto
+import androidx.health.services.client.proto.DataProto.PassiveGoal as PassiveGoalProto
/**
* Defines a passive goal that will be triggered when the specified condition is met which will
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveMonitoringUpdate.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveMonitoringUpdate.kt
index 61b74cb..1f262f7 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveMonitoringUpdate.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/PassiveMonitoringUpdate.kt
@@ -16,8 +16,8 @@
package androidx.health.services.client.data
-import androidx.health.services.client.proto.DataProto.PassiveMonitoringUpdate as PassiveMonitoringUpdateProto
import androidx.health.services.client.proto.DataProto
+import androidx.health.services.client.proto.DataProto.PassiveMonitoringUpdate as PassiveMonitoringUpdateProto
/**
* Represents an update from Passive tracking.
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeTest.kt
index 3d9858c..6ab8729 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeTest.kt
@@ -20,14 +20,14 @@
import androidx.health.services.client.data.DataType.Companion.ABSOLUTE_ELEVATION_STATS
import androidx.health.services.client.data.DataType.Companion.ACTIVE_EXERCISE_DURATION_TOTAL
import androidx.health.services.client.data.DataType.Companion.CALORIES
-import androidx.health.services.client.data.DataType.Companion.CALORIES_TOTAL
import androidx.health.services.client.data.DataType.Companion.CALORIES_DAILY
+import androidx.health.services.client.data.DataType.Companion.CALORIES_TOTAL
import androidx.health.services.client.data.DataType.Companion.DISTANCE_DAILY
import androidx.health.services.client.data.DataType.Companion.FLOORS_DAILY
-import androidx.health.services.client.data.DataType.Companion.STEPS_DAILY
import androidx.health.services.client.data.DataType.Companion.FORMAT_BYTE_ARRAY
import androidx.health.services.client.data.DataType.Companion.LOCATION
import androidx.health.services.client.data.DataType.Companion.STEPS
+import androidx.health.services.client.data.DataType.Companion.STEPS_DAILY
import androidx.health.services.client.data.DataType.Companion.SWIMMING_LAP_COUNT
import androidx.health.services.client.data.DataType.TimeType.Companion.INTERVAL
import androidx.health.services.client.data.DataType.TimeType.Companion.UNKNOWN
@@ -36,11 +36,11 @@
import androidx.health.services.client.proto.DataProto.DataType.TimeType.TIME_TYPE_UNKNOWN
import com.google.common.truth.Truth.assertThat
import kotlin.reflect.KVisibility
+import kotlin.reflect.full.declaredMemberProperties
+import kotlin.reflect.jvm.javaField
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
-import kotlin.reflect.full.declaredMemberProperties
-import kotlin.reflect.jvm.javaField
@RunWith(RobolectricTestRunner::class)
internal class DataTypeTest {
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedExerciseClientTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedExerciseClientTest.kt
index 1164cbf..c918351 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedExerciseClientTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedExerciseClientTest.kt
@@ -31,8 +31,8 @@
import androidx.health.services.client.data.ExerciseLapSummary
import androidx.health.services.client.data.ExerciseType
import androidx.health.services.client.data.ExerciseUpdate
-import androidx.health.services.client.data.WarmUpConfig
import androidx.health.services.client.data.GolfExerciseTypeConfig
+import androidx.health.services.client.data.WarmUpConfig
import androidx.health.services.client.impl.event.ExerciseUpdateListenerEvent
import androidx.health.services.client.impl.internal.IExerciseInfoCallback
import androidx.health.services.client.impl.internal.IStatusCallback
diff --git a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/AndroidXHiltProcessor.kt b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/AndroidXHiltProcessor.kt
index 668af93..277140b 100644
--- a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/AndroidXHiltProcessor.kt
+++ b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/AndroidXHiltProcessor.kt
@@ -18,14 +18,14 @@
import androidx.hilt.work.WorkerStep
import com.google.auto.service.AutoService
-import net.ltgt.gradle.incap.IncrementalAnnotationProcessor
-import net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING
import javax.annotation.processing.AbstractProcessor
import javax.annotation.processing.Processor
import javax.annotation.processing.RoundEnvironment
import javax.lang.model.SourceVersion
import javax.lang.model.element.Element
import javax.lang.model.element.TypeElement
+import net.ltgt.gradle.incap.IncrementalAnnotationProcessor
+import net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING
/**
* Annotation processor for the various AndroidX Hilt extensions.
diff --git a/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/HiltViewModelComposeTest.kt b/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/HiltViewModelComposeTest.kt
index 9ca7c4d..ad8f010 100644
--- a/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/HiltViewModelComposeTest.kt
+++ b/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/HiltViewModelComposeTest.kt
@@ -48,10 +48,10 @@
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
+import javax.inject.Inject
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import javax.inject.Inject
@LargeTest
@HiltAndroidTest
diff --git a/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/HiltNavGraphViewModelLazyTest.kt b/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/HiltNavGraphViewModelLazyTest.kt
index 06352ae..6cc6dc8 100644
--- a/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/HiltNavGraphViewModelLazyTest.kt
+++ b/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/HiltNavGraphViewModelLazyTest.kt
@@ -38,10 +38,10 @@
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
+import javax.inject.Inject
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import javax.inject.Inject
/*
* Copyright 2021 The Android Open Source Project
diff --git a/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/SimpleTest.kt b/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/SimpleTest.kt
index 477c46b..46cc51c 100644
--- a/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/SimpleTest.kt
+++ b/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/SimpleTest.kt
@@ -27,12 +27,12 @@
import com.google.common.truth.Truth.assertThat
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
+import javax.inject.Inject
import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import javax.inject.Inject
@SmallTest
@HiltAndroidTest
diff --git a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateInspectionPlatformVersionTask.kt b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateInspectionPlatformVersionTask.kt
index 84a7b25..97c3fc0 100644
--- a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateInspectionPlatformVersionTask.kt
+++ b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateInspectionPlatformVersionTask.kt
@@ -17,6 +17,7 @@
package androidx.inspection.gradle
import com.android.build.api.variant.Variant
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.Project
@@ -36,7 +37,6 @@
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.TaskProvider
import org.gradle.work.DisableCachingByDefault
-import java.io.File
/**
* Generates a file into META-INF/ folder that has version of androidx.inspection used
diff --git a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateProguardDetectionFileTask.kt b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateProguardDetectionFileTask.kt
index 9801f3c..aa6d722 100644
--- a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateProguardDetectionFileTask.kt
+++ b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/GenerateProguardDetectionFileTask.kt
@@ -16,6 +16,7 @@
package androidx.inspection.gradle
+import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.Project
@@ -25,7 +26,6 @@
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction
import org.gradle.work.DisableCachingByDefault
-import java.io.File
/**
* Task purposely empty, unused class that would be removed by proguard. See javadoc below for more
* information.
diff --git a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/InspectionPlugin.kt b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/InspectionPlugin.kt
index 8a3832e..48c5da5 100644
--- a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/InspectionPlugin.kt
+++ b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/InspectionPlugin.kt
@@ -22,19 +22,19 @@
import com.google.protobuf.gradle.GenerateProtoTask
import com.google.protobuf.gradle.ProtobufExtension
import com.google.protobuf.gradle.ProtobufPlugin
+import java.io.File
+import org.gradle.api.GradleException
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
+import org.gradle.api.artifacts.MinimalExternalModuleDependency
+import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.artifacts.type.ArtifactTypeDefinition
import org.gradle.api.attributes.Attribute
import org.gradle.api.tasks.StopExecutionException
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.create
import org.gradle.kotlin.dsl.dependencies
-import java.io.File
-import org.gradle.api.GradleException
-import org.gradle.api.artifacts.MinimalExternalModuleDependency
-import org.gradle.api.artifacts.VersionCatalogsExtension
/**
* A plugin which, when present, ensures that intermediate inspector
diff --git a/inspection/inspection-gradle-plugin/src/test/kotlin/androidx/inspection/gradle/InspectionPluginTest.kt b/inspection/inspection-gradle-plugin/src/test/kotlin/androidx/inspection/gradle/InspectionPluginTest.kt
index 0ed2418..00b6f06 100644
--- a/inspection/inspection-gradle-plugin/src/test/kotlin/androidx/inspection/gradle/InspectionPluginTest.kt
+++ b/inspection/inspection-gradle-plugin/src/test/kotlin/androidx/inspection/gradle/InspectionPluginTest.kt
@@ -17,6 +17,11 @@
package androidx.inspection.gradle
import androidx.testutils.gradle.ProjectSetupRule
+import java.io.BufferedReader
+import java.io.File
+import java.io.InputStreamReader
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
import org.gradle.testkit.runner.GradleRunner
import org.gradle.testkit.runner.TaskOutcome
import org.junit.Before
@@ -25,11 +30,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.io.BufferedReader
-import java.io.File
-import java.io.InputStreamReader
-import kotlin.test.assertEquals
-import kotlin.test.assertTrue
@RunWith(JUnit4::class)
class InspectionPluginTest {
diff --git a/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/EchoInspector.kt b/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/EchoInspector.kt
index 0af1c8d..a1d4bb3 100644
--- a/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/EchoInspector.kt
+++ b/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/EchoInspector.kt
@@ -20,12 +20,12 @@
import androidx.inspection.Inspector
import androidx.inspection.InspectorEnvironment
import androidx.inspection.InspectorFactory
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
-import java.util.concurrent.Executor
/**
* An inspector for test purposes, it echoes on commands and sends events once
diff --git a/inspection/inspection-testing/src/main/java/androidx/inspection/testing/InspectorTester.kt b/inspection/inspection-testing/src/main/java/androidx/inspection/testing/InspectorTester.kt
index 0ee526c..ee96110 100644
--- a/inspection/inspection-testing/src/main/java/androidx/inspection/testing/InspectorTester.kt
+++ b/inspection/inspection-testing/src/main/java/androidx/inspection/testing/InspectorTester.kt
@@ -23,6 +23,11 @@
import androidx.inspection.InspectorEnvironment
import androidx.inspection.InspectorExecutors
import androidx.inspection.InspectorFactory
+import java.util.ServiceLoader
+import java.util.concurrent.CancellationException
+import java.util.concurrent.Executor
+import kotlin.coroutines.coroutineContext
+import kotlin.coroutines.resume
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
@@ -35,11 +40,6 @@
import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.withContext
-import java.util.ServiceLoader
-import java.util.concurrent.CancellationException
-import java.util.concurrent.Executor
-import kotlin.coroutines.coroutineContext
-import kotlin.coroutines.resume
// TODO: should be non suspend function with CoroutineScope receiver, that would automatically
// dispose inspector;
diff --git a/inspection/inspection-testing/src/main/java/androidx/inspection/testing/TestInspectorExecutors.kt b/inspection/inspection-testing/src/main/java/androidx/inspection/testing/TestInspectorExecutors.kt
index 96adc63..645cea9 100644
--- a/inspection/inspection-testing/src/main/java/androidx/inspection/testing/TestInspectorExecutors.kt
+++ b/inspection/inspection-testing/src/main/java/androidx/inspection/testing/TestInspectorExecutors.kt
@@ -19,10 +19,10 @@
import android.os.Handler
import android.os.HandlerThread
import androidx.inspection.InspectorExecutors
-import kotlinx.coroutines.Job
import java.util.concurrent.Executor
import java.util.concurrent.Executors
import java.util.concurrent.RejectedExecutionException
+import kotlinx.coroutines.Job
/**
* Test Inspector Executors.
diff --git a/inspection/inspection/src/androidTest/java/androidx/inspection/rules/JvmtiRule.kt b/inspection/inspection/src/androidTest/java/androidx/inspection/rules/JvmtiRule.kt
index cccfd9a..3a93a310 100644
--- a/inspection/inspection/src/androidTest/java/androidx/inspection/rules/JvmtiRule.kt
+++ b/inspection/inspection/src/androidTest/java/androidx/inspection/rules/JvmtiRule.kt
@@ -18,8 +18,8 @@
import android.os.Debug
import androidx.annotation.RequiresApi
-import org.junit.rules.ExternalResource
import java.io.IOException
+import org.junit.rules.ExternalResource
@RequiresApi(28)
class JvmtiRule : ExternalResource() {
diff --git a/leanback/leanback-paging/src/androidTest/java/androidx/leanback/paging/PagingDataAdapterTest.kt b/leanback/leanback-paging/src/androidTest/java/androidx/leanback/paging/PagingDataAdapterTest.kt
index 9b2d05e..2cda1ef 100644
--- a/leanback/leanback-paging/src/androidTest/java/androidx/leanback/paging/PagingDataAdapterTest.kt
+++ b/leanback/leanback-paging/src/androidTest/java/androidx/leanback/paging/PagingDataAdapterTest.kt
@@ -28,6 +28,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.MainDispatcherRule
+import kotlin.coroutines.ContinuationInterceptor
+import kotlin.test.assertEquals
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -40,8 +42,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.coroutines.ContinuationInterceptor
-import kotlin.test.assertEquals
@OptIn(ExperimentalCoroutinesApi::class)
@MediumTest
diff --git a/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt b/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt
index d23d266..b7f7648 100644
--- a/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt
+++ b/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt
@@ -18,15 +18,15 @@
import androidx.testutils.gradle.ProjectSetupRule
import com.google.common.truth.Truth.assertThat
+import java.io.File
+import java.nio.file.Files
+import java.nio.file.Path
import org.gradle.testkit.runner.GradleRunner
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.io.File
-import java.nio.file.Files
-import java.nio.file.Path
@RunWith(JUnit4::class)
class IncrementalAnnotationProcessingTest {
diff --git a/lifecycle/integration-tests/kotlintestapp/src/test-common/java/androidx.lifecycle/LifecycleCoroutineScopeTestBase.kt b/lifecycle/integration-tests/kotlintestapp/src/test-common/java/androidx.lifecycle/LifecycleCoroutineScopeTestBase.kt
index 5b4d60d..61bece9 100644
--- a/lifecycle/integration-tests/kotlintestapp/src/test-common/java/androidx.lifecycle/LifecycleCoroutineScopeTestBase.kt
+++ b/lifecycle/integration-tests/kotlintestapp/src/test-common/java/androidx.lifecycle/LifecycleCoroutineScopeTestBase.kt
@@ -18,6 +18,7 @@
import androidx.lifecycle.testing.TestLifecycleOwner
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CancellationException
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.async
@@ -25,10 +26,9 @@
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.sync.Mutex
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.withContext
import org.junit.Test
-import java.util.concurrent.CancellationException
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
@OptIn(ExperimentalCoroutinesApi::class)
abstract class LifecycleCoroutineScopeTestBase {
diff --git a/lifecycle/integration-tests/kotlintestapp/src/test/java/androidx/lifecycle/LifecycleCoroutineScopeTest.kt b/lifecycle/integration-tests/kotlintestapp/src/test/java/androidx/lifecycle/LifecycleCoroutineScopeTest.kt
index a2af184..19d71e3 100644
--- a/lifecycle/integration-tests/kotlintestapp/src/test/java/androidx/lifecycle/LifecycleCoroutineScopeTest.kt
+++ b/lifecycle/integration-tests/kotlintestapp/src/test/java/androidx/lifecycle/LifecycleCoroutineScopeTest.kt
@@ -18,6 +18,8 @@
package androidx.lifecycle
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.test.resetMain
@@ -26,8 +28,6 @@
import org.junit.Before
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.concurrent.Executors
-import java.util.concurrent.TimeUnit
/**
* To ensure consistent behavior, we run these tests both on androidTest and test
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DispatchQueue.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DispatchQueue.kt
index 1f51438..13f6bd8 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DispatchQueue.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DispatchQueue.kt
@@ -18,10 +18,10 @@
import androidx.annotation.AnyThread
import androidx.annotation.MainThread
-import kotlinx.coroutines.Dispatchers
import java.util.ArrayDeque
import java.util.Queue
import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.Dispatchers
/**
* Helper class for [PausingDispatcher] that tracks runnables which are enqueued to the dispatcher
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycle.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycle.kt
index ac586d8..f69c624 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycle.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycle.kt
@@ -25,7 +25,6 @@
import kotlinx.coroutines.Job
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.cancel
-import kotlinx.coroutines.launch
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -33,6 +32,7 @@
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.callbackFlow
import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.launch
/**
* Defines an object that has an Android Lifecycle. [Fragment][androidx.fragment.app.Fragment]
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/PausingDispatcher.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/PausingDispatcher.kt
index 70dc54d..7b388ed 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/PausingDispatcher.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/PausingDispatcher.kt
@@ -16,13 +16,13 @@
package androidx.lifecycle
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.Runnable
import kotlinx.coroutines.withContext
-import kotlin.coroutines.CoroutineContext
/**
* Runs the given block when the [LifecycleOwner]'s [Lifecycle] is at least in
diff --git a/lifecycle/lifecycle-compiler/src/test/kotlin/androidx/lifecycle/ValidCasesTest.kt b/lifecycle/lifecycle-compiler/src/test/kotlin/androidx/lifecycle/ValidCasesTest.kt
index 4c36341..1889a41 100644
--- a/lifecycle/lifecycle-compiler/src/test/kotlin/androidx/lifecycle/ValidCasesTest.kt
+++ b/lifecycle/lifecycle-compiler/src/test/kotlin/androidx/lifecycle/ValidCasesTest.kt
@@ -20,11 +20,11 @@
import androidx.lifecycle.utils.processClass
import com.google.testing.compile.CompileTester
import com.google.testing.compile.JavaSourcesSubject
+import java.io.File
+import javax.tools.StandardLocation
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.io.File
-import javax.tools.StandardLocation
@RunWith(JUnit4::class)
class ValidCasesTest {
diff --git a/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/FlowExt.kt b/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/FlowExt.kt
index 7ee6398..f1b633c 100644
--- a/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/FlowExt.kt
+++ b/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/FlowExt.kt
@@ -23,11 +23,11 @@
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.repeatOnLifecycle
+import kotlin.coroutines.CoroutineContext
+import kotlin.coroutines.EmptyCoroutineContext
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.withContext
-import kotlin.coroutines.CoroutineContext
-import kotlin.coroutines.EmptyCoroutineContext
/**
* Collects values from this [StateFlow] and represents its latest value via [State] in a
diff --git a/lifecycle/lifecycle-runtime-ktx-lint/src/main/java/androidx/lifecycle/lint/LifecycleWhenChecks.kt b/lifecycle/lifecycle-runtime-ktx-lint/src/main/java/androidx/lifecycle/lint/LifecycleWhenChecks.kt
index f863f3c..dce48e7 100644
--- a/lifecycle/lifecycle-runtime-ktx-lint/src/main/java/androidx/lifecycle/lint/LifecycleWhenChecks.kt
+++ b/lifecycle/lifecycle-runtime-ktx-lint/src/main/java/androidx/lifecycle/lint/LifecycleWhenChecks.kt
@@ -33,6 +33,7 @@
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiWildcardType
import com.intellij.psi.util.PsiTypesUtil
+import java.util.ArrayDeque
import org.jetbrains.kotlin.asJava.elements.KtLightModifierList
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.uast.UCallExpression
@@ -49,7 +50,6 @@
import org.jetbrains.uast.tryResolve
import org.jetbrains.uast.visitor.AbstractUastVisitor
import org.jetbrains.uast.visitor.UastVisitor
-import java.util.ArrayDeque
// both old and new ones
private val CONTINUATION_NAMES = setOf(
diff --git a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/PausingDispatcherTest.kt b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/PausingDispatcherTest.kt
index 4d2f2d6..4cadb0a 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/PausingDispatcherTest.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/PausingDispatcherTest.kt
@@ -20,10 +20,15 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Delay
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.InternalCoroutinesApi
@@ -46,11 +51,6 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executors
-import java.util.concurrent.TimeUnit
-import kotlin.coroutines.CoroutineContext
-import kotlinx.coroutines.Delay
@Suppress("DEPRECATION")
@InternalCoroutinesApi
diff --git a/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/RepeatOnLifecycle.kt b/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/RepeatOnLifecycle.kt
index 45b0f53..a3b6d45b 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/RepeatOnLifecycle.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/RepeatOnLifecycle.kt
@@ -16,6 +16,7 @@
package androidx.lifecycle
+import kotlin.coroutines.resume
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@@ -25,7 +26,6 @@
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.coroutines.withContext
-import kotlin.coroutines.resume
/**
* Runs the given [block] in a new coroutine when `this` [Lifecycle] is at least at [state] and
diff --git a/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/WithLifecycleState.kt b/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/WithLifecycleState.kt
index 9f3dd21..e8f63d7 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/WithLifecycleState.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/WithLifecycleState.kt
@@ -16,13 +16,13 @@
package androidx.lifecycle
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.coroutines.coroutineContext
+import kotlin.coroutines.resumeWithException
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.suspendCancellableCoroutine
-import kotlin.coroutines.EmptyCoroutineContext
-import kotlin.coroutines.coroutineContext
-import kotlin.coroutines.resumeWithException
/**
* A [CancellationException] that indicates that the [Lifecycle] associated with an operation
diff --git a/lifecycle/lifecycle-viewmodel-compose/samples/src/main/java/androidx/lifecycle/viewmodel/compose/samples/LifecycleViewModelSamples.kt b/lifecycle/lifecycle-viewmodel-compose/samples/src/main/java/androidx/lifecycle/viewmodel/compose/samples/LifecycleViewModelSamples.kt
index 750d2ff..126cd46 100644
--- a/lifecycle/lifecycle-viewmodel-compose/samples/src/main/java/androidx/lifecycle/viewmodel/compose/samples/LifecycleViewModelSamples.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/samples/src/main/java/androidx/lifecycle/viewmodel/compose/samples/LifecycleViewModelSamples.kt
@@ -18,13 +18,13 @@
import androidx.annotation.Sampled
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.mutableStateMapOf
import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.setValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.listSaver
+import androidx.compose.runtime.setValue
import androidx.compose.runtime.toMutableStateList
import androidx.compose.runtime.toMutableStateMap
import androidx.core.os.bundleOf
diff --git a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInAppCompatActivityTest.kt b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInAppCompatActivityTest.kt
index 7681326..e5ee149 100644
--- a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInAppCompatActivityTest.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInAppCompatActivityTest.kt
@@ -23,14 +23,14 @@
import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInComponentActivityTest.kt b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInComponentActivityTest.kt
index 594a2e2..50f06f9 100644
--- a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInComponentActivityTest.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInComponentActivityTest.kt
@@ -24,14 +24,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.FlakyTest
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInFragmentTest.kt b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInFragmentTest.kt
index a6ba005..cb4e6a5 100644
--- a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInFragmentTest.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/ViewModelInFragmentTest.kt
@@ -25,14 +25,14 @@
import androidx.fragment.app.FragmentContainerView
import androidx.lifecycle.ViewModel
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(Parameterized::class)
diff --git a/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaver.kt b/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaver.kt
index 8c70d69..9620449 100644
--- a/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaver.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/src/main/java/androidx/lifecycle/viewmodel/compose/SavedStateHandleSaver.kt
@@ -21,9 +21,9 @@
import androidx.compose.runtime.SnapshotMutationPolicy
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.saveable.autoSaver
import androidx.compose.runtime.saveable.Saver
import androidx.compose.runtime.saveable.SaverScope
+import androidx.compose.runtime.saveable.autoSaver
import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshots.SnapshotMutableState
import androidx.core.os.bundleOf
diff --git a/lifecycle/lifecycle-viewmodel-ktx/src/main/java/androidx/lifecycle/ViewModel.kt b/lifecycle/lifecycle-viewmodel-ktx/src/main/java/androidx/lifecycle/ViewModel.kt
index 2078226..ffc77f9 100644
--- a/lifecycle/lifecycle-viewmodel-ktx/src/main/java/androidx/lifecycle/ViewModel.kt
+++ b/lifecycle/lifecycle-viewmodel-ktx/src/main/java/androidx/lifecycle/ViewModel.kt
@@ -16,12 +16,12 @@
package androidx.lifecycle
+import java.io.Closeable
+import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.cancel
-import java.io.Closeable
-import kotlin.coroutines.CoroutineContext
private const val JOB_KEY = "androidx.lifecycle.ViewModelCoroutineScope.JOB_KEY"
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelProvider.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelProvider.kt
index ba62b11..7beaf03 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelProvider.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelProvider.kt
@@ -22,9 +22,9 @@
import androidx.annotation.RestrictTo
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.DEFAULT_KEY
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.defaultFactory
-import androidx.lifecycle.viewmodel.CreationExtras.Key
import androidx.lifecycle.ViewModelProvider.NewInstanceFactory.Companion.VIEW_MODEL_KEY
import androidx.lifecycle.viewmodel.CreationExtras
+import androidx.lifecycle.viewmodel.CreationExtras.Key
import androidx.lifecycle.viewmodel.InitializerViewModelFactory
import androidx.lifecycle.viewmodel.MutableCreationExtras
import androidx.lifecycle.viewmodel.ViewModelInitializer
diff --git a/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt b/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
index f05b834..7de1624 100644
--- a/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/AndroidXIssueRegistry.kt
@@ -75,6 +75,7 @@
// MissingJvmDefaultWithCompatibilityDetector is intentionally left out of the
// registry, see comments on the class for more details.
BanVisibleForTestingParams.ISSUE,
+ PrereleaseSdkCoreDependencyDetector.ISSUE
)
}
}
diff --git a/lint-checks/src/main/java/androidx/build/lint/BanKeepAnnotation.kt b/lint-checks/src/main/java/androidx/build/lint/BanKeepAnnotation.kt
index 8bcfd3a..6c5d65d 100644
--- a/lint-checks/src/main/java/androidx/build/lint/BanKeepAnnotation.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/BanKeepAnnotation.kt
@@ -19,7 +19,6 @@
package androidx.build.lint
import com.android.tools.lint.client.api.UElementHandler
-
import com.android.tools.lint.detector.api.Category
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Implementation
diff --git a/lint-checks/src/main/java/androidx/build/lint/BanParcelableUsage.kt b/lint-checks/src/main/java/androidx/build/lint/BanParcelableUsage.kt
index ff4de6a..b2253c69 100644
--- a/lint-checks/src/main/java/androidx/build/lint/BanParcelableUsage.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/BanParcelableUsage.kt
@@ -27,9 +27,9 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.intellij.psi.PsiModifier
+import java.util.Collections
import org.jetbrains.uast.UAnonymousClass
import org.jetbrains.uast.UClass
-import java.util.Collections
const val PARCELABLE_INTERFACE_CANONICAL_NAME = "android.os.Parcelable"
diff --git a/lint-checks/src/main/java/androidx/build/lint/MetadataTagInsideApplicationTagDetector.kt b/lint-checks/src/main/java/androidx/build/lint/MetadataTagInsideApplicationTagDetector.kt
index 3a13a9f..9bef39f 100644
--- a/lint-checks/src/main/java/androidx/build/lint/MetadataTagInsideApplicationTagDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/MetadataTagInsideApplicationTagDetector.kt
@@ -27,7 +27,6 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.XmlContext
import com.android.xml.AndroidManifest.NODE_APPLICATION
-
import org.w3c.dom.Element
class MetadataTagInsideApplicationTagDetector : Detector(), Detector.XmlScanner {
diff --git a/lint-checks/src/main/java/androidx/build/lint/PrereleaseSdkCoreDependencyDetector.kt b/lint-checks/src/main/java/androidx/build/lint/PrereleaseSdkCoreDependencyDetector.kt
new file mode 100644
index 0000000..fc50974
--- /dev/null
+++ b/lint-checks/src/main/java/androidx/build/lint/PrereleaseSdkCoreDependencyDetector.kt
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2023 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.build.lint
+
+import com.android.tools.lint.client.api.UElementHandler
+import com.android.tools.lint.detector.api.Category
+import com.android.tools.lint.detector.api.Detector
+import com.android.tools.lint.detector.api.Implementation
+import com.android.tools.lint.detector.api.Incident
+import com.android.tools.lint.detector.api.Issue
+import com.android.tools.lint.detector.api.JavaContext
+import com.android.tools.lint.detector.api.Scope
+import com.android.tools.lint.detector.api.Severity
+import com.android.tools.lint.model.LintModelAndroidLibrary
+import com.android.tools.lint.model.LintModelLibrary
+import org.jetbrains.uast.UCallExpression
+
+class PrereleaseSdkCoreDependencyDetector : Detector(), Detector.UastScanner {
+
+ override fun getApplicableUastTypes() = listOf(UCallExpression::class.java)
+
+ override fun createUastHandler(context: JavaContext): UElementHandler {
+ return CallChecker(context)
+ }
+
+ private inner class CallChecker(val context: JavaContext) : UElementHandler() {
+ override fun visitCallExpression(node: UCallExpression) {
+ // Check that this is a prerelease SDK check
+ val method = node.resolve() ?: return
+ val containingClass = method.containingClass ?: return
+ if (containingClass.qualifiedName != BUILD_COMPAT) return
+
+ if (method.annotations.none { it.hasQualifiedName(PRERELEASE_SDK_CHECK) }) return
+
+ // Check if the project is using a versioned dependency on core
+ val dependencies = context.project.buildVariant.mainArtifact.dependencies.getAll()
+ if (dependencies.any { it.isInvalidCoreDependency() }) {
+ val incident = Incident(context)
+ .issue(ISSUE)
+ .location(context.getLocation(node))
+ .message(
+ "Prelease SDK check ${method.name} cannot be called as this project has " +
+ "a versioned dependency on androidx.core:core"
+ )
+ .scope(node)
+ context.report(incident)
+ }
+ }
+
+ /**
+ * Checks whether this library is a dependency on a specific version of androidx.core:core
+ */
+ private fun LintModelLibrary.isInvalidCoreDependency(): Boolean {
+ val library = this as? LintModelAndroidLibrary ?: return false
+ val coordinates = library.resolvedCoordinates
+ return coordinates.artifactId == "core" &&
+ coordinates.groupId == "androidx.core" &&
+ coordinates.version != "unspecified"
+ }
+ }
+
+ companion object {
+ val ISSUE = Issue.create(
+ "PrereleaseSdkCoreDependency",
+ "Prerelease SDK checks can only be used by projects with a TOT dependency on " +
+ "androidx.core:core",
+ """
+ The implementation of a prerelease SDK check will change when the SDK is finalized,
+ so projects using these checks must have a tip-of-tree dependency on core to ensure
+ the check stays up-to-date.
+
+ This error means that the `androidx.core:core` dependency in this project's
+ `build.gradle` file should be replaced with `implementation(project(":core:core"))`
+
+ See go/androidx-api-guidelines#compat-sdk for more information.
+ """,
+ Category.CORRECTNESS, 5, Severity.ERROR,
+ Implementation(
+ PrereleaseSdkCoreDependencyDetector::class.java,
+ Scope.JAVA_FILE_SCOPE
+ )
+ )
+
+ private const val BUILD_COMPAT = "androidx.core.os.BuildCompat"
+ private const val PRERELEASE_SDK_CHECK = "$BUILD_COMPAT.PrereleaseSdkCheck"
+ }
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/TargetApiAnnotationUsageDetector.kt b/lint-checks/src/main/java/androidx/build/lint/TargetApiAnnotationUsageDetector.kt
index e96d19d9..048054d 100644
--- a/lint-checks/src/main/java/androidx/build/lint/TargetApiAnnotationUsageDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/TargetApiAnnotationUsageDetector.kt
@@ -19,7 +19,6 @@
package androidx.build.lint
import com.android.tools.lint.client.api.UElementHandler
-
import com.android.tools.lint.detector.api.Category
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Implementation
diff --git a/lint-checks/src/main/java/androidx/build/lint/TestSizeAnnotationEnforcer.kt b/lint-checks/src/main/java/androidx/build/lint/TestSizeAnnotationEnforcer.kt
index a6b34e6..0777c76 100644
--- a/lint-checks/src/main/java/androidx/build/lint/TestSizeAnnotationEnforcer.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/TestSizeAnnotationEnforcer.kt
@@ -28,11 +28,11 @@
import com.android.tools.lint.detector.api.Scope
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
+import java.util.Collections
+import java.util.EnumSet
import org.jetbrains.uast.UClass
import org.jetbrains.uast.UClassLiteralExpression
import org.jetbrains.uast.UElement
-import java.util.Collections
-import java.util.EnumSet
/**
* Lint check to enforce that every device side test (tests in the androidTest dir) has correct
diff --git a/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt
index 706cd32..781c1fd5 100644
--- a/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt
@@ -19,8 +19,8 @@
package androidx.build.lint
import androidx.build.lint.Stubs.Companion.DoNotInline
-import androidx.build.lint.Stubs.Companion.RequiresApi
import androidx.build.lint.Stubs.Companion.IntRange
+import androidx.build.lint.Stubs.Companion.RequiresApi
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/lint-checks/src/test/java/androidx/build/lint/PrereleaseSdkCoreDependencyDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/PrereleaseSdkCoreDependencyDetectorTest.kt
new file mode 100644
index 0000000..b6d3422
--- /dev/null
+++ b/lint-checks/src/test/java/androidx/build/lint/PrereleaseSdkCoreDependencyDetectorTest.kt
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2023 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.build.lint
+
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@RunWith(JUnit4::class)
+class PrereleaseSdkCoreDependencyDetectorTest : AbstractLintDetectorTest(
+ useDetector = PrereleaseSdkCoreDependencyDetector(),
+ useIssues = listOf(PrereleaseSdkCoreDependencyDetector.ISSUE),
+ stubs = arrayOf(
+ Stubs.BuildCompat,
+ Stubs.ChecksSdkIntAtLeast,
+ Stubs.JetpackRequiresOptIn,
+ Stubs.RestrictTo
+ )
+) {
+ @Test
+ fun `Versioned dependency with isAtLeastU is flagged`() {
+ val input = arrayOf(
+ kotlin(
+ """
+ package androidx.test
+
+ import androidx.core.os.BuildCompat
+
+ fun callIsAtLeastU() {
+ return BuildCompat.isAtLeastU()
+ }
+ """.trimIndent()
+ ),
+ gradle("""
+ dependencies {
+ implementation("androidx.core:core:1.9.0")
+ }
+ """.trimIndent()),
+ )
+
+ /* ktlint-disable max-line-length */
+ val expected = """
+ src/main/kotlin/androidx/test/test.kt:6: Error: Prelease SDK check isAtLeastU cannot be called as this project has a versioned dependency on androidx.core:core [PrereleaseSdkCoreDependency]
+ return BuildCompat.isAtLeastU()
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ 1 errors, 0 warnings
+ """.trimIndent()
+ /* ktlint-enable max-line-length */
+
+ check(*input).expect(expected)
+ }
+
+ @Test
+ fun `Tip-of-tree dependency with isAtLeastU is not flagged`() {
+ val input = arrayOf(
+ kotlin(
+ """
+ package androidx.test
+
+ import androidx.core.os.BuildCompat
+
+ fun callIsAtLeastU() {
+ return BuildCompat.isAtLeastU()
+ }
+ """.trimIndent()
+ ),
+ gradle("""
+ dependencies {
+ implementation(project(":core:core"))
+ }
+ """.trimIndent()),
+ )
+
+ check(*input).expectClean()
+ }
+
+ @Test
+ fun `Versioned dependency with isAtLeastSv2 is flagged`() {
+ val input = arrayOf(
+ kotlin(
+ """
+ package androidx.test
+
+ import androidx.core.os.BuildCompat
+
+ fun callIsAtLeastSv2() {
+ return BuildCompat.isAtLeastSv2()
+ }
+ """.trimIndent()
+ ),
+ gradle("""
+ dependencies {
+ implementation("androidx.core:core:1.9.0")
+ }
+ """.trimIndent()),
+ )
+
+ /* ktlint-disable max-line-length */
+ val expected = """
+ src/main/kotlin/androidx/test/test.kt:6: Error: Prelease SDK check isAtLeastSv2 cannot be called as this project has a versioned dependency on androidx.core:core [PrereleaseSdkCoreDependency]
+ return BuildCompat.isAtLeastSv2()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1 errors, 0 warnings
+ """.trimIndent()
+ /* ktlint-enable max-line-length */
+
+ check(*input).expect(expected)
+ }
+
+ @Test
+ fun `Versioned dependency with non-annotated isAtLeastN is not flagged`() {
+ val input = arrayOf(
+ kotlin(
+ """
+ package androidx.test
+
+ import androidx.core.os.BuildCompat
+
+ fun callIsAtLeastN() {
+ return BuildCompat.isAtLeastN()
+ }
+ """.trimIndent()
+ ),
+ gradle("""
+ dependencies {
+ implementation("androidx.core:core:1.9.0")
+ }
+ """.trimIndent()),
+ )
+
+ check(*input).expectClean()
+ }
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/Stubs.kt b/lint-checks/src/test/java/androidx/build/lint/Stubs.kt
index c4aad8a..108e776 100644
--- a/lint-checks/src/test/java/androidx/build/lint/Stubs.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/Stubs.kt
@@ -386,6 +386,59 @@
}
""".trimIndent()
)
+
+ /**
+ * Contains only a few of the isAtLeastX implementations from BuildCompat for testing
+ */
+ val BuildCompat: TestFile = LintDetectorTest.java("""
+package androidx.core.os;
+
+import android.os.Build;
+import android.os.Build.VERSION;
+
+import androidx.annotation.ChecksSdkIntAtLeast;
+import androidx.annotation.NonNull;
+import androidx.annotation.RequiresOptIn;
+import androidx.annotation.RestrictTo;
+
+import java.util.Locale;
+
+public class BuildCompat {
+ private BuildCompat() {}
+
+ @RestrictTo(RestrictTo.Scope.TESTS)
+ protected static boolean isAtLeastPreReleaseCodename(@NonNull String codename, @NonNull String buildCodename) {
+ if ("REL".equals(buildCodename)) {
+ return false;
+ }
+ final String buildCodenameUpper = buildCodename.toUpperCase(Locale.ROOT);
+ final String codenameUpper = codename.toUpperCase(Locale.ROOT);
+ return buildCodenameUpper.compareTo(codenameUpper) >= 0;
+ }
+
+ @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.N)
+ @Deprecated
+ public static boolean isAtLeastN() {
+ return VERSION.SDK_INT >= 24;
+ }
+
+ @PrereleaseSdkCheck
+ @ChecksSdkIntAtLeast(api = 32, codename = "Sv2")
+ @Deprecated
+ public static boolean isAtLeastSv2() {
+ return VERSION.SDK_INT >= 32 || (VERSION.SDK_INT >= 31 && isAtLeastPreReleaseCodename("Sv2", VERSION.CODENAME));
+ }
+
+ @PrereleaseSdkCheck
+ @ChecksSdkIntAtLeast(codename = "UpsideDownCake")
+ public static boolean isAtLeastU() {
+ return VERSION.SDK_INT >= 33 && isAtLeastPreReleaseCodename("UpsideDownCake", VERSION.CODENAME);
+ }
+
+ @RequiresOptIn
+ public @interface PrereleaseSdkCheck { }
+}
+ """.trimIndent())
/* ktlint-enable max-line-length */
}
}
diff --git a/loader/loader-ktx/src/androidTest/java/androidx/loader/app/LoaderManagerTest.kt b/loader/loader-ktx/src/androidTest/java/androidx/loader/app/LoaderManagerTest.kt
index 809d8b8..e83c552 100644
--- a/loader/loader-ktx/src/androidTest/java/androidx/loader/app/LoaderManagerTest.kt
+++ b/loader/loader-ktx/src/androidTest/java/androidx/loader/app/LoaderManagerTest.kt
@@ -24,12 +24,12 @@
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.mock
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankAggregatorActivity.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankAggregatorActivity.kt
index e293c37..d280f43 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankAggregatorActivity.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankAggregatorActivity.kt
@@ -20,8 +20,8 @@
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
-import androidx.metrics.performance.PerformanceMetricsState
import androidx.metrics.performance.FrameData
+import androidx.metrics.performance.PerformanceMetricsState
import androidx.metrics.performance.janktest.databinding.ActivityMainBinding
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankLoggingActivity.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankLoggingActivity.kt
index e3c0087..08826f4 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankLoggingActivity.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankLoggingActivity.kt
@@ -20,9 +20,9 @@
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
-import androidx.metrics.performance.PerformanceMetricsState
import androidx.metrics.performance.FrameData
import androidx.metrics.performance.JankStats
+import androidx.metrics.performance.PerformanceMetricsState
import androidx.metrics.performance.janktest.databinding.ActivityMainBinding
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
diff --git a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/JankStatsTest.kt b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/JankStatsTest.kt
index 5bb3c0d..a933cfc 100644
--- a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/JankStatsTest.kt
+++ b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/JankStatsTest.kt
@@ -35,8 +35,8 @@
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import kotlin.math.max
-import org.hamcrest.Matchers
import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotEquals
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
index a4da5ed..c893818 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
@@ -24,9 +24,9 @@
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.io.UnsupportedEncodingException
import kotlin.test.assertFailsWith
import org.junit.Test
-import java.io.UnsupportedEncodingException
@SmallTest
class NavDeepLinkTest {
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavTypeTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavTypeTest.kt
index 91be8b2..457e530 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavTypeTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavTypeTest.kt
@@ -23,8 +23,8 @@
import androidx.navigation.common.test.R
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
import java.io.Serializable
+import org.junit.Test
@SmallTest
class NavTypeTest {
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
index 5577ac2..9cbe30e 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
@@ -20,11 +20,11 @@
import androidx.annotation.CallSuper
import androidx.annotation.RestrictTo
import androidx.lifecycle.Lifecycle
+import java.util.concurrent.locks.ReentrantLock
+import kotlin.concurrent.withLock
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
-import java.util.concurrent.locks.ReentrantLock
-import kotlin.concurrent.withLock
/**
* The NavigatorState encapsulates the state shared between the [Navigator] and the
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/NavDestinationTest.kt b/navigation/navigation-common/src/test/java/androidx/navigation/NavDestinationTest.kt
index 97ceb0f..c422999 100644
--- a/navigation/navigation-common/src/test/java/androidx/navigation/NavDestinationTest.kt
+++ b/navigation/navigation-common/src/test/java/androidx/navigation/NavDestinationTest.kt
@@ -24,8 +24,8 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
+import org.mockito.Mockito.`when`
@RunWith(JUnit4::class)
class NavDestinationTest {
diff --git a/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/ComposableDestinationInComposeScopeDetector.kt b/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/ComposableDestinationInComposeScopeDetector.kt
index 5bba39e..0978c5b 100644
--- a/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/ComposableDestinationInComposeScopeDetector.kt
+++ b/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/ComposableDestinationInComposeScopeDetector.kt
@@ -31,8 +31,8 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
-import org.jetbrains.uast.UCallExpression
import java.util.EnumSet
+import org.jetbrains.uast.UCallExpression
/**
* [Detector] that checks `composable` calls to make sure that they are not called inside a
diff --git a/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/BasicNavDemo.kt b/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/BasicNavDemo.kt
index aef7393..105717b 100644
--- a/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/BasicNavDemo.kt
+++ b/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/BasicNavDemo.kt
@@ -16,8 +16,8 @@
package androidx.navigation.compose.demos
-import androidx.navigation.compose.samples.BasicNav
import androidx.compose.runtime.Composable
+import androidx.navigation.compose.samples.BasicNav
@Composable
fun BasicNavDemo() {
diff --git a/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavGraphBuilderTest.kt b/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavGraphBuilderTest.kt
index 3634fee..619b7db 100644
--- a/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavGraphBuilderTest.kt
+++ b/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavGraphBuilderTest.kt
@@ -20,8 +20,8 @@
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.core.net.toUri
-import androidx.navigation.contains
import androidx.navigation.NavDeepLinkRequest
+import androidx.navigation.contains
import androidx.navigation.navArgument
import androidx.navigation.navDeepLink
import androidx.navigation.navigation
diff --git a/navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/ui/DefaultProgressFragmentTest.kt b/navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/ui/DefaultProgressFragmentTest.kt
index 99c67e7..b05a6cc 100644
--- a/navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/ui/DefaultProgressFragmentTest.kt
+++ b/navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/ui/DefaultProgressFragmentTest.kt
@@ -16,13 +16,13 @@
package androidx.navigation.dynamicfeatures.fragment.ui
-import androidx.navigation.dynamicfeatures.fragment.R as mainR
-import androidx.navigation.dynamicfeatures.fragment.test.R as testR
import android.widget.TextView
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.dynamicfeatures.fragment.DynamicNavHostFragment
import androidx.navigation.dynamicfeatures.fragment.NavigationActivity
+import androidx.navigation.dynamicfeatures.fragment.R as mainR
+import androidx.navigation.dynamicfeatures.fragment.test.R as testR
import androidx.navigation.fragment.findNavController
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/DialogFragmentNavigatorTest.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/DialogFragmentNavigatorTest.kt
index 22cded3..b434bcf 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/DialogFragmentNavigatorTest.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/DialogFragmentNavigatorTest.kt
@@ -35,11 +35,11 @@
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import kotlin.reflect.KClass
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.reflect.KClass
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/ImmediateNavigationTest.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/ImmediateNavigationTest.kt
index 8d3b01b10..fdad624 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/ImmediateNavigationTest.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/ImmediateNavigationTest.kt
@@ -27,11 +27,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.withActivity
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/MultiNavHostFragmentTest.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/MultiNavHostFragmentTest.kt
index 1a72855..eb54237 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/MultiNavHostFragmentTest.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/MultiNavHostFragmentTest.kt
@@ -26,10 +26,10 @@
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Test
+import org.junit.runner.RunWith
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavControllerWithFragmentTest.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavControllerWithFragmentTest.kt
index 15a2734..d000958 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavControllerWithFragmentTest.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavControllerWithFragmentTest.kt
@@ -300,6 +300,60 @@
assertThat(navController.currentBackStackEntry?.destination?.route).isEqualTo("first")
}
+ @LargeTest
+ @Test
+ fun testSystemBackPressAfterPopUpToStartDestinationOffBackStack() = withNavigationActivity {
+ navController.graph = navController.createGraph("first") {
+ fragment<EmptyFragment>("first")
+ fragment<EmptyFragment>("second")
+ fragment<EmptyFragment>("third")
+ }
+ navController.navigate("second")
+ val fm = supportFragmentManager.findFragmentById(R.id.nav_host)?.childFragmentManager
+ fm?.executePendingTransactions()
+
+ navController.navigate("third", navOptions {
+ popUpTo("first") { inclusive = true }
+ })
+ fm?.executePendingTransactions()
+
+ navController.navigate("first")
+ fm?.executePendingTransactions()
+
+ onBackPressedDispatcher.onBackPressed()
+
+ assertThat(navController.currentBackStackEntry?.destination?.route).isEqualTo("third")
+ }
+
+ @LargeTest
+ @Test
+ fun testSystemBackPressAfterPopUpToOffBackStack() = withNavigationActivity {
+ navController.graph = navController.createGraph("first") {
+ fragment<EmptyFragment>("first")
+ fragment<EmptyFragment>("second")
+ fragment<EmptyFragment>("third")
+ fragment<EmptyFragment>("fourth")
+ }
+ navController.navigate("second")
+ val fm = supportFragmentManager.findFragmentById(R.id.nav_host)?.childFragmentManager
+ fm?.executePendingTransactions()
+
+ navController.navigate("third")
+ fm?.executePendingTransactions()
+
+ navController.navigate("fourth", navOptions {
+ popUpTo("second") { inclusive = true }
+ })
+ fm?.executePendingTransactions()
+
+ navController.navigate("second")
+ fm?.executePendingTransactions()
+
+ onBackPressedDispatcher.onBackPressed()
+
+ assertThat(navController.currentBackStackEntry?.destination?.route).isEqualTo("fourth")
+ }
+
private fun withNavigationActivity(
block: NavigationActivity.() -> Unit
) {
diff --git a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
index f92e322..8bb7b8c 100644
--- a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
+++ b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
@@ -67,7 +67,10 @@
/**
* List of entries that were popped by direct calls to popBackStack (i.e. from NavController)
*/
- private val entriesToPop = mutableSetOf<String>()
+ internal val entriesToPop: Set<String>
+ get() = (state.transitionsInProgress.value - state.backStack.value.toSet())
+ .map { it.id }
+ .toSet()
/**
* Get the back stack from the [state].
@@ -81,7 +84,6 @@
entry.id == fragment.tag
}
if (entry != null) {
- entriesToPop.remove(entry.id)
if (!state.backStack.value.contains(entry)) {
state.markTransitionComplete(entry)
}
@@ -99,7 +101,6 @@
// Once the lifecycle reaches DESTROYED, if the entry is not in the back stack, we can
// mark the transition complete
if (event == Lifecycle.Event.ON_DESTROY) {
- entriesToPop.remove(entry.id)
if (!state.backStack.value.contains(entry)) {
state.markTransitionComplete(entry)
}
@@ -150,16 +151,10 @@
// we need to make sure we still return the entries to their proper final state.
attachClearViewModel(fragment, entry, state)
if (pop) {
- // The entry has already been removed from the back stack so just remove it
- // from the list
- if (!state.backStack.value.contains(entry)) {
- // remove it so we don't falsely identify a direct call to popBackStack
- entriesToPop.remove(entry.id)
- }
// This is the case of system back where we will need to make the call to
// popBackStack. Otherwise, popBackStack was called directly and this should
// end up being a no-op.
- else if (entriesToPop.isEmpty() && fragment.isRemoving) {
+ if (entriesToPop.isEmpty() && fragment.isRemoving) {
state.popWithTransition(entry, false)
}
}
@@ -249,10 +244,6 @@
FragmentManager.POP_BACK_STACK_INCLUSIVE
)
}
- // Add all of the entries that are going to be popped to our set of entries to pop
- poppedList.forEach {
- entriesToPop.add(it.id)
- }
state.popWithTransition(popUpTo, savedState)
}
diff --git a/navigation/navigation-runtime-truth/src/androidTest/java/androidx/navigation/truth/NavControllerSubjectTest.kt b/navigation/navigation-runtime-truth/src/androidTest/java/androidx/navigation/truth/NavControllerSubjectTest.kt
index 15499c8..10caf31 100644
--- a/navigation/navigation-runtime-truth/src/androidTest/java/androidx/navigation/truth/NavControllerSubjectTest.kt
+++ b/navigation/navigation-runtime-truth/src/androidTest/java/androidx/navigation/truth/NavControllerSubjectTest.kt
@@ -18,8 +18,8 @@
import androidx.navigation.NavController
import androidx.navigation.plusAssign
-import androidx.navigation.truth.test.R
import androidx.navigation.truth.NavControllerSubject.Companion.assertThat
+import androidx.navigation.truth.test.R
import androidx.test.annotation.UiThreadTest
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.SmallTest
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
index 8b35f7b..3b662ee 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
@@ -54,8 +54,8 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import androidx.testutils.TestNavigator
-import androidx.testutils.withActivity
import androidx.testutils.test
+import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import kotlin.test.assertFailsWith
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerViewModelTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerViewModelTest.kt
index d786d7a..2ff68ee9 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerViewModelTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerViewModelTest.kt
@@ -20,9 +20,9 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import java.util.UUID
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.UUID
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
index 7d97f4e..18a7e32 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
@@ -16,16 +16,16 @@
package androidx.navigation
-import androidx.navigation.test.R
import android.content.Context
import android.os.Bundle
+import androidx.core.os.bundleOf
+import androidx.navigation.test.R
import androidx.test.annotation.UiThreadTest
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.testutils.TestNavigator
import androidx.testutils.test
-import androidx.core.os.bundleOf
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
diff --git a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
index fc7b988e..4176c33 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
@@ -42,6 +42,8 @@
import androidx.navigation.NavDestination.Companion.createRoute
import androidx.navigation.NavDestination.Companion.hierarchy
import androidx.navigation.NavGraph.Companion.findStartDestination
+import java.util.concurrent.CopyOnWriteArrayList
+import java.util.concurrent.atomic.AtomicInteger
import kotlinx.coroutines.channels.BufferOverflow
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableSharedFlow
@@ -49,8 +51,6 @@
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asSharedFlow
import kotlinx.coroutines.flow.asStateFlow
-import java.util.concurrent.CopyOnWriteArrayList
-import java.util.concurrent.atomic.AtomicInteger
/**
* NavController manages app navigation within a [NavHost].
diff --git a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkBuilder.kt b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkBuilder.kt
index 4c8f16b..2b624ea 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkBuilder.kt
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavDeepLinkBuilder.kt
@@ -16,10 +16,10 @@
package androidx.navigation
import android.app.Activity
-import android.content.Intent
-import android.content.ComponentName
import android.app.PendingIntent
+import android.content.ComponentName
import android.content.Context
+import android.content.Intent
import android.os.Bundle
import androidx.annotation.IdRes
import androidx.annotation.NavigationRes
diff --git a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.kt b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.kt
index 4754d62..7722bba 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.kt
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.kt
@@ -29,9 +29,9 @@
import androidx.core.content.res.use
import androidx.core.content.withStyledAttributes
import androidx.navigation.common.R
+import java.io.IOException
import org.xmlpull.v1.XmlPullParser
import org.xmlpull.v1.XmlPullParserException
-import java.io.IOException
/**
* Class which translates a navigation XML file into a [NavGraph]
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPositionParser.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPositionParser.kt
index 305c54f..d0e29bc 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPositionParser.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPositionParser.kt
@@ -16,9 +16,9 @@
package androidx.navigation.safe.args.generator
+import java.io.Reader
import org.xmlpull.v1.XmlPullParser
import org.xmlpull.v1.XmlPullParserFactory
-import java.io.Reader
internal class XmlPositionParser(private val name: String, reader: Reader, val logger: NavLogger) {
private var startLine = 0
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt
index fb886bb..0ec5e48 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt
@@ -35,13 +35,13 @@
import androidx.navigation.safe.args.generator.ObjectType
import androidx.navigation.safe.args.generator.ReferenceArrayType
import androidx.navigation.safe.args.generator.ReferenceType
+import androidx.navigation.safe.args.generator.ReferenceValue
import androidx.navigation.safe.args.generator.StringArrayType
import androidx.navigation.safe.args.generator.StringType
-import androidx.navigation.safe.args.generator.models.Argument
-import androidx.navigation.safe.args.generator.ReferenceValue
import androidx.navigation.safe.args.generator.StringValue
import androidx.navigation.safe.args.generator.WritableValue
import androidx.navigation.safe.args.generator.ext.toClassNameParts
+import androidx.navigation.safe.args.generator.models.Argument
import androidx.navigation.safe.args.generator.models.ResReference
import com.squareup.javapoet.ArrayTypeName
import com.squareup.javapoet.ClassName
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt
index 5a42e74..4a3a9dd 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt
@@ -52,8 +52,8 @@
import com.squareup.kotlinpoet.INT
import com.squareup.kotlinpoet.LONG
import com.squareup.kotlinpoet.ParameterizedTypeName
-import com.squareup.kotlinpoet.TypeName
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
+import com.squareup.kotlinpoet.TypeName
import com.squareup.kotlinpoet.asTypeName
import java.lang.UnsupportedOperationException
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt
index bcd9829..9723d49 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt
@@ -29,13 +29,13 @@
import com.squareup.javapoet.ClassName
import com.squareup.javapoet.JavaFile
import com.squareup.javapoet.TypeSpec
+import javax.tools.JavaFileObject
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.not
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import javax.tools.JavaFileObject
@RunWith(JUnit4::class)
class JavaNavWriterTest {
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt
index 915faaf..29c9fbf 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt
@@ -16,19 +16,19 @@
package androidx.navigation.safe.args.generator
+import androidx.navigation.safe.args.generator.ext.capitalize
import androidx.navigation.safe.args.generator.models.Action
import androidx.navigation.safe.args.generator.models.Argument
import androidx.navigation.safe.args.generator.models.Destination
import androidx.navigation.safe.args.generator.models.ResReference
-import androidx.navigation.safe.args.generator.ext.capitalize
import com.squareup.javapoet.ClassName
+import java.util.Locale
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.Locale
@RunWith(JUnit4::class)
class NavArgumentResolverTest {
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavGeneratorTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavGeneratorTest.kt
index 7f29cd0..cb2cb9f 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavGeneratorTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavGeneratorTest.kt
@@ -20,6 +20,8 @@
import androidx.navigation.safe.args.generator.kotlin.KotlinCodeFile
import com.google.common.truth.Truth
import com.google.testing.compile.JavaSourcesSubject
+import java.io.File
+import java.lang.IllegalStateException
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Rule
@@ -27,8 +29,6 @@
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.io.File
-import java.lang.IllegalStateException
@RunWith(Parameterized::class)
class NavGeneratorTest(private val generateKotlin: Boolean) {
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/ArgumentsGenerationTask.kt b/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/ArgumentsGenerationTask.kt
index 279f78a..b08f9fd 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/ArgumentsGenerationTask.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/ArgumentsGenerationTask.kt
@@ -20,6 +20,8 @@
import androidx.navigation.safe.args.generator.SafeArgsGenerator
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import java.io.File
+import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.file.ConfigurableFileCollection
@@ -36,8 +38,6 @@
import org.gradle.work.ChangeType
import org.gradle.work.Incremental
import org.gradle.work.InputChanges
-import java.io.File
-import javax.inject.Inject
private const val MAPPING_FILE = "file_mappings.json"
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/SafeArgsPlugin.kt b/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/SafeArgsPlugin.kt
index a50222b..47edf23 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/SafeArgsPlugin.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/SafeArgsPlugin.kt
@@ -23,6 +23,9 @@
import com.android.build.gradle.AppExtension
import com.android.build.gradle.BaseExtension
import com.android.build.gradle.LibraryExtension
+import java.io.File
+import java.util.Locale
+import javax.inject.Inject
import org.gradle.api.GradleException
import org.gradle.api.Plugin
import org.gradle.api.Project
@@ -30,9 +33,6 @@
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
-import java.io.File
-import java.util.Locale
-import javax.inject.Inject
private const val PLUGIN_DIRNAME = "navigation-args"
internal const val GENERATED_PATH = "generated/source/$PLUGIN_DIRNAME"
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt
index c3e20c9..5f0e351 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt
@@ -17,13 +17,13 @@
package androidx.navigation.safeargs.gradle
import androidx.testutils.gradle.ProjectSetupRule
+import java.io.File
import org.gradle.testkit.runner.BuildResult
import org.gradle.testkit.runner.GradleRunner
import org.gradle.testkit.runner.TaskOutcome
import org.hamcrest.CoreMatchers
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Rule
-import java.io.File
internal const val MAIN_DIR = "androidx/navigation/testapp"
diff --git a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt
index 76aa369..3d9ca21 100644
--- a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt
+++ b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt
@@ -17,7 +17,6 @@
package androidx.navigation.testing
import android.os.Bundle
-import androidx.test.annotation.UiThreadTest
import androidx.navigation.ActivityNavigator
import androidx.navigation.NavOptions
import androidx.navigation.Navigator
@@ -25,6 +24,7 @@
import androidx.navigation.createGraph
import androidx.navigation.plusAssign
import androidx.navigation.testing.test.R
+import androidx.test.annotation.UiThreadTest
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.ext.truth.os.BundleSubject.assertThat
diff --git a/paging/integration-tests/testapp/src/androidTest/kotlin/androidx/paging/integration/testapp/v3/OnPagesUpdatedTest.kt b/paging/integration-tests/testapp/src/androidTest/kotlin/androidx/paging/integration/testapp/v3/OnPagesUpdatedTest.kt
index fe5a24b..2a9c625 100644
--- a/paging/integration-tests/testapp/src/androidTest/kotlin/androidx/paging/integration/testapp/v3/OnPagesUpdatedTest.kt
+++ b/paging/integration-tests/testapp/src/androidTest/kotlin/androidx/paging/integration/testapp/v3/OnPagesUpdatedTest.kt
@@ -22,6 +22,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.test.assertTrue
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -40,8 +42,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.coroutines.EmptyCoroutineContext
-import kotlin.test.assertTrue
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt
index a107d6e..cbefb66 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt
@@ -20,8 +20,8 @@
import androidx.annotation.ColorInt
import androidx.paging.PagingSource
import androidx.paging.PagingState
-import kotlinx.coroutines.delay
import java.util.concurrent.atomic.AtomicBoolean
+import kotlinx.coroutines.delay
val dataSourceError = AtomicBoolean(false)
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt
index e7f4e4a..fd4b1bf 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt
@@ -20,8 +20,8 @@
import androidx.annotation.ColorInt
import androidx.paging.PagingSource
import androidx.paging.PagingState
-import kotlinx.coroutines.delay
import java.util.concurrent.atomic.AtomicBoolean
+import kotlinx.coroutines.delay
val dataSourceError = AtomicBoolean(false)
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/FlowExt.kt b/paging/paging-common/src/main/kotlin/androidx/paging/FlowExt.kt
index 9cd5e14..d6b55b8 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/FlowExt.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/FlowExt.kt
@@ -22,6 +22,7 @@
import androidx.paging.CombineSource.INITIAL
import androidx.paging.CombineSource.OTHER
import androidx.paging.CombineSource.RECEIVER
+import java.util.concurrent.atomic.AtomicInteger
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Job
import kotlinx.coroutines.channels.SendChannel
@@ -35,7 +36,6 @@
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.coroutines.yield
-import java.util.concurrent.atomic.AtomicInteger
/**
* This File includes custom flow operators that we implement to avoid using experimental APIs
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/HintHandler.kt b/paging/paging-common/src/main/kotlin/androidx/paging/HintHandler.kt
index cefabc2..8c81e2e 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/HintHandler.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/HintHandler.kt
@@ -21,11 +21,11 @@
import androidx.annotation.RestrictTo
import androidx.paging.LoadType.APPEND
import androidx.paging.LoadType.PREPEND
+import java.util.concurrent.locks.ReentrantLock
+import kotlin.concurrent.withLock
import kotlinx.coroutines.channels.BufferOverflow
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableSharedFlow
-import java.util.concurrent.locks.ReentrantLock
-import kotlin.concurrent.withLock
/**
* Helper class to handle UI hints.
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/ItemKeyedDataSource.kt b/paging/paging-common/src/main/kotlin/androidx/paging/ItemKeyedDataSource.kt
index 68a85be..8aeb85a 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/ItemKeyedDataSource.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/ItemKeyedDataSource.kt
@@ -19,9 +19,9 @@
import androidx.annotation.VisibleForTesting
import androidx.arch.core.util.Function
import androidx.paging.DataSource.KeyType.ITEM_KEYED
+import kotlin.coroutines.resume
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.suspendCancellableCoroutine
-import kotlin.coroutines.resume
/**
* Incremental data loader for paging keyed content, where loaded content uses previously loaded
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/LegacyPageFetcher.kt b/paging/paging-common/src/main/kotlin/androidx/paging/LegacyPageFetcher.kt
index 868af5e..d923015 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/LegacyPageFetcher.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/LegacyPageFetcher.kt
@@ -19,10 +19,10 @@
import androidx.paging.LoadState.Loading
import androidx.paging.LoadState.NotLoading
import androidx.paging.PagingSource.LoadParams
+import java.util.concurrent.atomic.AtomicBoolean
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
-import java.util.concurrent.atomic.AtomicBoolean
internal class LegacyPageFetcher<K : Any, V : Any>(
private val pagedListScope: CoroutineScope,
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/MutableCombinedLoadStateCollection.kt b/paging/paging-common/src/main/kotlin/androidx/paging/MutableCombinedLoadStateCollection.kt
index 964433b..0b12735 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/MutableCombinedLoadStateCollection.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/MutableCombinedLoadStateCollection.kt
@@ -19,8 +19,8 @@
import androidx.paging.LoadState.Error
import androidx.paging.LoadState.Loading
import androidx.paging.LoadState.NotLoading
-import kotlinx.coroutines.flow.MutableStateFlow
import java.util.concurrent.CopyOnWriteArrayList
+import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/PageFetcherSnapshotState.kt b/paging/paging-common/src/main/kotlin/androidx/paging/PageFetcherSnapshotState.kt
index 209142b..e72df74 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/PageFetcherSnapshotState.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/PageFetcherSnapshotState.kt
@@ -17,8 +17,8 @@
package androidx.paging
import androidx.annotation.CheckResult
-import androidx.paging.LoadState.NotLoading
import androidx.paging.LoadState.Loading
+import androidx.paging.LoadState.NotLoading
import androidx.paging.LoadType.APPEND
import androidx.paging.LoadType.PREPEND
import androidx.paging.LoadType.REFRESH
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/PageKeyedDataSource.kt b/paging/paging-common/src/main/kotlin/androidx/paging/PageKeyedDataSource.kt
index e3d0fd8..5c98360 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/PageKeyedDataSource.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/PageKeyedDataSource.kt
@@ -18,9 +18,9 @@
import androidx.arch.core.util.Function
import androidx.paging.DataSource.KeyType.PAGE_KEYED
+import kotlin.coroutines.resume
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.suspendCancellableCoroutine
-import kotlin.coroutines.resume
/**
* Incremental data loader for page-keyed content, where requests return keys for next/previous
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/PagedList.kt b/paging/paging-common/src/main/kotlin/androidx/paging/PagedList.kt
index ac60b3d..23f7ebe 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/PagedList.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/PagedList.kt
@@ -19,6 +19,9 @@
import androidx.annotation.IntRange
import androidx.annotation.MainThread
import androidx.annotation.RestrictTo
+import java.lang.ref.WeakReference
+import java.util.AbstractList
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.DelicateCoroutinesApi
@@ -27,9 +30,6 @@
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
-import java.lang.ref.WeakReference
-import java.util.AbstractList
-import java.util.concurrent.Executor
/**
* Lazy loading list that pages in immutable content from a [PagingSource].
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/PagingDataTransforms.kt b/paging/paging-common/src/main/kotlin/androidx/paging/PagingDataTransforms.kt
index 9fcf71a..0a31f4e 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/PagingDataTransforms.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/PagingDataTransforms.kt
@@ -20,10 +20,10 @@
import androidx.annotation.CheckResult
import androidx.paging.TerminalSeparatorType.FULLY_COMPLETE
+import java.util.concurrent.Executor
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.withContext
-import java.util.concurrent.Executor
private inline fun <T : Any, R : Any> PagingData<T>.transform(
crossinline transform: suspend (PageEvent<T>) -> PageEvent<R>
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/PositionalDataSource.kt b/paging/paging-common/src/main/kotlin/androidx/paging/PositionalDataSource.kt
index 1b84ad3..134a223 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/PositionalDataSource.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/PositionalDataSource.kt
@@ -22,8 +22,8 @@
import androidx.arch.core.util.Function
import androidx.paging.DataSource.KeyType.POSITIONAL
import androidx.paging.PagingSource.LoadResult.Page.Companion.COUNT_UNDEFINED
-import kotlinx.coroutines.suspendCancellableCoroutine
import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Position-based data loader for a fixed-size, countable data set, supporting fixed-size loads at
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/RemoteMediatorAccessor.kt b/paging/paging-common/src/main/kotlin/androidx/paging/RemoteMediatorAccessor.kt
index 358f194..17b923c 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/RemoteMediatorAccessor.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/RemoteMediatorAccessor.kt
@@ -20,12 +20,12 @@
import androidx.paging.AccessorState.BlockState.REQUIRES_REFRESH
import androidx.paging.AccessorState.BlockState.UNBLOCKED
import androidx.paging.RemoteMediator.MediatorResult
+import java.util.concurrent.locks.ReentrantLock
+import kotlin.concurrent.withLock
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import java.util.concurrent.locks.ReentrantLock
-import kotlin.concurrent.withLock
/**
* Interface provided to the snapshot to trigger load events.
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/SimpleChannelFlow.kt b/paging/paging-common/src/main/kotlin/androidx/paging/SimpleChannelFlow.kt
index 75ab293..1c8ae24 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/SimpleChannelFlow.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/SimpleChannelFlow.kt
@@ -19,6 +19,7 @@
package androidx.paging
import androidx.annotation.RestrictTo
+import kotlin.coroutines.resume
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.channels.Channel
@@ -30,7 +31,6 @@
import kotlinx.coroutines.flow.internal.FusibleFlow
import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
-import kotlin.coroutines.resume
/**
* This is a simplified channelFlow implementation as a temporary measure until channel flow
diff --git a/paging/paging-common/src/main/kotlin/androidx/paging/multicast/StoreRealActor.kt b/paging/paging-common/src/main/kotlin/androidx/paging/multicast/StoreRealActor.kt
index 74c7fc1..60c962a 100644
--- a/paging/paging-common/src/main/kotlin/androidx/paging/multicast/StoreRealActor.kt
+++ b/paging/paging-common/src/main/kotlin/androidx/paging/multicast/StoreRealActor.kt
@@ -15,6 +15,7 @@
*/
package androidx.paging.multicast
+import java.util.concurrent.atomic.AtomicBoolean
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
@@ -22,7 +23,6 @@
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onCompletion
import kotlinx.coroutines.flow.onEach
-import java.util.concurrent.atomic.AtomicBoolean
/**
* Simple actor implementation abstracting away Coroutine.actor since it is deprecated.
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt
index 1948415..cffc528 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt
@@ -16,6 +16,9 @@
package androidx.paging
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.test.Ignore
+import kotlin.test.Test
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.cancel
@@ -25,11 +28,8 @@
import kotlinx.coroutines.flow.takeWhile
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
-import org.junit.Ignore
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.coroutines.EmptyCoroutineContext
/**
* reproduces b/203594733
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowTest.kt
index 77e0ce1..1f3cda9 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/CachedPageEventFlowTest.kt
@@ -17,6 +17,7 @@
package androidx.paging
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
@@ -32,7 +33,6 @@
import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/CachingTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/CachingTest.kt
index 5eb154c..977255e 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/CachingTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/CachingTest.kt
@@ -19,6 +19,8 @@
import androidx.paging.ActiveFlowTracker.FlowType.PAGED_DATA_FLOW
import androidx.paging.ActiveFlowTracker.FlowType.PAGE_EVENT_FLOW
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.atomic.AtomicInteger
+import kotlin.test.Test
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -36,15 +38,13 @@
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
-import kotlinx.coroutines.yield
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-import java.util.concurrent.atomic.AtomicInteger
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.yield
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/ConflatedEventBusTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/ConflatedEventBusTest.kt
index c5bde13..174df10 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/ConflatedEventBusTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/ConflatedEventBusTest.kt
@@ -17,12 +17,12 @@
package androidx.paging
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
-import org.junit.Test
@OptIn(ExperimentalCoroutinesApi::class)
class ConflatedEventBusTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/ContiguousPagedListTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/ContiguousPagedListTest.kt
index 1a4637b..79c02d1 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/ContiguousPagedListTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/ContiguousPagedListTest.kt
@@ -29,18 +29,18 @@
import androidx.paging.PagedList.Config
import androidx.paging.PagingSource.LoadResult.Page
import androidx.testutils.TestDispatcher
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlin.test.assertSame
+import kotlin.test.assertTrue
+import kotlinx.coroutines.runBlocking
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
import org.mockito.kotlin.mock
import org.mockito.kotlin.reset
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyNoMoreInteractions
-import kotlinx.coroutines.runBlocking
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertSame
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
-import kotlin.test.assertFailsWith
-import kotlin.test.assertTrue
@RunWith(Parameterized::class)
class ContiguousPagedListTest(private val placeholdersEnabled: Boolean) {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/DataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/DataSourceTest.kt
index bd2a9fb..b5635bb 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/DataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/DataSourceTest.kt
@@ -17,7 +17,7 @@
package androidx.paging
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
+import kotlin.test.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/FailDispatcher.kt b/paging/paging-common/src/test/kotlin/androidx/paging/FailDispatcher.kt
index 9e41203..0642f31 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/FailDispatcher.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/FailDispatcher.kt
@@ -16,10 +16,10 @@
package androidx.paging
+import kotlin.coroutines.CoroutineContext
+import kotlin.test.fail
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Runnable
-import org.junit.Assert.fail
-import kotlin.coroutines.CoroutineContext
class FailDispatcher(
val string: String = "Executor expected to be unused"
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt
index 35cf04d..44bd3bb 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt
@@ -25,7 +25,7 @@
import androidx.paging.PageEvent.Drop
import androidx.paging.PageEvent.StaticList
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
+import kotlin.test.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/FlowExtTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/FlowExtTest.kt
index 5073e746..b298a75 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/FlowExtTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/FlowExtTest.kt
@@ -20,6 +20,8 @@
import androidx.paging.CombineSource.OTHER
import androidx.paging.CombineSource.RECEIVER
import com.google.common.truth.Truth.assertThat
+import kotlin.random.Random
+import kotlin.test.Test
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.Channel.Factory.BUFFERED
@@ -38,8 +40,6 @@
import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.yield
-import org.junit.Test
-import kotlin.random.Random
@OptIn(ExperimentalCoroutinesApi::class)
class FlowExtTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/HeaderFooterTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/HeaderFooterTest.kt
index 4af5089..44e227c 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/HeaderFooterTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/HeaderFooterTest.kt
@@ -18,15 +18,15 @@
import androidx.paging.LoadState.NotLoading
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.single
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
/**
* Prepend and append are both Done, so that headers will appear
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/HintHandlerTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/HintHandlerTest.kt
index 6ab268b..16bc08f 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/HintHandlerTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/HintHandlerTest.kt
@@ -20,6 +20,7 @@
import androidx.paging.LoadType.PREPEND
import androidx.paging.LoadType.REFRESH
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
@@ -30,7 +31,6 @@
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/InvalidatingPagingSourceFactoryTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/InvalidatingPagingSourceFactoryTest.kt
index a3b431a..28b9cb4 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/InvalidatingPagingSourceFactoryTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/InvalidatingPagingSourceFactoryTest.kt
@@ -16,7 +16,7 @@
package androidx.paging
-import org.junit.Test
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/ItemKeyedDataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/ItemKeyedDataSourceTest.kt
index dc2c9fb..786c4c6 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/ItemKeyedDataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/ItemKeyedDataSourceTest.kt
@@ -17,21 +17,21 @@
package androidx.paging
import androidx.paging.PagingSource.LoadResult.Page.Companion.COUNT_UNDEFINED
-import org.mockito.kotlin.capture
-import org.mockito.kotlin.mock
+import kotlin.random.Random
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlin.test.assertTrue
+import kotlin.test.fail
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Assert.fail
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.ArgumentCaptor
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import kotlin.random.Random
-import kotlin.test.assertFailsWith
+import org.mockito.kotlin.capture
+import org.mockito.kotlin.mock
@Suppress("DEPRECATION")
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/ItemSnapshotListTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/ItemSnapshotListTest.kt
index 7b6d6f9..4688ad0 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/ItemSnapshotListTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/ItemSnapshotListTest.kt
@@ -16,7 +16,7 @@
package androidx.paging
-import org.junit.Test
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPageFetcherTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPageFetcherTest.kt
index 78598f9..536e5d4 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPageFetcherTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPageFetcherTest.kt
@@ -28,14 +28,14 @@
import androidx.paging.PagingSource.LoadResult
import androidx.paging.PagingSource.LoadResult.Page
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.StandardTestDispatcher
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPagingSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPagingSourceTest.kt
index 1ffe862..6123476 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPagingSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/LegacyPagingSourceTest.kt
@@ -18,8 +18,15 @@
import androidx.paging.PagingSource.LoadResult.Page
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.Executors
import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
+import kotlin.test.fail
import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.filter
@@ -27,15 +34,8 @@
import kotlinx.coroutines.flow.take
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.StandardTestDispatcher
-import org.junit.Assert
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.concurrent.Executors
-import kotlin.test.assertEquals
-import kotlin.test.assertFalse
-import kotlin.test.assertTrue
-import kotlinx.coroutines.ExperimentalCoroutinesApi
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(JUnit4::class)
@@ -93,21 +93,21 @@
params: LoadInitialParams<Int>,
callback: LoadInitialCallback<String>
) {
- Assert.fail("loadInitial not expected")
+ fail("loadInitial not expected")
}
override fun loadAfter(
params: LoadParams<Int>,
callback: LoadCallback<String>
) {
- Assert.fail("loadAfter not expected")
+ fail("loadAfter not expected")
}
override fun loadBefore(
params: LoadParams<Int>,
callback: LoadCallback<String>
) {
- Assert.fail("loadBefore not expected")
+ fail("loadBefore not expected")
}
override fun getKey(item: String) = item.hashCode()
@@ -141,21 +141,21 @@
params: LoadInitialParams<Int>,
callback: LoadInitialCallback<Int, String>
) {
- Assert.fail("loadInitial not expected")
+ fail("loadInitial not expected")
}
override fun loadBefore(
params: LoadParams<Int>,
callback: LoadCallback<Int, String>
) {
- Assert.fail("loadBefore not expected")
+ fail("loadBefore not expected")
}
override fun loadAfter(
params: LoadParams<Int>,
callback: LoadCallback<Int, String>
) {
- Assert.fail("loadAfter not expected")
+ fail("loadAfter not expected")
}
}
val pagingSource = LegacyPagingSource(
@@ -391,14 +391,14 @@
callback: LoadInitialCallback<String>
) {
if (!expectInitialLoad) {
- Assert.fail("loadInitial not expected")
+ fail("loadInitial not expected")
} else {
callback.onResult(listOf(), 0)
}
}
override fun loadRange(params: LoadRangeParams, callback: LoadRangeCallback<String>) {
- Assert.fail("loadRange not expected")
+ fail("loadRange not expected")
}
}
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PageEventTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PageEventTest.kt
index 20a1116..414824a 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PageEventTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PageEventTest.kt
@@ -20,17 +20,17 @@
import androidx.paging.LoadType.REFRESH
import androidx.paging.PageEvent.Drop
import kotlin.coroutines.EmptyCoroutineContext
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runTest
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-import org.junit.runners.Parameterized
+import kotlin.test.BeforeTest
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertSame
-import org.junit.Before
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runTest
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+import org.junit.runners.Parameterized
internal fun <T : Any> adjacentInsertEvent(
isPrepend: Boolean,
@@ -293,7 +293,7 @@
private val differ = TestPagingDataDiffer<String>(EmptyCoroutineContext)
private lateinit var pagingData: PagingData<String>
- @Before
+ @BeforeTest
fun init() {
pagingData = if (data.isNotEmpty()) {
PagingData.from(data)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
index 5006894..ffd9a01 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
@@ -24,13 +24,13 @@
import androidx.paging.PagingSource.LoadResult.Page
import androidx.paging.PagingSource.LoadResult.Page.Companion.COUNT_UNDEFINED
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
index 62ffbb6..f02de71 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
@@ -29,6 +29,7 @@
import androidx.paging.RemoteMediatorMock.LoadEvent
import androidx.paging.TestPagingSource.Companion.LOAD_ERROR
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
@@ -66,7 +67,6 @@
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.withContext
import kotlinx.coroutines.yield
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherTest.kt
index 1a3a4c4..5f75646 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PageFetcherTest.kt
@@ -26,6 +26,7 @@
import androidx.paging.RemoteMediator.InitializeAction.LAUNCH_INITIAL_REFRESH
import androidx.paging.RemoteMediator.InitializeAction.SKIP_INITIAL_REFRESH
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertNotEquals
@@ -51,7 +52,6 @@
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.withContext
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PageKeyedDataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PageKeyedDataSourceTest.kt
index 6f89ef0..9c044ef 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PageKeyedDataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PageKeyedDataSourceTest.kt
@@ -16,23 +16,23 @@
package androidx.paging
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
+import kotlin.test.fail
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertFalse
-import org.junit.Assert.assertTrue
-import org.junit.Assert.fail
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import kotlin.coroutines.EmptyCoroutineContext
-import kotlin.test.assertFailsWith
-import kotlinx.coroutines.test.StandardTestDispatcher
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagePresenterTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagePresenterTest.kt
index e979bcc..13d0b94 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagePresenterTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagePresenterTest.kt
@@ -22,12 +22,12 @@
import androidx.paging.PagePresenter.ProcessPageEventCallback
import androidx.paging.PagingSource.LoadResult.Page.Companion.COUNT_UNDEFINED
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.fail
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@Suppress("TestFunctionName")
internal fun <T : Any> PagePresenter(
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigBuilderTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigBuilderTest.kt
index ad107b9..c830172 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigBuilderTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigBuilderTest.kt
@@ -16,8 +16,8 @@
package androidx.paging
-import org.junit.Assert
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertEquals
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
@@ -29,12 +29,12 @@
val config = PagedList.Config.Builder()
.setPageSize(10)
.build()
- Assert.assertEquals(10, config.pageSize)
- Assert.assertEquals(30, config.initialLoadSizeHint)
- Assert.assertEquals(true, config.enablePlaceholders)
- Assert.assertEquals(10, config.prefetchDistance)
+ assertEquals(10, config.pageSize)
+ assertEquals(30, config.initialLoadSizeHint)
+ assertEquals(true, config.enablePlaceholders)
+ assertEquals(10, config.prefetchDistance)
@Suppress("DEPRECATION")
- Assert.assertEquals(PagedList.Config.MAX_SIZE_UNBOUNDED, config.maxSize)
+ assertEquals(PagedList.Config.MAX_SIZE_UNBOUNDED, config.maxSize)
}
@Test(expected = IllegalArgumentException::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigTest.kt
index 6746965..c34f7bf 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagedListConfigTest.kt
@@ -16,8 +16,8 @@
package androidx.paging
-import org.junit.Assert.assertEquals
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertEquals
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagedListTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagedListTest.kt
index 3d7479b..b053726 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagedListTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagedListTest.kt
@@ -21,19 +21,19 @@
import androidx.testutils.TestDispatcher
import androidx.testutils.TestExecutor
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.runBlocking
-import org.junit.Assert.assertEquals
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
import java.util.concurrent.Executor
import kotlin.concurrent.thread
import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertTrue
import kotlin.test.fail
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.runBlocking
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class PagedListTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagedStorageTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagedStorageTest.kt
index 88d8315..5bc9b07 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagedStorageTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagedStorageTest.kt
@@ -17,17 +17,17 @@
package androidx.paging
import androidx.paging.PagingSource.LoadResult.Page
-import org.junit.Assert.assertArrayEquals
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertFalse
-import org.junit.Assert.assertTrue
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertContentEquals
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertNotNull
+import kotlin.test.assertTrue
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import kotlin.test.assertNotNull
@RunWith(JUnit4::class)
class PagedStorageTest {
@@ -41,7 +41,7 @@
fun construct() {
val storage = PagedStorage(2, pageOf("a", "b"), 2)
- assertArrayEquals(arrayOf(null, null, "a", "b", null, null), storage.toArray())
+ assertContentEquals(arrayOf(null, null, "a", "b", null, null), storage.toArray())
assertEquals(6, storage.size)
}
@@ -52,7 +52,7 @@
val storage = PagedStorage(2, pageOf("a", "b"), 2)
storage.appendPage(pageOf("c", "d"), callback)
- assertArrayEquals(arrayOf(null, null, "a", "b", "c", "d"), storage.toArray())
+ assertContentEquals(arrayOf(null, null, "a", "b", "c", "d"), storage.toArray())
verify(callback).onPageAppended(4, 2, 0)
verifyNoMoreInteractions(callback)
}
@@ -64,7 +64,7 @@
val storage = PagedStorage(2, pageOf("a", "b"), 0)
storage.appendPage(pageOf("c", "d"), callback)
- assertArrayEquals(arrayOf(null, null, "a", "b", "c", "d"), storage.toArray())
+ assertContentEquals(arrayOf(null, null, "a", "b", "c", "d"), storage.toArray())
verify(callback).onPageAppended(4, 0, 2)
verifyNoMoreInteractions(callback)
}
@@ -78,14 +78,14 @@
// change 2 nulls into c, d
storage.appendPage(pageOf("c", "d"), callback)
- assertArrayEquals(arrayOf(null, null, "a", "b", "c", "d"), storage.toArray())
+ assertContentEquals(arrayOf(null, null, "a", "b", "c", "d"), storage.toArray())
verify(callback).onPageAppended(4, 2, 0)
verifyNoMoreInteractions(callback)
// append e, f
storage.appendPage(pageOf("e", "f"), callback)
- assertArrayEquals(arrayOf(null, null, "a", "b", "c", "d", "e", "f"), storage.toArray())
+ assertContentEquals(arrayOf(null, null, "a", "b", "c", "d", "e", "f"), storage.toArray())
verify(callback).onPageAppended(6, 0, 2)
verifyNoMoreInteractions(callback)
}
@@ -97,7 +97,7 @@
val storage = PagedStorage(2, pageOf("c", "d"), 2)
storage.prependPage(pageOf("a", "b"), callback)
- assertArrayEquals(arrayOf("a", "b", "c", "d", null, null), storage.toArray())
+ assertContentEquals(arrayOf("a", "b", "c", "d", null, null), storage.toArray())
verify(callback).onPagePrepended(0, 2, 0)
verifyNoMoreInteractions(callback)
}
@@ -109,7 +109,7 @@
val storage = PagedStorage(0, pageOf("c", "d"), 2)
storage.prependPage(pageOf("a", "b"), callback)
- assertArrayEquals(arrayOf("a", "b", "c", "d", null, null), storage.toArray())
+ assertContentEquals(arrayOf("a", "b", "c", "d", null, null), storage.toArray())
verify(callback).onPagePrepended(0, 0, 2)
verifyNoMoreInteractions(callback)
}
@@ -123,14 +123,14 @@
// change 2 nulls into c, d
storage.prependPage(pageOf("c", "d"), callback)
- assertArrayEquals(arrayOf("c", "d", "e", "f", null, null), storage.toArray())
+ assertContentEquals(arrayOf("c", "d", "e", "f", null, null), storage.toArray())
verify(callback).onPagePrepended(0, 2, 0)
verifyNoMoreInteractions(callback)
// prepend a, b
storage.prependPage(pageOf("a", "b"), callback)
- assertArrayEquals(arrayOf("a", "b", "c", "d", "e", "f", null, null), storage.toArray())
+ assertContentEquals(arrayOf("a", "b", "c", "d", "e", "f", null, null), storage.toArray())
verify(callback).onPagePrepended(0, 0, 2)
verifyNoMoreInteractions(callback)
}
@@ -141,7 +141,7 @@
val storage = PagedStorage(1, pageOf("a"), 6)
storage.appendPage(pageOf("b", "c"), callback)
storage.appendPage(pageOf("d", "e", "f"), callback)
- assertArrayEquals(arrayOf(null, "a", "b", "c", "d", "e", "f", null), storage.toArray())
+ assertContentEquals(arrayOf(null, "a", "b", "c", "d", "e", "f", null), storage.toArray())
}
@Test
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagingConfigTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagingConfigTest.kt
index fa70f64..e8eb9179 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagingConfigTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagingConfigTest.kt
@@ -17,11 +17,11 @@
package androidx.paging
import androidx.paging.PagingConfig.Companion.MAX_SIZE_UNBOUNDED
-import org.junit.Assert.assertEquals
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertFailsWith
@RunWith(JUnit4::class)
class PagingConfigTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
index 893b89c..1ee318c 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
@@ -24,6 +24,7 @@
import androidx.testutils.MainDispatcherRule
import com.google.common.truth.Truth.assertThat
import kotlin.coroutines.ContinuationInterceptor
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
@@ -56,7 +57,6 @@
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.withContext
import org.junit.Rule
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagingSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagingSourceTest.kt
index bf9b097..7effb00 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagingSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagingSourceTest.kt
@@ -20,14 +20,14 @@
import androidx.paging.PagingSource.LoadResult
import androidx.paging.PagingSource.LoadResult.Page.Companion.COUNT_UNDEFINED
import com.google.common.truth.Truth.assertThat
+import kotlin.random.Random
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
+import kotlin.test.assertTrue
import kotlinx.coroutines.runBlocking
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.random.Random
-import kotlin.test.assertFailsWith
@RunWith(JUnit4::class)
class PagingSourceTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PagingStateTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PagingStateTest.kt
index 23a69fc..c2a4bff 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PagingStateTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PagingStateTest.kt
@@ -17,12 +17,12 @@
package androidx.paging
import androidx.paging.PagingSource.LoadResult.Page
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
+import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class PagingStateTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/PositionalDataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/PositionalDataSourceTest.kt
index 3c428c1..036e255 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/PositionalDataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/PositionalDataSourceTest.kt
@@ -16,21 +16,21 @@
package androidx.paging
+import java.util.concurrent.Executor
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
+import kotlin.test.fail
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Assert.fail
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import java.util.concurrent.Executor
@Suppress("DEPRECATION")
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/RemoteMediatorAccessorTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/RemoteMediatorAccessorTest.kt
index c59ebc0..5e27e87 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/RemoteMediatorAccessorTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/RemoteMediatorAccessorTest.kt
@@ -25,22 +25,22 @@
import androidx.paging.RemoteMediatorMock.LoadEvent
import androidx.paging.TestPagingSource.Companion.LOAD_ERROR
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.atomic.AtomicBoolean
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.fail
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.advanceTimeBy
import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runCurrent
-import org.junit.Test
+import kotlinx.coroutines.test.runTest
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.concurrent.atomic.AtomicBoolean
-import kotlin.test.assertEquals
-import kotlin.test.fail
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalPagingApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsTest.kt
index 88e807e..bff6c35 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsTest.kt
@@ -16,22 +16,22 @@
package androidx.paging
-import androidx.paging.LoadState.NotLoading
import androidx.paging.LoadState.Loading
+import androidx.paging.LoadState.NotLoading
import androidx.paging.LoadType.APPEND
import androidx.paging.LoadType.PREPEND
import androidx.paging.PageEvent.Drop
import androidx.paging.TerminalSeparatorType.FULLY_COMPLETE
import androidx.paging.TerminalSeparatorType.SOURCE_COMPLETE
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlin.test.assertEquals
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
private fun <T : Any> List<PageEvent<T>>.getItems() = mapNotNull { event ->
when (event) {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt
index ec78e09..15c3097 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt
@@ -21,14 +21,14 @@
import androidx.paging.TerminalSeparatorType.FULLY_COMPLETE
import androidx.paging.TerminalSeparatorType.SOURCE_COMPLETE
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertFailsWith
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/SimpleChannelFlowTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/SimpleChannelFlowTest.kt
index 237e540..4971df3 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/SimpleChannelFlowTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/SimpleChannelFlowTest.kt
@@ -17,9 +17,12 @@
package androidx.paging
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlin.test.fail
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.channels.ProducerScope
@@ -35,15 +38,12 @@
import kotlinx.coroutines.flow.takeWhile
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
-import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.advanceTimeBy
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.test.fail
@RunWith(Parameterized::class)
@OptIn(ExperimentalCoroutinesApi::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/SimpleTransformLatestTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/SimpleTransformLatestTest.kt
index 7cc311e..624b8c4 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/SimpleTransformLatestTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/SimpleTransformLatestTest.kt
@@ -17,6 +17,7 @@
package androidx.paging
import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.delay
@@ -28,7 +29,6 @@
import kotlinx.coroutines.flow.transformLatest
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/SingleRunnerTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/SingleRunnerTest.kt
index 9e80ac8..1e29a83c 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/SingleRunnerTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/SingleRunnerTest.kt
@@ -17,6 +17,13 @@
package androidx.paging
import com.google.common.truth.Truth.assertThat
+import java.util.Collections
+import java.util.concurrent.CountDownLatch
+import kotlin.test.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
+import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
@@ -32,15 +39,8 @@
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.withContext
import kotlinx.coroutines.withTimeout
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.Collections
-import java.util.concurrent.CountDownLatch
-import kotlin.test.assertEquals
-import kotlin.test.assertFalse
-import kotlin.test.assertTrue
-import kotlin.time.Duration.Companion.seconds
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/WrappedItemKeyedDataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/WrappedItemKeyedDataSourceTest.kt
index f642d6c..e794949 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/WrappedItemKeyedDataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/WrappedItemKeyedDataSourceTest.kt
@@ -16,10 +16,10 @@
package androidx.paging
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertTrue
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertTrue
@RunWith(JUnit4::class)
class WrappedItemKeyedDataSourceTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPageKeyedDataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPageKeyedDataSourceTest.kt
index cf4ef24..4202070 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPageKeyedDataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPageKeyedDataSourceTest.kt
@@ -16,10 +16,10 @@
package androidx.paging
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertTrue
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertTrue
@RunWith(JUnit4::class)
class WrappedPageKeyedDataSourceTest {
diff --git a/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPositionalDataSourceTest.kt b/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPositionalDataSourceTest.kt
index b56fe139..d3a54237 100644
--- a/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPositionalDataSourceTest.kt
+++ b/paging/paging-common/src/test/kotlin/androidx/paging/WrappedPositionalDataSourceTest.kt
@@ -16,10 +16,10 @@
package androidx.paging
-import org.junit.Test
+import kotlin.test.Test
+import kotlin.test.assertTrue
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertTrue
@RunWith(JUnit4::class)
class WrappedPositionalDataSourceTest {
diff --git a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/PagingRoomSample.kt b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/PagingRoomSample.kt
index cdcd575..868b4b3 100644
--- a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/PagingRoomSample.kt
+++ b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/PagingRoomSample.kt
@@ -35,9 +35,9 @@
import androidx.paging.PagingConfig
import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.compose.itemKey
+import kotlin.random.Random
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
-import kotlin.random.Random
@Composable
fun PagingRoomDemo() {
diff --git a/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsTest.kt b/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsTest.kt
index f3ae0ae..f112c3f 100644
--- a/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsTest.kt
+++ b/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsTest.kt
@@ -51,9 +51,9 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.isActive
import kotlinx.coroutines.runBlocking
-import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
diff --git a/paging/paging-compose/src/main/java/androidx/paging/compose/LazyFoundationExtensions.kt b/paging/paging-compose/src/main/java/androidx/paging/compose/LazyFoundationExtensions.kt
index 5b28b9f..bb24cb0 100644
--- a/paging/paging-compose/src/main/java/androidx/paging/compose/LazyFoundationExtensions.kt
+++ b/paging/paging-compose/src/main/java/androidx/paging/compose/LazyFoundationExtensions.kt
@@ -16,8 +16,8 @@
package androidx.paging.compose
-import androidx.paging.PagingConfig
import androidx.compose.foundation.lazy.grid.LazyGridScope
+import androidx.paging.PagingConfig
/**
* Returns a factory of stable and unique keys representing the item.
diff --git a/paging/paging-guava/src/main/java/androidx/paging/ListenableFuturePagingData.kt b/paging/paging-guava/src/main/java/androidx/paging/ListenableFuturePagingData.kt
index 9a0d0bd..4ce7253 100644
--- a/paging/paging-guava/src/main/java/androidx/paging/ListenableFuturePagingData.kt
+++ b/paging/paging-guava/src/main/java/androidx/paging/ListenableFuturePagingData.kt
@@ -20,10 +20,10 @@
import androidx.annotation.CheckResult
import com.google.common.util.concurrent.AsyncFunction
+import java.util.concurrent.Executor
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.guava.await
import kotlinx.coroutines.withContext
-import java.util.concurrent.Executor
/**
* Returns a [PagingData] containing the result of applying the given [transform] to each
diff --git a/paging/paging-guava/src/test/java/androidx/paging/ListenableFuturePagingSourceTest.kt b/paging/paging-guava/src/test/java/androidx/paging/ListenableFuturePagingSourceTest.kt
index 747310e..ae8a63a 100644
--- a/paging/paging-guava/src/test/java/androidx/paging/ListenableFuturePagingSourceTest.kt
+++ b/paging/paging-guava/src/test/java/androidx/paging/ListenableFuturePagingSourceTest.kt
@@ -20,12 +20,12 @@
import androidx.paging.PagingSource.LoadResult.Page
import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.SettableFuture
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
@RunWith(JUnit4::class)
class ListenableFuturePagingSourceTest {
diff --git a/paging/paging-guava/src/test/java/androidx/paging/ListenableFutureRemoteMediatorTest.kt b/paging/paging-guava/src/test/java/androidx/paging/ListenableFutureRemoteMediatorTest.kt
index e062eb5..2bf2473 100644
--- a/paging/paging-guava/src/test/java/androidx/paging/ListenableFutureRemoteMediatorTest.kt
+++ b/paging/paging-guava/src/test/java/androidx/paging/ListenableFutureRemoteMediatorTest.kt
@@ -20,13 +20,13 @@
import androidx.paging.RemoteMediator.InitializeAction.SKIP_INITIAL_REFRESH
import com.google.common.util.concurrent.Futures
import com.google.common.util.concurrent.ListenableFuture
+import kotlin.test.assertEquals
+import kotlin.test.fail
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
-import kotlin.test.fail
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalPagingApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagedListDifferTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagedListDifferTest.kt
index 65537a6..23de20f 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagedListDifferTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagedListDifferTest.kt
@@ -31,6 +31,9 @@
import androidx.test.filters.SmallTest
import androidx.testutils.TestExecutor
import com.google.common.truth.Truth.assertThat
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.asCoroutineDispatcher
import org.junit.Assert.assertEquals
@@ -39,9 +42,6 @@
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.coroutines.EmptyCoroutineContext
-import kotlin.test.assertFalse
-import kotlin.test.assertTrue
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/LivePagedListTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/LivePagedListTest.kt
index 5affe1c..7d0442c 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/LivePagedListTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/LivePagedListTest.kt
@@ -28,6 +28,8 @@
import androidx.test.filters.SmallTest
import androidx.testutils.TestDispatcher
import com.google.common.truth.Truth.assertThat
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
@@ -35,14 +37,12 @@
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.test.TestCoroutineScope
+import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runBlockingTest
import org.junit.Assert.assertNotNull
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.test.assertEquals
-import kotlin.test.assertTrue
-import kotlinx.coroutines.test.advanceUntilIdle
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadFullListTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadFullListTest.kt
index 9c9c120..5bce270 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadFullListTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadFullListTest.kt
@@ -20,6 +20,7 @@
import androidx.test.filters.MediumTest
import androidx.testutils.MainDispatcherRule
import com.google.common.truth.Truth.assertThat
+import kotlin.coroutines.ContinuationInterceptor
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -33,7 +34,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import kotlin.coroutines.ContinuationInterceptor
@OptIn(ExperimentalCoroutinesApi::class)
@MediumTest
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
index a1093bf..edfa92a 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
@@ -30,10 +30,10 @@
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import kotlin.random.Random
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.random.Random
/**
* For some tests, this test uses a real recyclerview with a real adapter to serve as an
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
index 338644c..f608c44 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
@@ -35,6 +35,9 @@
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import kotlin.coroutines.ContinuationInterceptor
+import kotlin.coroutines.CoroutineContext
+import kotlin.time.ExperimentalTime
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.InternalCoroutinesApi
import kotlinx.coroutines.Job
@@ -45,17 +48,14 @@
import kotlinx.coroutines.internal.ThreadSafeHeap
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestCoroutineDispatcher
+import kotlinx.coroutines.test.TestCoroutineScheduler
import kotlinx.coroutines.test.TestCoroutineScope
import kotlinx.coroutines.test.runBlockingTest
import kotlinx.coroutines.withContext
import org.junit.Before
+import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.coroutines.ContinuationInterceptor
-import kotlin.coroutines.CoroutineContext
-import kotlin.time.ExperimentalTime
-import kotlinx.coroutines.test.TestCoroutineScheduler
-import org.junit.Ignore
/**
* We are only capable of restoring state if one the two is valid:
diff --git a/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagedListDiffer.kt b/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagedListDiffer.kt
index 031e056..5ed8435 100644
--- a/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagedListDiffer.kt
+++ b/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagedListDiffer.kt
@@ -19,9 +19,9 @@
import androidx.annotation.VisibleForTesting
import androidx.arch.core.executor.ArchTaskExecutor
import androidx.lifecycle.LiveData
-import androidx.paging.LoadType.REFRESH
-import androidx.paging.LoadType.PREPEND
import androidx.paging.LoadType.APPEND
+import androidx.paging.LoadType.PREPEND
+import androidx.paging.LoadType.REFRESH
import androidx.recyclerview.widget.AdapterListUpdateCallback
import androidx.recyclerview.widget.AsyncDifferConfig
import androidx.recyclerview.widget.DiffUtil
diff --git a/paging/paging-runtime/src/main/java/androidx/paging/LivePagedList.kt b/paging/paging-runtime/src/main/java/androidx/paging/LivePagedList.kt
index ea2f8d1f..f4826a1 100644
--- a/paging/paging-runtime/src/main/java/androidx/paging/LivePagedList.kt
+++ b/paging/paging-runtime/src/main/java/androidx/paging/LivePagedList.kt
@@ -21,6 +21,7 @@
import androidx.paging.LoadState.Error
import androidx.paging.LoadState.Loading
import androidx.paging.LoadType.REFRESH
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.DelicateCoroutinesApi
@@ -29,7 +30,6 @@
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
-import java.util.concurrent.Executor
@Suppress("DEPRECATION")
internal class LivePagedList<Key : Any, Value : Any>(
diff --git a/paging/paging-runtime/src/main/java/androidx/paging/LivePagedListBuilder.kt b/paging/paging-runtime/src/main/java/androidx/paging/LivePagedListBuilder.kt
index c770466..34a64c7 100644
--- a/paging/paging-runtime/src/main/java/androidx/paging/LivePagedListBuilder.kt
+++ b/paging/paging-runtime/src/main/java/androidx/paging/LivePagedListBuilder.kt
@@ -18,11 +18,11 @@
import androidx.arch.core.executor.ArchTaskExecutor
import androidx.lifecycle.LiveData
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.asCoroutineDispatcher
-import java.util.concurrent.Executor
/**
* Builder for `LiveData<PagedList>` for Java users, given a [androidx.paging.DataSource.Factory]
diff --git a/paging/paging-runtime/src/main/java/androidx/paging/PagedListAdapter.kt b/paging/paging-runtime/src/main/java/androidx/paging/PagedListAdapter.kt
index ba7fec9..b0dbec5 100644
--- a/paging/paging-runtime/src/main/java/androidx/paging/PagedListAdapter.kt
+++ b/paging/paging-runtime/src/main/java/androidx/paging/PagedListAdapter.kt
@@ -18,8 +18,8 @@
import androidx.recyclerview.widget.AdapterListUpdateCallback
import androidx.recyclerview.widget.AsyncDifferConfig
-import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ConcatAdapter
+import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
/**
diff --git a/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt b/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
index 3d3c5c2..0c02a18 100644
--- a/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
+++ b/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
@@ -22,20 +22,20 @@
import androidx.paging.LoadType.REFRESH
import androidx.testutils.DirectDispatcher
import androidx.testutils.TestDispatcher
+import com.google.common.truth.Truth.assertThat
import io.reactivex.Observable
import io.reactivex.observers.TestObserver
import io.reactivex.schedulers.Schedulers
import io.reactivex.schedulers.TestScheduler
+import kotlin.test.assertTrue
+import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.DelicateCoroutinesApi
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.withContext
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertTrue
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.asExecutor
-import kotlinx.coroutines.withContext
@Suppress("DEPRECATION")
@RunWith(JUnit4::class)
@@ -329,10 +329,10 @@
// execute first load, represents load attempt on first paging source
//
- // using poll().run() instead of executeAll(), because executeAll() + immediate schedulers
+ // using removeFirst().run() instead of executeAll(), because executeAll() + immediate schedulers
// result in first load + subsequent loads executing immediately and we won't be able to
// assert the pagedLists/loads incrementally
- loadDispatcher.queue.poll()?.run()
+ loadDispatcher.queue.removeFirst().run()
// the load failed so there should still be only one PagedList, but the first
// pagingSource should invalidated, and the second pagingSource is created
@@ -354,7 +354,7 @@
)
// execute the load attempt on second pagingSource which succeeds
- loadDispatcher.queue.poll()?.run()
+ loadDispatcher.queue.removeFirst().run()
// ensure second pagedList created with the correct data loaded
observer.assertValueCount(2)
diff --git a/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagingSourceTest.kt b/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagingSourceTest.kt
index d64a55f..ca231a9 100644
--- a/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagingSourceTest.kt
+++ b/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagingSourceTest.kt
@@ -19,12 +19,12 @@
import androidx.paging.PagingSource.LoadResult.Page
import androidx.paging.rxjava2.RxPagingSource
import io.reactivex.Single
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
@RunWith(JUnit4::class)
class RxPagingSourceTest {
diff --git a/paging/paging-rxjava2/src/test/java/androidx/paging/RxRemoteMediatorTest.kt b/paging/paging-rxjava2/src/test/java/androidx/paging/RxRemoteMediatorTest.kt
index 7ef9953..4816060 100644
--- a/paging/paging-rxjava2/src/test/java/androidx/paging/RxRemoteMediatorTest.kt
+++ b/paging/paging-rxjava2/src/test/java/androidx/paging/RxRemoteMediatorTest.kt
@@ -20,13 +20,13 @@
import androidx.paging.RemoteMediator.InitializeAction.SKIP_INITIAL_REFRESH
import androidx.paging.rxjava2.RxRemoteMediator
import io.reactivex.Single
+import kotlin.test.assertEquals
+import kotlin.test.fail
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
-import kotlin.test.fail
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalPagingApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagedListBuilderTest.kt b/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
index 0a3317b..3bd051e 100644
--- a/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
+++ b/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
@@ -25,20 +25,20 @@
import androidx.paging.rxjava3.RxPagedListBuilder
import androidx.testutils.DirectDispatcher
import androidx.testutils.TestDispatcher
+import com.google.common.truth.Truth.assertThat
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.observers.TestObserver
import io.reactivex.rxjava3.schedulers.Schedulers
import io.reactivex.rxjava3.schedulers.TestScheduler
+import kotlin.test.assertTrue
+import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.DelicateCoroutinesApi
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.withContext
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertTrue
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.asExecutor
-import kotlinx.coroutines.withContext
@RunWith(JUnit4::class)
class RxPagedListBuilderTest {
@@ -331,10 +331,10 @@
// execute first load, represents load attempt on first paging source
//
- // using poll().run() instead of executeAll(), because executeAll() + immediate schedulers
+ // using removeFirst().run() instead of executeAll(), because executeAll() + immediate schedulers
// result in first load + subsequent loads executing immediately and we won't be able to
// assert the pagedLists/loads incrementally
- loadDispatcher.queue.poll()?.run()
+ loadDispatcher.queue.removeFirst().run()
// the load failed so there should still be only one PagedList, but the first
// pagingSource should invalidated, and the second pagingSource is created
@@ -356,7 +356,7 @@
)
// execute the load attempt on second pagingSource which succeeds
- loadDispatcher.queue.poll()?.run()
+ loadDispatcher.queue.removeFirst().run()
// ensure second pagedList created with the correct data loaded
observer.assertValueCount(2)
diff --git a/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagingSourceTest.kt b/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagingSourceTest.kt
index 15bc792..9d40b9d 100644
--- a/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagingSourceTest.kt
+++ b/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagingSourceTest.kt
@@ -19,12 +19,12 @@
import androidx.paging.PagingSource.LoadResult.Page
import androidx.paging.rxjava3.RxPagingSource
import io.reactivex.rxjava3.core.Single
+import kotlin.test.assertEquals
+import kotlin.test.assertFailsWith
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
@RunWith(JUnit4::class)
class RxPagingSourceTest {
diff --git a/paging/paging-rxjava3/src/test/java/androidx/paging/RxRemoteMediatorTest.kt b/paging/paging-rxjava3/src/test/java/androidx/paging/RxRemoteMediatorTest.kt
index 9cd7890..1861c8f 100644
--- a/paging/paging-rxjava3/src/test/java/androidx/paging/RxRemoteMediatorTest.kt
+++ b/paging/paging-rxjava3/src/test/java/androidx/paging/RxRemoteMediatorTest.kt
@@ -20,13 +20,13 @@
import androidx.paging.RemoteMediator.InitializeAction.SKIP_INITIAL_REFRESH
import androidx.paging.rxjava3.RxRemoteMediator
import io.reactivex.rxjava3.core.Single
+import kotlin.test.assertEquals
+import kotlin.test.fail
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.test.assertEquals
-import kotlin.test.fail
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalPagingApi::class)
@RunWith(JUnit4::class)
diff --git a/paging/paging-testing/api/current.txt b/paging/paging-testing/api/current.txt
index 91eeba55..62159d25 100644
--- a/paging/paging-testing/api/current.txt
+++ b/paging/paging-testing/api/current.txt
@@ -31,7 +31,7 @@
}
public final class TestPager<Key, Value> {
- ctor public TestPager(androidx.paging.PagingSource<Key,Value> pagingSource, androidx.paging.PagingConfig config);
+ ctor public TestPager(androidx.paging.PagingConfig config, androidx.paging.PagingSource<Key,Value> pagingSource);
method public suspend Object? append(kotlin.coroutines.Continuation<androidx.paging.PagingSource.LoadResult<Key,Value>>);
method public suspend Object? getLastLoadedPage(kotlin.coroutines.Continuation<androidx.paging.PagingSource.LoadResult.Page<Key,Value>>);
method public suspend Object? getPages(kotlin.coroutines.Continuation<java.util.List<androidx.paging.PagingSource.LoadResult.Page<Key,Value>>>);
diff --git a/paging/paging-testing/api/public_plus_experimental_current.txt b/paging/paging-testing/api/public_plus_experimental_current.txt
index 91eeba55..62159d25 100644
--- a/paging/paging-testing/api/public_plus_experimental_current.txt
+++ b/paging/paging-testing/api/public_plus_experimental_current.txt
@@ -31,7 +31,7 @@
}
public final class TestPager<Key, Value> {
- ctor public TestPager(androidx.paging.PagingSource<Key,Value> pagingSource, androidx.paging.PagingConfig config);
+ ctor public TestPager(androidx.paging.PagingConfig config, androidx.paging.PagingSource<Key,Value> pagingSource);
method public suspend Object? append(kotlin.coroutines.Continuation<androidx.paging.PagingSource.LoadResult<Key,Value>>);
method public suspend Object? getLastLoadedPage(kotlin.coroutines.Continuation<androidx.paging.PagingSource.LoadResult.Page<Key,Value>>);
method public suspend Object? getPages(kotlin.coroutines.Continuation<java.util.List<androidx.paging.PagingSource.LoadResult.Page<Key,Value>>>);
diff --git a/paging/paging-testing/api/restricted_current.txt b/paging/paging-testing/api/restricted_current.txt
index 91eeba55..62159d25 100644
--- a/paging/paging-testing/api/restricted_current.txt
+++ b/paging/paging-testing/api/restricted_current.txt
@@ -31,7 +31,7 @@
}
public final class TestPager<Key, Value> {
- ctor public TestPager(androidx.paging.PagingSource<Key,Value> pagingSource, androidx.paging.PagingConfig config);
+ ctor public TestPager(androidx.paging.PagingConfig config, androidx.paging.PagingSource<Key,Value> pagingSource);
method public suspend Object? append(kotlin.coroutines.Continuation<androidx.paging.PagingSource.LoadResult<Key,Value>>);
method public suspend Object? getLastLoadedPage(kotlin.coroutines.Continuation<androidx.paging.PagingSource.LoadResult.Page<Key,Value>>);
method public suspend Object? getPages(kotlin.coroutines.Continuation<java.util.List<androidx.paging.PagingSource.LoadResult.Page<Key,Value>>>);
diff --git a/paging/paging-testing/src/main/java/androidx/paging/testing/LoadErrorHandler.kt b/paging/paging-testing/src/main/java/androidx/paging/testing/LoadErrorHandler.kt
index 4651e95..2e8df82 100644
--- a/paging/paging-testing/src/main/java/androidx/paging/testing/LoadErrorHandler.kt
+++ b/paging/paging-testing/src/main/java/androidx/paging/testing/LoadErrorHandler.kt
@@ -17,10 +17,10 @@
package androidx.paging.testing
import androidx.paging.CombinedLoadStates
+import androidx.paging.LoadState
import androidx.paging.PagingDataDiffer
import androidx.paging.PagingSource
import androidx.paging.PagingSource.LoadResult
-import androidx.paging.LoadState
/**
* An interface to implement the error recovery strategy when [PagingSource]
diff --git a/paging/paging-testing/src/main/java/androidx/paging/testing/PagerFlowSnapshot.kt b/paging/paging-testing/src/main/java/androidx/paging/testing/PagerFlowSnapshot.kt
index 64c8ece..b063b7d 100644
--- a/paging/paging-testing/src/main/java/androidx/paging/testing/PagerFlowSnapshot.kt
+++ b/paging/paging-testing/src/main/java/androidx/paging/testing/PagerFlowSnapshot.kt
@@ -25,9 +25,9 @@
import androidx.paging.Pager
import androidx.paging.PagingData
import androidx.paging.PagingDataDiffer
-import androidx.paging.testing.ErrorRecovery.THROW
import androidx.paging.testing.ErrorRecovery.RETRY
import androidx.paging.testing.ErrorRecovery.RETURN_CURRENT_SNAPSHOT
+import androidx.paging.testing.ErrorRecovery.THROW
import androidx.paging.testing.LoaderCallback.CallbackType.ON_CHANGED
import androidx.paging.testing.LoaderCallback.CallbackType.ON_INSERTED
import androidx.paging.testing.LoaderCallback.CallbackType.ON_REMOVED
diff --git a/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSource.kt b/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSource.kt
index 5e28a95..89bca0e 100644
--- a/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSource.kt
+++ b/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSource.kt
@@ -17,11 +17,11 @@
package androidx.paging.testing
import androidx.paging.Pager
+import androidx.paging.PagingSource
import androidx.paging.PagingSource.LoadParams
import androidx.paging.PagingSource.LoadParams.Append
import androidx.paging.PagingSource.LoadParams.Prepend
import androidx.paging.PagingSource.LoadParams.Refresh
-import androidx.paging.PagingSource
import androidx.paging.PagingState
/**
diff --git a/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSourceFactory.kt b/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSourceFactory.kt
index 2a719a6..6744b5e 100644
--- a/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSourceFactory.kt
+++ b/paging/paging-testing/src/main/java/androidx/paging/testing/StaticListPagingSourceFactory.kt
@@ -18,8 +18,8 @@
import androidx.paging.InvalidatingPagingSourceFactory
import androidx.paging.LoadType.REFRESH
-import androidx.paging.PagingSource
import androidx.paging.Pager
+import androidx.paging.PagingSource
import androidx.paging.PagingSourceFactory
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow
diff --git a/paging/paging-testing/src/main/java/androidx/paging/testing/TestPager.kt b/paging/paging-testing/src/main/java/androidx/paging/testing/TestPager.kt
index 85e3efb..bcd13ec 100644
--- a/paging/paging-testing/src/main/java/androidx/paging/testing/TestPager.kt
+++ b/paging/paging-testing/src/main/java/androidx/paging/testing/TestPager.kt
@@ -20,11 +20,11 @@
import androidx.paging.LoadType.APPEND
import androidx.paging.LoadType.PREPEND
import androidx.paging.LoadType.REFRESH
+import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingSource
import androidx.paging.PagingSource.LoadParams
import androidx.paging.PagingSource.LoadResult
-import androidx.paging.Pager
import androidx.paging.PagingSource.LoadResult.Page.Companion.COUNT_UNDEFINED
import androidx.paging.PagingState
import java.util.concurrent.atomic.AtomicBoolean
@@ -41,12 +41,12 @@
* multi-generational Paging behavior, you must create a new [TestPager] by supplying a
* new instance of [PagingSource].
*
- * @param pagingSource the [PagingSource] to load data from.
* @param config the [PagingConfig] to configure this TestPager's loading behavior.
+ * @param pagingSource the [PagingSource] to load data from.
*/
public class TestPager<Key : Any, Value : Any>(
- private val pagingSource: PagingSource<Key, Value>,
private val config: PagingConfig,
+ private val pagingSource: PagingSource<Key, Value>,
) {
private val hasRefreshed = AtomicBoolean(false)
diff --git a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceFactoryTest.kt b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceFactoryTest.kt
index c293ed0..c327ff5 100644
--- a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceFactoryTest.kt
+++ b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceFactoryTest.kt
@@ -50,7 +50,7 @@
val factory: PagingSourceFactory<Int, Int> =
flowOf<List<Int>>().asPagingSourceFactory(testScope)
val pagingSource = factory()
- val pager = TestPager(pagingSource, CONFIG)
+ val pager = TestPager(CONFIG, pagingSource)
runTest {
val result = pager.refresh() as Page
@@ -67,7 +67,7 @@
val factory: PagingSourceFactory<Int, Int> =
flow.asPagingSourceFactory(testScope)
val pagingSource = factory()
- val pager = TestPager(pagingSource, CONFIG)
+ val pager = TestPager(CONFIG, pagingSource)
runTest {
val result = pager.refresh() as Page
@@ -92,7 +92,7 @@
// first gen
val pagingSource1 = factory()
- val pager1 = TestPager(pagingSource1, CONFIG)
+ val pager1 = TestPager(CONFIG, pagingSource1)
val result1 = pager1.refresh() as Page
assertThat(result1.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
@@ -105,7 +105,7 @@
// second gen
val pagingSource2 = factory()
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
val result2 = pager2.refresh() as Page
assertThat(result2.data).containsExactlyElementsIn(
listOf(30, 31, 32, 33, 34)
@@ -125,7 +125,7 @@
advanceUntilIdle()
val pagingSource = factory()
- val pager = TestPager(pagingSource, CONFIG)
+ val pager = TestPager(CONFIG, pagingSource)
val result = pager.refresh() as Page
assertThat(result.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
@@ -158,7 +158,7 @@
// factory 1 first gen
val pagingSource = factory1()
- val pager = TestPager(pagingSource, CONFIG)
+ val pager = TestPager(CONFIG, pagingSource)
val result = pager.refresh() as Page
assertThat(result.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
@@ -166,7 +166,7 @@
// factory 2 first gen
val pagingSource2 = factory2()
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
val result2 = pager2.refresh() as Page
assertThat(result2.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
@@ -182,7 +182,7 @@
// factory 1 second gen
val pagingSource3 = factory1()
- val pager3 = TestPager(pagingSource3, CONFIG)
+ val pager3 = TestPager(CONFIG, pagingSource3)
val result3 = pager3.refresh() as Page
assertThat(result3.data).containsExactlyElementsIn(
listOf(30, 31, 32, 33, 34)
@@ -190,7 +190,7 @@
// factory 2 second gen
val pagingSource4 = factory2()
- val pager4 = TestPager(pagingSource4, CONFIG)
+ val pager4 = TestPager(CONFIG, pagingSource4)
val result4 = pager4.refresh() as Page
assertThat(result4.data).containsExactlyElementsIn(
listOf(30, 31, 32, 33, 34)
@@ -203,14 +203,14 @@
val factory = data.asPagingSourceFactory()
val pagingSource1 = factory()
- val pager1 = TestPager(pagingSource1, CONFIG)
+ val pager1 = TestPager(CONFIG, pagingSource1)
val refresh1 = pager1.refresh() as Page
assertThat(refresh1.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
)
val pagingSource2 = factory()
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
val refresh2 = pager2.refresh() as Page
assertThat(refresh2.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
@@ -223,12 +223,12 @@
val factory = data.asPagingSourceFactory()
val pagingSource1 = factory()
- val pager1 = TestPager(pagingSource1, CONFIG)
+ val pager1 = TestPager(CONFIG, pagingSource1)
val refresh1 = pager1.refresh() as Page
assertThat(refresh1.data).isEmpty()
val pagingSource2 = factory()
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
val refresh2 = pager2.refresh() as Page
assertThat(refresh2.data).isEmpty()
}
@@ -238,7 +238,7 @@
val data = List(20) { it }
val factory = data.asPagingSourceFactory()
val pagingSource1 = factory()
- val pager1 = TestPager(pagingSource1, CONFIG)
+ val pager1 = TestPager(CONFIG, pagingSource1)
pager1.refresh() as Page
pager1.append()
@@ -257,7 +257,7 @@
val data = List(20) { it }
val factory = data.asPagingSourceFactory()
val pagingSource1 = factory()
- val pager1 = TestPager(pagingSource1, CONFIG)
+ val pager1 = TestPager(CONFIG, pagingSource1)
pager1.refresh(initialKey = 10) as Page
pager1.prepend()
diff --git a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceTest.kt b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceTest.kt
index 0ab9d08..e93e9d9 100644
--- a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceTest.kt
+++ b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/StaticListPagingSourceTest.kt
@@ -271,7 +271,7 @@
@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)
private fun runPagingSourceTest(
source: PagingSource<Int, Int> = StaticListPagingSource(DATA),
- pager: TestPager<Int, Int> = TestPager(source, CONFIG),
+ pager: TestPager<Int, Int> = TestPager(CONFIG, source),
block: suspend (pagingSource: PagingSource<Int, Int>, pager: TestPager<Int, Int>) -> Unit
) {
runTest {
diff --git a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/TestPagerTest.kt b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/TestPagerTest.kt
index 72b5b48..6caaea9 100644
--- a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/TestPagerTest.kt
+++ b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/TestPagerTest.kt
@@ -39,7 +39,7 @@
@Test
fun refresh_nullKey() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
val result = pager.refresh(null) as LoadResult.Page
@@ -51,7 +51,7 @@
@Test
fun refresh_withInitialKey() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
val result = pager.refresh(50) as LoadResult.Page
@@ -63,7 +63,7 @@
@Test
fun refresh_returnError() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
source.errorNextLoad = true
@@ -78,7 +78,7 @@
@Test
fun refresh_returnInvalid() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
source.nextLoadResult = LoadResult.Invalid()
@@ -93,7 +93,7 @@
@Test
fun refresh_invalidPagingSource() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
source.invalidate()
@@ -108,7 +108,7 @@
@Test
fun refresh_getLastLoadedPage() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
val page: LoadResult.Page<Int, Int>? = pager.run {
@@ -123,7 +123,7 @@
@Test
fun getLastLoadedPage_afterInvalidPagingSource() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
val page = pager.run {
@@ -141,7 +141,7 @@
@Test
fun refresh_getPages() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
val pages = pager.run {
@@ -160,7 +160,7 @@
@Test
fun getPages_multiplePages() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
pager.run {
refresh(20)
@@ -179,7 +179,7 @@
@Test
fun getPages_fromEmptyList() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val pages = pager.getPages()
assertThat(pages).isEmpty()
}
@@ -187,7 +187,7 @@
@Test
fun getPages_afterInvalidPagingSource() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
val pages = pager.run {
@@ -209,7 +209,7 @@
@Test
fun getPages_multiThread() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
var pages: List<LoadResult.Page<Int, Int>>? = null
val job = launch {
@@ -250,7 +250,7 @@
@Test
fun multipleRefresh_onSinglePager_throws() {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
runTest {
pager.run {
@@ -269,7 +269,7 @@
@Test
fun multipleRefresh_onMultiplePagers() = runTest {
val source1 = TestPagingSource()
- val pager1 = TestPager(source1, CONFIG)
+ val pager1 = TestPager(CONFIG, source1)
// first gen
val result1 = pager1.run {
@@ -280,7 +280,7 @@
// second gen
val source2 = TestPagingSource()
- val pager2 = TestPager(source2, CONFIG)
+ val pager2 = TestPager(CONFIG, source2)
val result2 = pager2.run {
refresh()
@@ -292,7 +292,7 @@
@Test
fun simpleAppend() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val result = pager.run {
refresh(null)
@@ -311,7 +311,7 @@
@Test
fun simplePrepend() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val result = pager.run {
refresh(30)
@@ -333,7 +333,7 @@
@Test
fun append_beforeRefresh_throws() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
assertFailsWith<IllegalStateException> {
pager.append()
}
@@ -342,7 +342,7 @@
@Test
fun prepend_beforeRefresh_throws() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
assertFailsWith<IllegalStateException> {
pager.prepend()
}
@@ -351,7 +351,7 @@
@Test
fun append_invalidPagingSource() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val result = pager.run {
refresh()
@@ -367,7 +367,7 @@
@Test
fun prepend_invalidPagingSource() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val result = pager.run {
refresh(initialKey = 20)
@@ -383,7 +383,7 @@
@Test
fun consecutive_append() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
pager.run {
refresh(20)
@@ -403,7 +403,7 @@
@Test
fun consecutive_prepend() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
pager.run {
refresh(20)
@@ -427,7 +427,7 @@
@Test
fun append_then_prepend() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
pager.run {
refresh(20)
@@ -450,7 +450,7 @@
@Test
fun prepend_then_append() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
pager.run {
refresh(20)
@@ -473,7 +473,7 @@
@Test
fun multiThread_loads() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
// load operations upon completion add an int to the list.
// after all loads complete, we assert the order that the ints were added.
val loadOrder = mutableListOf<Int>()
@@ -511,7 +511,7 @@
@Test
fun multiThread_operations() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
// operations upon completion add an int to the list.
// after all operations complete, we assert the order that the ints were added.
val loadOrder = mutableListOf<Int>()
@@ -559,7 +559,7 @@
@Test
fun getPagingStateWithAnchorPosition_placeHoldersEnabled() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val state = pager.run {
refresh(20)
@@ -583,7 +583,7 @@
)
)
val source2 = TestPagingSource()
- val pager2 = TestPager(source, CONFIG)
+ val pager2 = TestPager(CONFIG, source)
val page = pager2.run {
refresh(source2.getRefreshKey(state))
}
@@ -598,7 +598,7 @@
initialLoadSize = 5,
enablePlaceholders = false
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
val state = pager.run {
refresh(20)
@@ -621,7 +621,7 @@
)
)
val source2 = TestPagingSource()
- val pager2 = TestPager(source, CONFIG)
+ val pager2 = TestPager(CONFIG, source)
val page = pager2.run {
refresh(source2.getRefreshKey(state))
}
@@ -634,7 +634,7 @@
@Test
fun getPagingStateWithAnchorPosition_indexOutOfBoundsWithPlaceholders() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val msg = assertFailsWith<IllegalStateException> {
pager.run {
@@ -661,12 +661,12 @@
fun getPagingStateWithAnchorPosition_indexOutOfBoundsWithoutPlaceholders() = runTest {
val source = TestPagingSource()
val pager = TestPager(
- source,
PagingConfig(
pageSize = 3,
initialLoadSize = 5,
enablePlaceholders = false
- )
+ ),
+ source
)
val msg = assertFailsWith<IllegalStateException> {
@@ -694,7 +694,7 @@
@Test
fun getPagingStateWithAnchorLookup_placeHoldersEnabled() = runTest {
val source = TestPagingSource()
- val pager = TestPager(source, CONFIG)
+ val pager = TestPager(CONFIG, source)
val state = pager.run {
refresh(20)
@@ -718,7 +718,7 @@
)
// use state to getRefreshKey
val source2 = TestPagingSource()
- val pager2 = TestPager(source, CONFIG)
+ val pager2 = TestPager(CONFIG, source)
val page = pager2.run {
refresh(source2.getRefreshKey(state))
}
@@ -733,7 +733,7 @@
initialLoadSize = 5,
enablePlaceholders = false
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
val state = pager.run {
refresh(20)
@@ -757,7 +757,7 @@
)
// use state to getRefreshKey
val source2 = TestPagingSource()
- val pager2 = TestPager(source, CONFIG)
+ val pager2 = TestPager(CONFIG, source)
val page = pager2.run {
refresh(source2.getRefreshKey(state))
}
@@ -775,7 +775,7 @@
initialLoadSize = 5,
enablePlaceholders = false
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
val msg = assertFailsWith<IllegalArgumentException> {
pager.run {
@@ -801,7 +801,7 @@
enablePlaceholders = false,
maxSize = 10
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
pager.run {
refresh(20)
prepend()
@@ -833,7 +833,7 @@
enablePlaceholders = false,
maxSize = 10
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
pager.run {
refresh(20)
append()
@@ -864,7 +864,7 @@
enablePlaceholders = false,
maxSize = 10
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
pager.run {
refresh(20)
append()
@@ -896,7 +896,7 @@
maxSize = 5,
prefetchDistance = 2
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
pager.refresh(20)
assertThat(pager.getPages()).containsExactlyElementsIn(
listOf(
@@ -931,7 +931,7 @@
maxSize = 3,
prefetchDistance = 1
)
- val pager = TestPager(source, config)
+ val pager = TestPager(config, source)
val result = pager.refresh() as LoadResult.Page
assertThat(result.data).containsExactlyElementsIn(
listOf(0, 1, 2, 3, 4)
diff --git a/paging/samples/src/main/java/androidx/paging/samples/BaseViewModel.kt b/paging/samples/src/main/java/androidx/paging/samples/BaseViewModel.kt
index fa93e32..9de9423 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/BaseViewModel.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/BaseViewModel.kt
@@ -22,9 +22,9 @@
import androidx.paging.PagingConfig
import androidx.paging.PagingSource
import androidx.paging.cachedIn
+import androidx.paging.liveData
import androidx.paging.rxjava2.cachedIn
import androidx.paging.rxjava2.flowable
-import androidx.paging.liveData
import kotlinx.coroutines.ExperimentalCoroutinesApi
/**
diff --git a/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsSample.kt b/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsSample.kt
index 71a5a41..da92c7b 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsSample.kt
@@ -28,10 +28,10 @@
import com.google.common.util.concurrent.Futures
import io.reactivex.Maybe
import io.reactivex.schedulers.Schedulers
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.map
import java.util.concurrent.Callable
import java.util.concurrent.Executors
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
private lateinit var pagingDataStream: Flow<PagingData<String>>
diff --git a/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsUiModelSample.kt b/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsUiModelSample.kt
index 040f6f3..9a2bd7f 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsUiModelSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/InsertSeparatorsUiModelSample.kt
@@ -29,10 +29,10 @@
import com.google.common.util.concurrent.Futures
import io.reactivex.Maybe
import io.reactivex.schedulers.Schedulers
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.map
import java.util.concurrent.Callable
import java.util.concurrent.Executors
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.map
class Item(
@JvmField
diff --git a/paging/samples/src/main/java/androidx/paging/samples/ListenableFuturePagingSourceSample.kt b/paging/samples/src/main/java/androidx/paging/samples/ListenableFuturePagingSourceSample.kt
index 21718c3..ca2df59f 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/ListenableFuturePagingSourceSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/ListenableFuturePagingSourceSample.kt
@@ -23,9 +23,9 @@
import androidx.paging.PagingState
import com.google.common.util.concurrent.FluentFuture
import com.google.common.util.concurrent.ListenableFuture
-import retrofit2.HttpException
import java.io.IOException
import java.util.concurrent.Executor
+import retrofit2.HttpException
data class RemoteResult(
val items: List<Item>,
diff --git a/paging/samples/src/main/java/androidx/paging/samples/PagingSourceSample.kt b/paging/samples/src/main/java/androidx/paging/samples/PagingSourceSample.kt
index bd894fc..efaee82 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/PagingSourceSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/PagingSourceSample.kt
@@ -22,8 +22,8 @@
import androidx.paging.PagingSource
import androidx.paging.PagingSource.LoadResult
import androidx.paging.PagingState
-import retrofit2.HttpException
import java.io.IOException
+import retrofit2.HttpException
internal class MyBackendService {
data class RemoteResult(
diff --git a/paging/samples/src/main/java/androidx/paging/samples/RemoteMediatorSample.kt b/paging/samples/src/main/java/androidx/paging/samples/RemoteMediatorSample.kt
index 0b40372..6cbefcb 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/RemoteMediatorSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/RemoteMediatorSample.kt
@@ -28,9 +28,9 @@
import androidx.paging.samples.shared.RoomDb
import androidx.paging.samples.shared.User
import androidx.room.withTransaction
-import retrofit2.HttpException
import java.io.IOException
import java.util.concurrent.TimeUnit
+import retrofit2.HttpException
private interface ItemDao {
fun withTransaction(block: () -> Any)
diff --git a/paging/samples/src/main/java/androidx/paging/samples/RxPagingSourceSample.kt b/paging/samples/src/main/java/androidx/paging/samples/RxPagingSourceSample.kt
index 0ec0ec4..2e6ce22 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/RxPagingSourceSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/RxPagingSourceSample.kt
@@ -23,8 +23,8 @@
import androidx.paging.rxjava2.RxPagingSource
import io.reactivex.Single
import io.reactivex.schedulers.Schedulers
-import retrofit2.HttpException
import java.io.IOException
+import retrofit2.HttpException
private class RxBackendService {
data class RemoteResult(
diff --git a/preference/preference/src/androidTest/java/androidx/preference/tests/helpers/PreferenceTestHelperActivity.kt b/preference/preference/src/androidTest/java/androidx/preference/tests/helpers/PreferenceTestHelperActivity.kt
index 037659f..7f87518 100644
--- a/preference/preference/src/androidTest/java/androidx/preference/tests/helpers/PreferenceTestHelperActivity.kt
+++ b/preference/preference/src/androidTest/java/androidx/preference/tests/helpers/PreferenceTestHelperActivity.kt
@@ -17,7 +17,6 @@
package androidx.preference.tests.helpers
import android.os.Bundle
-
import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity
import androidx.preference.PreferenceFragmentCompat
diff --git a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFuturesTest.kt b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFuturesTest.kt
index ff87882..e0c2574 100644
--- a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFuturesTest.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFuturesTest.kt
@@ -24,10 +24,10 @@
import androidx.privacysandbox.ads.adservices.adselection.AdSelectionConfig
import androidx.privacysandbox.ads.adservices.adselection.AdSelectionOutcome
import androidx.privacysandbox.ads.adservices.adselection.ReportImpressionRequest
-import androidx.test.core.app.ApplicationProvider
import androidx.privacysandbox.ads.adservices.common.AdSelectionSignals
import androidx.privacysandbox.ads.adservices.common.AdTechIdentifier
import androidx.privacysandbox.ads.adservices.java.adselection.AdSelectionManagerFutures.Companion.from
+import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
diff --git a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFuturesTest.kt b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFuturesTest.kt
index 1ebf7e7..d2f5802 100644
--- a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFuturesTest.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFuturesTest.kt
@@ -26,10 +26,10 @@
import androidx.privacysandbox.ads.adservices.common.AdSelectionSignals
import androidx.privacysandbox.ads.adservices.common.AdTechIdentifier
import androidx.privacysandbox.ads.adservices.customaudience.CustomAudience
-import androidx.privacysandbox.ads.adservices.java.customaudience.CustomAudienceManagerFutures.Companion.from
import androidx.privacysandbox.ads.adservices.customaudience.JoinCustomAudienceRequest
import androidx.privacysandbox.ads.adservices.customaudience.LeaveCustomAudienceRequest
import androidx.privacysandbox.ads.adservices.customaudience.TrustedBiddingData
+import androidx.privacysandbox.ads.adservices.java.customaudience.CustomAudienceManagerFutures.Companion.from
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
diff --git a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures.kt b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures.kt
index 8ffa244..860cccf 100644
--- a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFutures.kt
@@ -16,7 +16,6 @@
package androidx.privacysandbox.ads.adservices.java.adid
-import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
import android.adservices.common.AdServicesPermissions
import android.content.Context
import android.os.LimitExceededException
@@ -24,6 +23,7 @@
import androidx.annotation.RequiresPermission
import androidx.privacysandbox.ads.adservices.adid.AdId
import androidx.privacysandbox.ads.adservices.adid.AdIdManager
+import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
import com.google.common.util.concurrent.ListenableFuture
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
diff --git a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFutures.kt b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFutures.kt
index 4726167..0dc0c4c 100644
--- a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFutures.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/adselection/AdSelectionManagerFutures.kt
@@ -16,9 +16,6 @@
package androidx.privacysandbox.ads.adservices.java.adselection
-import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
-import androidx.privacysandbox.ads.adservices.adselection.AdSelectionManager
-import androidx.privacysandbox.ads.adservices.adselection.AdSelectionManager.Companion.obtain
import android.adservices.common.AdServicesPermissions
import android.content.Context
import android.os.LimitExceededException
@@ -26,8 +23,11 @@
import androidx.annotation.DoNotInline
import androidx.annotation.RequiresPermission
import androidx.privacysandbox.ads.adservices.adselection.AdSelectionConfig
+import androidx.privacysandbox.ads.adservices.adselection.AdSelectionManager
+import androidx.privacysandbox.ads.adservices.adselection.AdSelectionManager.Companion.obtain
import androidx.privacysandbox.ads.adservices.adselection.AdSelectionOutcome
import androidx.privacysandbox.ads.adservices.adselection.ReportImpressionRequest
+import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
import com.google.common.util.concurrent.ListenableFuture
import java.util.concurrent.TimeoutException
import kotlinx.coroutines.CoroutineScope
diff --git a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFutures.kt b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFutures.kt
index fcae8d8..5c003dd 100644
--- a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFutures.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFutures.kt
@@ -16,12 +16,12 @@
package androidx.privacysandbox.ads.adservices.java.appsetid
-import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
import android.content.Context
import android.os.LimitExceededException
import androidx.annotation.DoNotInline
import androidx.privacysandbox.ads.adservices.appsetid.AppSetId
import androidx.privacysandbox.ads.adservices.appsetid.AppSetIdManager
+import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
import com.google.common.util.concurrent.ListenableFuture
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
diff --git a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFutures.kt b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFutures.kt
index cb43cf4..f74372d 100644
--- a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFutures.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/customaudience/CustomAudienceManagerFutures.kt
@@ -16,17 +16,17 @@
package androidx.privacysandbox.ads.adservices.java.customaudience
-import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
-import androidx.privacysandbox.ads.adservices.customaudience.CustomAudience
-import androidx.privacysandbox.ads.adservices.customaudience.CustomAudienceManager
-import androidx.privacysandbox.ads.adservices.customaudience.CustomAudienceManager.Companion.obtain
import android.adservices.common.AdServicesPermissions
import android.content.Context
import android.os.LimitExceededException
import androidx.annotation.DoNotInline
import androidx.annotation.RequiresPermission
+import androidx.privacysandbox.ads.adservices.customaudience.CustomAudience
+import androidx.privacysandbox.ads.adservices.customaudience.CustomAudienceManager
+import androidx.privacysandbox.ads.adservices.customaudience.CustomAudienceManager.Companion.obtain
import androidx.privacysandbox.ads.adservices.customaudience.JoinCustomAudienceRequest
import androidx.privacysandbox.ads.adservices.customaudience.LeaveCustomAudienceRequest
+import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
import com.google.common.util.concurrent.ListenableFuture
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
diff --git a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFutures.kt b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFutures.kt
index 5f80cd7..00fa709 100644
--- a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFutures.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFutures.kt
@@ -16,15 +16,15 @@
package androidx.privacysandbox.ads.adservices.java.topics
-import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
-import androidx.privacysandbox.ads.adservices.topics.TopicsManager
-import androidx.privacysandbox.ads.adservices.topics.TopicsManager.Companion.obtain
-import androidx.privacysandbox.ads.adservices.topics.GetTopicsRequest
-import androidx.privacysandbox.ads.adservices.topics.GetTopicsResponse
import android.adservices.common.AdServicesPermissions
import android.content.Context
import androidx.annotation.DoNotInline
import androidx.annotation.RequiresPermission
+import androidx.privacysandbox.ads.adservices.java.internal.asListenableFuture
+import androidx.privacysandbox.ads.adservices.topics.GetTopicsRequest
+import androidx.privacysandbox.ads.adservices.topics.GetTopicsResponse
+import androidx.privacysandbox.ads.adservices.topics.TopicsManager
+import androidx.privacysandbox.ads.adservices.topics.TopicsManager.Companion.obtain
import com.google.common.util.concurrent.ListenableFuture
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManagerTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManagerTest.kt
index 7ce3d77..5c658d3 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManagerTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManagerTest.kt
@@ -22,10 +22,10 @@
import android.os.OutcomeReceiver
import android.os.ext.SdkExtensions
import androidx.annotation.RequiresExtension
-import androidx.test.core.app.ApplicationProvider
import androidx.privacysandbox.ads.adservices.adselection.AdSelectionManager.Companion.obtain
import androidx.privacysandbox.ads.adservices.common.AdSelectionSignals
import androidx.privacysandbox.ads.adservices.common.AdTechIdentifier
+import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdIdManager.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdIdManager.kt
index eaaae29..129d17b 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdIdManager.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdIdManager.kt
@@ -19,8 +19,8 @@
import android.adservices.common.AdServicesPermissions
import android.annotation.SuppressLint
import android.content.Context
-import android.os.ext.SdkExtensions
import android.os.LimitExceededException
+import android.os.ext.SdkExtensions
import androidx.annotation.DoNotInline
import androidx.annotation.RequiresExtension
import androidx.annotation.RequiresPermission
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManager.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManager.kt
index 454a7cb..7e280c4 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManager.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionManager.kt
@@ -27,8 +27,8 @@
import androidx.annotation.RequiresPermission
import androidx.core.os.asOutcomeReceiver
import androidx.privacysandbox.ads.adservices.common.AdSelectionSignals
-import androidx.privacysandbox.ads.adservices.internal.AdServicesInfo
import androidx.privacysandbox.ads.adservices.common.AdTechIdentifier
+import androidx.privacysandbox.ads.adservices.internal.AdServicesInfo
import java.util.concurrent.TimeoutException
import kotlinx.coroutines.suspendCancellableCoroutine
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManager.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManager.kt
index f41199b..981aeaa 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManager.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManager.kt
@@ -27,8 +27,8 @@
import androidx.core.os.asOutcomeReceiver
import androidx.privacysandbox.ads.adservices.common.AdData
import androidx.privacysandbox.ads.adservices.common.AdSelectionSignals
-import androidx.privacysandbox.ads.adservices.internal.AdServicesInfo
import androidx.privacysandbox.ads.adservices.common.AdTechIdentifier
+import androidx.privacysandbox.ads.adservices.internal.AdServicesInfo
import kotlinx.coroutines.suspendCancellableCoroutine
/**
diff --git a/privacysandbox/plugins/plugins-privacysandbox-library/src/test/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPluginTest.kt b/privacysandbox/plugins/plugins-privacysandbox-library/src/test/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPluginTest.kt
index e623e74..ac1f28b 100644
--- a/privacysandbox/plugins/plugins-privacysandbox-library/src/test/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPluginTest.kt
+++ b/privacysandbox/plugins/plugins-privacysandbox-library/src/test/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPluginTest.kt
@@ -23,10 +23,9 @@
import org.gradle.testkit.runner.TaskOutcome
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
-import org.junit.Test
-
import org.junit.Before
import org.junit.Rule
+import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactoryTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactoryTest.kt
index 31fee55..22d795b 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactoryTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactoryTest.kt
@@ -18,8 +18,8 @@
import android.content.Context
import androidx.privacysandbox.sdkruntime.client.config.LocalSdkConfig
-import androidx.privacysandbox.sdkruntime.client.loader.storage.LocalSdkStorage
import androidx.privacysandbox.sdkruntime.client.loader.storage.LocalSdkDexFiles
+import androidx.privacysandbox.sdkruntime.client.loader.storage.LocalSdkStorage
import androidx.privacysandbox.sdkruntime.client.loader.storage.TestLocalSdkStorage
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkTestUtils.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkTestUtils.kt
index def9887..40aee3a 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkTestUtils.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkTestUtils.kt
@@ -20,8 +20,8 @@
import android.os.Bundle
import android.os.IBinder
import androidx.privacysandbox.sdkruntime.core.SandboxedSdkCompat
-import androidx.privacysandbox.sdkruntime.core.Versions
import androidx.privacysandbox.sdkruntime.core.SandboxedSdkProviderCompat
+import androidx.privacysandbox.sdkruntime.core.Versions
import kotlin.reflect.cast
/**
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParserTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParserTest.kt
index d43d7fc..598b368 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParserTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParserTest.kt
@@ -22,8 +22,8 @@
import androidx.privacysandbox.tools.core.model.Method
import androidx.privacysandbox.tools.core.model.Parameter
import androidx.privacysandbox.tools.core.model.ParsedApi
-import androidx.privacysandbox.tools.core.model.Types
import androidx.privacysandbox.tools.core.model.Type
+import androidx.privacysandbox.tools.core.model.Types
import androidx.privacysandbox.tools.core.model.Types.asNullable
import androidx.room.compiler.processing.util.Source
import com.google.common.truth.Truth.assertThat
diff --git a/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/InterfaceFileGenerator.kt b/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/InterfaceFileGenerator.kt
index e7e87a0..19d9baf 100644
--- a/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/InterfaceFileGenerator.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/InterfaceFileGenerator.kt
@@ -17,12 +17,12 @@
package androidx.privacysandbox.tools.apigenerator
import androidx.privacysandbox.tools.core.generator.addCommonSettings
-import androidx.privacysandbox.tools.core.model.AnnotatedInterface
-import androidx.privacysandbox.tools.core.model.Method
import androidx.privacysandbox.tools.core.generator.build
import androidx.privacysandbox.tools.core.generator.poetClassName
import androidx.privacysandbox.tools.core.generator.poetSpec
import androidx.privacysandbox.tools.core.generator.poetTypeName
+import androidx.privacysandbox.tools.core.model.AnnotatedInterface
+import androidx.privacysandbox.tools.core.model.Method
import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.FunSpec
import com.squareup.kotlinpoet.KModifier
diff --git a/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/PrivacySandboxApiGenerator.kt b/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/PrivacySandboxApiGenerator.kt
index e43ec79..1e13499 100644
--- a/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/PrivacySandboxApiGenerator.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/PrivacySandboxApiGenerator.kt
@@ -25,8 +25,8 @@
import androidx.privacysandbox.tools.core.generator.ClientProxyTypeGenerator
import androidx.privacysandbox.tools.core.generator.CoreLibInfoAndBinderWrapperConverterGenerator
import androidx.privacysandbox.tools.core.generator.GenerationTarget
-import androidx.privacysandbox.tools.core.generator.PrivacySandboxExceptionFileGenerator
import androidx.privacysandbox.tools.core.generator.PrivacySandboxCancellationExceptionFileGenerator
+import androidx.privacysandbox.tools.core.generator.PrivacySandboxExceptionFileGenerator
import androidx.privacysandbox.tools.core.generator.ServiceFactoryFileGenerator
import androidx.privacysandbox.tools.core.generator.StubDelegatesGenerator
import androidx.privacysandbox.tools.core.generator.ThrowableParcelConverterFileGenerator
diff --git a/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackager.kt b/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackager.kt
index 382927c..8471190 100644
--- a/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackager.kt
+++ b/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackager.kt
@@ -17,15 +17,15 @@
package androidx.privacysandbox.tools.apipackager
import androidx.privacysandbox.tools.apipackager.AnnotationInspector.hasPrivacySandboxAnnotation
+import androidx.privacysandbox.tools.core.Metadata
import java.nio.file.Path
import java.util.zip.ZipEntry
import java.util.zip.ZipOutputStream
import kotlin.io.path.exists
-import kotlin.io.path.isDirectory
-import kotlin.io.path.notExists
-import androidx.privacysandbox.tools.core.Metadata
import kotlin.io.path.extension
import kotlin.io.path.inputStream
+import kotlin.io.path.isDirectory
+import kotlin.io.path.notExists
class PrivacySandboxApiPackager {
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServiceFactoryFileGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServiceFactoryFileGenerator.kt
index ffc5941..99979ab 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServiceFactoryFileGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServiceFactoryFileGenerator.kt
@@ -16,8 +16,8 @@
package androidx.privacysandbox.tools.core.generator
-import androidx.privacysandbox.tools.internal.GeneratedPublicApi
import androidx.privacysandbox.tools.core.model.AnnotatedInterface
+import androidx.privacysandbox.tools.internal.GeneratedPublicApi
import com.squareup.kotlinpoet.AnnotationSpec
import com.squareup.kotlinpoet.ClassName
import com.squareup.kotlinpoet.FileSpec
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueConverterFileGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueConverterFileGenerator.kt
index e5e0ba2..e2d5768 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueConverterFileGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueConverterFileGenerator.kt
@@ -16,9 +16,9 @@
package androidx.privacysandbox.tools.core.generator
+import androidx.privacysandbox.tools.core.generator.GenerationTarget.SERVER
import androidx.privacysandbox.tools.core.generator.SpecNames.contextClass
import androidx.privacysandbox.tools.core.generator.SpecNames.contextPropertyName
-import androidx.privacysandbox.tools.core.generator.GenerationTarget.SERVER
import androidx.privacysandbox.tools.core.model.AnnotatedValue
import androidx.privacysandbox.tools.core.model.ValueProperty
import com.squareup.kotlinpoet.CodeBlock
diff --git a/privacysandbox/ui/integration-tests/testapp/src/main/java/androidx/privacysandbox/ui/integration/testapp/MainActivity.kt b/privacysandbox/ui/integration-tests/testapp/src/main/java/androidx/privacysandbox/ui/integration/testapp/MainActivity.kt
index 4e15e86..9373477 100644
--- a/privacysandbox/ui/integration-tests/testapp/src/main/java/androidx/privacysandbox/ui/integration/testapp/MainActivity.kt
+++ b/privacysandbox/ui/integration-tests/testapp/src/main/java/androidx/privacysandbox/ui/integration/testapp/MainActivity.kt
@@ -20,7 +20,6 @@
import android.app.sdksandbox.SandboxedSdk
import android.app.sdksandbox.SdkSandboxManager
import android.content.res.Configuration
-import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.OutcomeReceiver
import android.os.ext.SdkExtensions
@@ -29,6 +28,7 @@
import android.widget.LinearLayout
import android.widget.TextView
import androidx.annotation.RequiresExtension
+import androidx.appcompat.app.AppCompatActivity
import androidx.privacysandbox.ui.client.SandboxedUiAdapterFactory
import androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState
import androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionStateChangedListener
diff --git a/profileinstaller/profileinstaller-benchmark/src/androidTest/java/androidx/profileinstaller/benchmark/ProfileInstallerTranscodeBenchmark.kt b/profileinstaller/profileinstaller-benchmark/src/androidTest/java/androidx/profileinstaller/benchmark/ProfileInstallerTranscodeBenchmark.kt
index 597baf4..b85813e 100644
--- a/profileinstaller/profileinstaller-benchmark/src/androidTest/java/androidx/profileinstaller/benchmark/ProfileInstallerTranscodeBenchmark.kt
+++ b/profileinstaller/profileinstaller-benchmark/src/androidTest/java/androidx/profileinstaller/benchmark/ProfileInstallerTranscodeBenchmark.kt
@@ -25,13 +25,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
+import java.io.File
import org.junit.After
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.File
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/recyclerview/recyclerview-lint/src/main/java/androidx/recyclerview/lint/InvalidSetHasFixedSizeDetector.kt b/recyclerview/recyclerview-lint/src/main/java/androidx/recyclerview/lint/InvalidSetHasFixedSizeDetector.kt
index addc95f..6b24503 100644
--- a/recyclerview/recyclerview-lint/src/main/java/androidx/recyclerview/lint/InvalidSetHasFixedSizeDetector.kt
+++ b/recyclerview/recyclerview-lint/src/main/java/androidx/recyclerview/lint/InvalidSetHasFixedSizeDetector.kt
@@ -36,12 +36,12 @@
import com.android.tools.lint.detector.api.XmlContext
import com.android.tools.lint.detector.api.XmlScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.toUElement
import org.jetbrains.uast.visitor.AbstractUastVisitor
import org.w3c.dom.Element
-import java.util.EnumSet
class InvalidSetHasFixedSizeDetector : Detector(), XmlScanner, SourceCodeScanner {
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/AsyncListDifferTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/AsyncListDifferTest.kt
index 2b4ec9a..c3da7a7 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/AsyncListDifferTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/AsyncListDifferTest.kt
@@ -19,6 +19,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.TestExecutor
+import java.util.Collections.emptyList
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotSame
import org.junit.Assert.assertSame
@@ -30,7 +31,6 @@
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.Mockito.verifyZeroInteractions
-import java.util.Collections.emptyList
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/BaseSnapHelperCenterTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/BaseSnapHelperCenterTest.kt
index 2d8f2e1..eac39fc 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/BaseSnapHelperCenterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/BaseSnapHelperCenterTest.kt
@@ -16,22 +16,19 @@
package androidx.recyclerview.widget
-import org.hamcrest.CoreMatchers.`is`
-import org.hamcrest.MatcherAssert.assertThat
-
import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
-
+import java.util.ArrayList
+import org.hamcrest.CoreMatchers.`is`
+import org.hamcrest.MatcherAssert.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.ArrayList
-
/**
* Small integration test base that helps verify that [SnapHelper]s that implement "center"
* snapping define "center" correctly.
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
index be28ecd..89330ac 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
@@ -44,12 +44,12 @@
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.lang.reflect.Method
+import java.lang.reflect.Modifier
import org.junit.Assert.fail
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.lang.reflect.Method
-import java.lang.reflect.Modifier
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LazyStateRestorationTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LazyStateRestorationTest.kt
index b9265e5..841555c 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LazyStateRestorationTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LazyStateRestorationTest.kt
@@ -33,12 +33,12 @@
import androidx.test.core.app.ApplicationProvider.getApplicationContext
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.LinkedHashMap
+import java.util.UUID
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.LinkedHashMap
-import java.util.UUID
@RunWith(Parameterized::class)
@SmallTest
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt
index 12a8a44..987a3f9 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt
@@ -21,11 +21,11 @@
import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
import androidx.recyclerview.widget.RecyclerView.VERTICAL
import androidx.test.filters.MediumTest
+import java.util.ArrayList
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.ArrayList
// Size of both the width and height of both RecyclerView and it's children
private const val size = 500
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt
index 5476284..da4e121 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt
@@ -21,11 +21,11 @@
import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
import androidx.recyclerview.widget.RecyclerView.VERTICAL
import androidx.test.filters.MediumTest
+import java.util.ArrayList
import org.junit.Assert
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.ArrayList
// Number of items that fit in RecyclerView's viewport
private const val n = 4
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearSnapHelperCenterTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearSnapHelperCenterTest.kt
index ac974a6..e05e6c0 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearSnapHelperCenterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearSnapHelperCenterTest.kt
@@ -17,7 +17,6 @@
package androidx.recyclerview.widget
import androidx.test.filters.LargeTest
-
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ListAdapterTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ListAdapterTest.kt
index 5e811b7..5411f39 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ListAdapterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ListAdapterTest.kt
@@ -20,6 +20,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.testutils.TestExecutor
+import java.util.Collections.emptyList
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
@@ -28,7 +29,6 @@
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.Mockito.verifyZeroInteractions
-import java.util.Collections.emptyList
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/PagerSnapHelperCenterTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/PagerSnapHelperCenterTest.kt
index 017572a..1d62973 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/PagerSnapHelperCenterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/PagerSnapHelperCenterTest.kt
@@ -17,7 +17,6 @@
package androidx.recyclerview.widget
import androidx.test.filters.LargeTest
-
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrollingFlingTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrollingFlingTest.kt
index 6954bc2..201394a 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrollingFlingTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrollingFlingTest.kt
@@ -28,6 +28,8 @@
import androidx.test.filters.LargeTest
import androidx.testutils.ActivityScenarioResetRule
import androidx.testutils.ResettableActivityScenarioRule
+import java.util.ArrayList
+import java.util.Arrays
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.closeTo
import org.junit.Before
@@ -36,8 +38,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.ArrayList
-import java.util.Arrays
/**
* This test verifies that the velocity that RecyclerView flings with in response to finger input
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewSmoothScrollToPositionTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewSmoothScrollToPositionTest.kt
index 6fdbaf7..fcfce45 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewSmoothScrollToPositionTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewSmoothScrollToPositionTest.kt
@@ -22,14 +22,14 @@
import android.widget.TextView
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers.`is`
-import org.junit.Assert
import org.hamcrest.MatcherAssert.assertThat
+import org.junit.Assert
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/recyclerview/recyclerview/src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt b/recyclerview/recyclerview/src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt
index 8aa135a..7146b50 100644
--- a/recyclerview/recyclerview/src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt
+++ b/recyclerview/recyclerview/src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt
@@ -15,8 +15,10 @@
*/
package androidx.recyclerview.widget
-import org.hamcrest.CoreMatchers.`is`
+import java.util.Random
+import java.util.UUID
import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.not
import org.hamcrest.CoreMatchers.nullValue
import org.hamcrest.MatcherAssert.assertThat
@@ -29,8 +31,6 @@
import org.junit.runner.Description
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.Random
-import java.util.UUID
@RunWith(JUnit4::class)
class DiffUtilTest {
diff --git a/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessor.kt b/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessor.kt
index 4611436..41a9564 100644
--- a/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessor.kt
+++ b/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessor.kt
@@ -18,10 +18,10 @@
import com.google.auto.common.BasicAnnotationProcessor
import com.google.auto.service.AutoService
-import net.ltgt.gradle.incap.IncrementalAnnotationProcessor
-import net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING
import javax.annotation.processing.Processor
import javax.lang.model.SourceVersion
+import net.ltgt.gradle.incap.IncrementalAnnotationProcessor
+import net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING
/** Annotation processor for resource inspection tools. */
@AutoService(Processor::class)
diff --git a/resourceinspection/resourceinspection-processor/src/test/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessorTest.kt b/resourceinspection/resourceinspection-processor/src/test/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessorTest.kt
index 0395f1c..87c1746 100644
--- a/resourceinspection/resourceinspection-processor/src/test/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessorTest.kt
+++ b/resourceinspection/resourceinspection-processor/src/test/kotlin/androidx/resourceinspection/processor/ResourceInspectionProcessorTest.kt
@@ -21,11 +21,11 @@
import com.google.testing.compile.CompilationSubject.assertThat
import com.google.testing.compile.Compiler.javac
import com.google.testing.compile.JavaFileObjects
-import org.intellij.lang.annotations.Language
-import org.junit.Test
import java.io.File
import javax.lang.model.SourceVersion
import javax.tools.JavaFileObject
+import org.intellij.lang.annotations.Language
+import org.junit.Test
/** Integration and unit tests for [ResourceInspectionProcessor]. */
class ResourceInspectionProcessorTest {
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/NewThreadDispatcher.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/NewThreadDispatcher.kt
index 376823b..e61991e 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/NewThreadDispatcher.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/NewThreadDispatcher.kt
@@ -16,12 +16,12 @@
package androidx.room.integration.kotlintestapp
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.InternalCoroutinesApi
-import kotlinx.coroutines.Runnable
import java.util.concurrent.atomic.AtomicInteger
import kotlin.concurrent.thread
import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.InternalCoroutinesApi
+import kotlinx.coroutines.Runnable
/**
* A CoroutineDispatcher that dispatches every block into a new thread
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/TestDatabase.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/TestDatabase.kt
index 5ecead7..2d4cb03 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/TestDatabase.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/TestDatabase.kt
@@ -47,11 +47,11 @@
import androidx.room.integration.kotlintestapp.vo.PlaylistSongXRef
import androidx.room.integration.kotlintestapp.vo.Publisher
import androidx.room.integration.kotlintestapp.vo.Song
+import androidx.room.integration.kotlintestapp.vo.Toy
+import androidx.room.integration.kotlintestapp.vo.User
import java.nio.ByteBuffer
import java.util.Date
import java.util.UUID
-import androidx.room.integration.kotlintestapp.vo.Toy
-import androidx.room.integration.kotlintestapp.vo.User
@Database(
entities = [
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/MigrationKotlinTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/MigrationKotlinTest.kt
index d5bc9e5..625d44f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/MigrationKotlinTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/MigrationKotlinTest.kt
@@ -24,15 +24,15 @@
import androidx.sqlite.db.SupportSQLiteDatabase
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry
-import org.hamcrest.CoreMatchers.`is`
+import java.io.FileNotFoundException
+import java.io.IOException
import org.hamcrest.CoreMatchers.containsString
import org.hamcrest.CoreMatchers.instanceOf
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.nullValue
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Rule
import org.junit.Test
-import java.io.FileNotFoundException
-import java.io.IOException
@MediumTest
class MigrationKotlinTest {
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/BoxedNonNullTypesTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/BoxedNonNullTypesTest.kt
index 005da89..9679239 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/BoxedNonNullTypesTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/BoxedNonNullTypesTest.kt
@@ -37,13 +37,13 @@
import com.google.common.util.concurrent.ListenableFuture
import io.reactivex.Flowable
import io.reactivex.Observable
+import java.util.Optional
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.Optional
/**
* This test matters in KSP specifically where we might use primitive adapter for non-null java
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ConstructorInheritanceTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ConstructorInheritanceTest.kt
index f5af52b..64f21a7 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ConstructorInheritanceTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ConstructorInheritanceTest.kt
@@ -30,9 +30,9 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.hasItems
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.hasSize
import org.junit.Test
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/FlowQueryTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/FlowQueryTest.kt
index 31b33dc..6653b7f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/FlowQueryTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/FlowQueryTest.kt
@@ -21,6 +21,8 @@
import androidx.room.withTransaction
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.FlowPreview
@@ -38,8 +40,6 @@
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@OptIn(ExperimentalCoroutinesApi::class, FlowPreview::class)
@MediumTest
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/QueryInterceptorTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/QueryInterceptorTest.kt
index 909eabb..4f6a445 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/QueryInterceptorTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/QueryInterceptorTest.kt
@@ -32,6 +32,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.util.concurrent.MoreExecutors
+import java.util.concurrent.CopyOnWriteArrayList
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
@@ -39,7 +40,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CopyOnWriteArrayList
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/Rx3PagingSourceTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/Rx3PagingSourceTest.kt
index 1423d98..cef0319 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/Rx3PagingSourceTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/Rx3PagingSourceTest.kt
@@ -16,10 +16,10 @@
package androidx.room.integration.kotlintestapp.test
+import androidx.kruth.assertThat
import androidx.paging.Pager
import androidx.paging.PagingState
import androidx.paging.rxjava3.RxPagingSource
-import androidx.kruth.assertThat
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.integration.kotlintestapp.testutil.ItemStore
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SneakyThrowTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SneakyThrowTest.kt
index 2fee4f7..977ba54 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SneakyThrowTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SneakyThrowTest.kt
@@ -18,12 +18,12 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import java.util.concurrent.Callable
import org.json.JSONException
import org.json.JSONObject
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.Callable
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendRoomDispatcherTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendRoomDispatcherTest.kt
index 744283c..10770bc 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendRoomDispatcherTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendRoomDispatcherTest.kt
@@ -19,13 +19,13 @@
import androidx.arch.core.executor.ArchTaskExecutor
import androidx.arch.core.executor.DefaultTaskExecutor
import androidx.test.filters.SmallTest
+import java.util.concurrent.atomic.AtomicInteger
import kotlinx.coroutines.runBlocking
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.After
import org.junit.Before
import org.junit.Test
-import java.util.concurrent.atomic.AtomicInteger
/**
* A small test to verify Room's executor is used as dispatcher for DAO suspend functions.
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingTransactionCancellationTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingTransactionCancellationTest.kt
index 3bf3982..f92825f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingTransactionCancellationTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SuspendingTransactionCancellationTest.kt
@@ -16,14 +16,15 @@
package androidx.room.integration.kotlintestapp.test
+import androidx.kruth.assertThat
import androidx.room.integration.kotlintestapp.vo.Book
import androidx.room.withTransaction
-import androidx.kruth.assertThat
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.MediumTest
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
@@ -40,7 +41,6 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
// see b/148181325
@RunWith(AndroidJUnit4::class)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UuidColumnTypeAdapterTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UuidColumnTypeAdapterTest.kt
index f7d3dc9..4bd0c4f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UuidColumnTypeAdapterTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UuidColumnTypeAdapterTest.kt
@@ -30,11 +30,11 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
-import org.junit.Test
-import org.junit.runner.RunWith
import java.nio.ByteBuffer
import java.util.UUID
import kotlin.reflect.KClass
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/room/room-common/src/main/java/androidx/room/Fts4.kt b/room/room-common/src/main/java/androidx/room/Fts4.kt
index 7255265..f9ed6e1 100644
--- a/room/room-common/src/main/java/androidx/room/Fts4.kt
+++ b/room/room-common/src/main/java/androidx/room/Fts4.kt
@@ -16,12 +16,11 @@
package androidx.room
-import kotlin.reflect.KClass
-
import androidx.annotation.RequiresApi
-import androidx.room.FtsOptions.TOKENIZER_SIMPLE
import androidx.room.FtsOptions.MatchInfo
import androidx.room.FtsOptions.Order
+import androidx.room.FtsOptions.TOKENIZER_SIMPLE
+import kotlin.reflect.KClass
/**
* Marks an [Entity] annotated class as a FTS4 entity. This class will have a mapping SQLite
diff --git a/room/room-common/src/test/java/androidx/room/AmbiguousColumnResolverTest.kt b/room/room-common/src/test/java/androidx/room/AmbiguousColumnResolverTest.kt
index 80885a53..65dc715 100644
--- a/room/room-common/src/test/java/androidx/room/AmbiguousColumnResolverTest.kt
+++ b/room/room-common/src/test/java/androidx/room/AmbiguousColumnResolverTest.kt
@@ -18,8 +18,8 @@
import androidx.kruth.assertThat
import java.util.Locale
-import org.junit.Test
import org.junit.Ignore
+import org.junit.Test
class AmbiguousColumnResolverTest {
diff --git a/room/room-common/src/test/java/androidx/room/AnnotationRetentionPolicyTest.kt b/room/room-common/src/test/java/androidx/room/AnnotationRetentionPolicyTest.kt
index 43a60e5..025fe3b 100644
--- a/room/room-common/src/test/java/androidx/room/AnnotationRetentionPolicyTest.kt
+++ b/room/room-common/src/test/java/androidx/room/AnnotationRetentionPolicyTest.kt
@@ -18,9 +18,9 @@
import androidx.kruth.assertThat
import com.google.common.reflect.ClassPath
-import org.junit.Test
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
+import org.junit.Test
/** Test to make sure annotations have the correct retention policy. */
class AnnotationRetentionPolicyTest {
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationTestCapabilities.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationTestCapabilities.kt
index d611ef2..ba27129 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationTestCapabilities.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationTestCapabilities.kt
@@ -16,8 +16,8 @@
package androidx.room.compiler.processing.util
-import org.junit.AssumptionViolatedException
import java.util.Properties
+import org.junit.AssumptionViolatedException
/**
* Provides the information about compilation test capabilities.
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/Source.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/Source.kt
index 4860763..4e97a26 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/Source.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/Source.kt
@@ -17,9 +17,9 @@
package androidx.room.compiler.processing.util
import com.google.testing.compile.JavaFileObjects
-import org.intellij.lang.annotations.Language
import java.io.File
import javax.tools.JavaFileObject
+import org.intellij.lang.annotations.Language
/**
* Common abstraction for test sources in kotlin and java
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KotlinSourceCompilationStep.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KotlinSourceCompilationStep.kt
index aa80eaf..940b4e6 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KotlinSourceCompilationStep.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KotlinSourceCompilationStep.kt
@@ -17,9 +17,9 @@
package androidx.room.compiler.processing.util.compiler.steps
import androidx.room.compiler.processing.util.compiler.KotlinCliRunner
-import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
-import org.jetbrains.kotlin.cli.common.ExitCode
import java.io.File
+import org.jetbrains.kotlin.cli.common.ExitCode
+import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
/**
* Compiles kotlin sources.
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticsTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticsTest.kt
index cf0ef44..dda1356 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticsTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticsTest.kt
@@ -18,10 +18,10 @@
import androidx.room.compiler.processing.ExperimentalProcessingApi
import com.google.common.truth.Truth.assertThat
+import javax.tools.Diagnostic
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import javax.tools.Diagnostic
@RunWith(Parameterized::class)
@OptIn(ExperimentalProcessingApi::class)
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/GeneratedCodeMatchTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/GeneratedCodeMatchTest.kt
index fc964f9..7a2731c 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/GeneratedCodeMatchTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/GeneratedCodeMatchTest.kt
@@ -16,7 +16,6 @@
package androidx.room.compiler.processing.util
-import com.squareup.kotlinpoet.TypeSpec as KTypeSpec
import androidx.room.compiler.processing.ExperimentalProcessingApi
import androidx.room.compiler.processing.XElement
import androidx.room.compiler.processing.compat.XConverters.toXProcessing
@@ -26,6 +25,7 @@
import com.squareup.javapoet.TypeSpec
import com.squareup.kotlinpoet.BOOLEAN
import com.squareup.kotlinpoet.FileSpec
+import com.squareup.kotlinpoet.TypeSpec as KTypeSpec
import java.io.File
import org.junit.AssumptionViolatedException
import org.junit.Test
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/MultiRoundProcessingTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/MultiRoundProcessingTest.kt
index 0313f36..b6e62b6 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/MultiRoundProcessingTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/MultiRoundProcessingTest.kt
@@ -20,10 +20,10 @@
import com.squareup.javapoet.ClassName
import com.squareup.javapoet.JavaFile
import com.squareup.javapoet.TypeSpec
+import javax.tools.Diagnostic
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import javax.tools.Diagnostic
@RunWith(Parameterized::class)
class MultiRoundProcessingTest(
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestRunnerTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestRunnerTest.kt
index 3ad0d31..f13460d 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestRunnerTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestRunnerTest.kt
@@ -38,11 +38,11 @@
import com.squareup.javapoet.TypeSpec
import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.KModifier
-import org.junit.Test
import java.net.URLClassLoader
import java.nio.file.Files
import javax.lang.model.element.Modifier
import javax.tools.Diagnostic
+import org.junit.Test
@OptIn(ExperimentalProcessingApi::class)
class TestRunnerTest {
diff --git a/room/room-compiler-processing/build.gradle b/room/room-compiler-processing/build.gradle
index 6f522c7..f8d3190 100644
--- a/room/room-compiler-processing/build.gradle
+++ b/room/room-compiler-processing/build.gradle
@@ -20,6 +20,42 @@
plugins {
id("AndroidXPlugin")
id("kotlin")
+ id("com.github.johnrengelman.shadow")
+}
+
+configurations {
+ // For shadowed / jarjared deps
+ shadowed
+ // shadowed deps are compile only deps
+ compileOnly.extendsFrom(shadowed)
+ // compiler tests don't use shadowed, so include them
+ testCompile.extendsFrom(shadowed)
+ // for downstream tests
+ shadowAndImplementation.extendsFrom(shadow)
+ shadowAndImplementation.extendsFrom(implementation)
+}
+
+shadowJar {
+ archiveClassifier = ""
+ configurations = [project.configurations.shadowed]
+ relocate("kotlinx.metadata", "androidx.room.jarjarred.kotlinx.metadata")
+ mergeServiceFiles() // kotlinx-metadata-jvm has a service descriptor that needs transformation
+}
+
+jar {
+ archiveClassifier = "before-jarjar"
+}
+
+configurations {
+ // replace the standard jar with the one built by 'shadowJar' in both api and runtime variants
+ apiElements.outgoing.artifacts.clear()
+ apiElements.outgoing.artifact(shadowJar) {
+ builtBy shadowJar
+ }
+ runtimeElements.outgoing.artifacts.clear()
+ runtimeElements.outgoing.artifact(shadowJar) {
+ builtBy shadowJar
+ }
}
dependencies {
@@ -30,8 +66,9 @@
implementation(libs.guava)
implementation(libs.autoCommon)
implementation(libs.autoValueAnnotations)
-
- implementation(libs.kotlinMetadataJvm)
+ shadowed(libs.kotlinMetadataJvm) {
+ exclude group: "org.jetbrains.kotlin", module: "kotlin-stdlib"
+ }
implementation(libs.intellijAnnotations)
implementation(libs.kspApi)
implementation(libs.kotlinStdlibJdk8) // KSP defines older version as dependency, force update.
@@ -41,6 +78,7 @@
testImplementation(libs.junit)
testImplementation(libs.jsr250)
testImplementation(libs.ksp)
+ testImplementation(libs.kotlinMetadataJvm)
testImplementation(project(":room:room-compiler-processing-testing"))
testImplementation(project(":internal-testutils-common"))
}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeName.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeName.kt
index df2a0b3..522d97d 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeName.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeName.kt
@@ -16,8 +16,6 @@
package androidx.room.compiler.codegen
-import com.squareup.kotlinpoet.asClassName as asKClassName
-import com.squareup.kotlinpoet.asTypeName as asKTypeName
import androidx.room.compiler.processing.XNullability
import com.squareup.kotlinpoet.ARRAY
import com.squareup.kotlinpoet.BOOLEAN_ARRAY
@@ -35,6 +33,8 @@
import com.squareup.kotlinpoet.MUTABLE_SET
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
import com.squareup.kotlinpoet.SHORT_ARRAY
+import com.squareup.kotlinpoet.asClassName as asKClassName
+import com.squareup.kotlinpoet.asTypeName as asKTypeName
import com.squareup.kotlinpoet.javapoet.JClassName
import com.squareup.kotlinpoet.javapoet.JParameterizedTypeName
import com.squareup.kotlinpoet.javapoet.JTypeName
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XElement.kt
index 7dec0bc..9dee083 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XElement.kt
@@ -20,8 +20,8 @@
import androidx.room.compiler.processing.ksp.KSFileAsOriginatingElement
import androidx.room.compiler.processing.ksp.KspElement
import androidx.room.compiler.processing.ksp.KspMemberContainer
-import androidx.room.compiler.processing.ksp.wrapAsOriginatingElement
import androidx.room.compiler.processing.ksp.synthetic.KspSyntheticPropertyMethodElement
+import androidx.room.compiler.processing.ksp.wrapAsOriginatingElement
import javax.lang.model.element.Element
import kotlin.contracts.contract
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotation.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotation.kt
index 7f45596..2e532d3 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotation.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotation.kt
@@ -18,9 +18,9 @@
import androidx.room.compiler.processing.InternalXAnnotation
import androidx.room.compiler.processing.XAnnotationBox
+import androidx.room.compiler.processing.XAnnotationValue
import androidx.room.compiler.processing.XNullability
import androidx.room.compiler.processing.XType
-import androidx.room.compiler.processing.XAnnotationValue
import androidx.room.compiler.processing.compat.XConverters.toXProcessing
import com.google.auto.common.AnnotationMirrors
import com.google.auto.common.MoreTypes
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotation.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotation.kt
index 4e48afc..dbfb091 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotation.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotation.kt
@@ -18,8 +18,8 @@
import androidx.room.compiler.processing.InternalXAnnotation
import androidx.room.compiler.processing.XAnnotationBox
-import androidx.room.compiler.processing.XType
import androidx.room.compiler.processing.XAnnotationValue
+import androidx.room.compiler.processing.XType
import com.google.devtools.ksp.symbol.KSAnnotation
import com.google.devtools.ksp.symbol.KSType
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MethodSpecHelperTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MethodSpecHelperTest.kt
index f9e64b5..d408755 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MethodSpecHelperTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MethodSpecHelperTest.kt
@@ -21,22 +21,22 @@
import androidx.room.compiler.processing.util.Source
import androidx.room.compiler.processing.util.XTestInvocation
import androidx.room.compiler.processing.util.compileFiles
-import androidx.testutils.generateAllEnumerations
import androidx.room.compiler.processing.util.javaTypeUtils
import androidx.room.compiler.processing.util.runKaptTest
import androidx.room.compiler.processing.util.runProcessorTest
+import androidx.testutils.generateAllEnumerations
import com.google.auto.common.MoreTypes
import com.google.common.truth.Truth.assertThat
import com.squareup.javapoet.MethodSpec
import com.squareup.javapoet.ParameterSpec
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.io.File
import javax.lang.model.element.ExecutableElement
import javax.lang.model.element.Modifier
import javax.lang.model.type.DeclaredType
import javax.lang.model.util.Types
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
class MethodSpecHelperTest(
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/OriginatingElementsTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/OriginatingElementsTest.kt
index 1c18366..800f064 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/OriginatingElementsTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/OriginatingElementsTest.kt
@@ -24,11 +24,11 @@
import androidx.room.compiler.processing.util.runProcessorTest
import com.google.common.truth.Truth.assertThat
import com.squareup.javapoet.TypeSpec
+import javax.lang.model.element.ExecutableElement
+import javax.lang.model.element.TypeElement
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import javax.lang.model.element.ExecutableElement
-import javax.lang.model.element.TypeElement
@RunWith(JUnit4::class)
class OriginatingElementsTest {
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XMessagerTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XMessagerTest.kt
index c540af4..7574266 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XMessagerTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XMessagerTest.kt
@@ -19,10 +19,10 @@
import androidx.room.compiler.processing.util.Source
import androidx.room.compiler.processing.util.runProcessorTest
import com.google.common.truth.Truth.assertThat
+import javax.tools.Diagnostic
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import javax.tools.Diagnostic
@RunWith(JUnit4::class)
class XMessagerTest {
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtilsTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtilsTest.kt
index 2c297e0..f83d2f4 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtilsTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtilsTest.kt
@@ -24,9 +24,6 @@
import com.squareup.javapoet.ArrayTypeName
import com.squareup.javapoet.ClassName
import com.squareup.javapoet.TypeName
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
import javax.annotation.processing.AbstractProcessor
import javax.annotation.processing.RoundEnvironment
import javax.lang.model.element.ElementKind.CONSTRUCTOR
@@ -34,6 +31,9 @@
import javax.lang.model.element.ElementKind.METHOD
import javax.lang.model.element.TypeElement
import javax.tools.JavaFileObject
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class JvmDescriptorUtilsTest {
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFieldElementTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFieldElementTest.kt
index b753598..688c746 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFieldElementTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFieldElementTest.kt
@@ -17,10 +17,10 @@
package androidx.room.compiler.processing.ksp
import androidx.room.compiler.processing.XFieldElement
+import androidx.room.compiler.processing.ksp.KspFieldElementTest.TestModifier.FINAL
import androidx.room.compiler.processing.ksp.KspFieldElementTest.TestModifier.PRIVATE
import androidx.room.compiler.processing.ksp.KspFieldElementTest.TestModifier.PROTECTED
import androidx.room.compiler.processing.ksp.KspFieldElementTest.TestModifier.PUBLIC
-import androidx.room.compiler.processing.ksp.KspFieldElementTest.TestModifier.FINAL
import androidx.room.compiler.processing.util.Source
import androidx.room.compiler.processing.util.XTestInvocation
import androidx.room.compiler.processing.util.className
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBoxTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBoxTest.kt
index 8c694265..cc3a950 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBoxTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBoxTest.kt
@@ -20,8 +20,8 @@
import com.google.common.truth.Truth.assertThat
import com.squareup.javapoet.ClassName
import com.squareup.javapoet.TypeName
-import org.junit.Test
import kotlin.reflect.KClass
+import org.junit.Test
class KspReflectiveAnnotationBoxTest {
enum class TestEnum {
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/ProfileRule.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/ProfileRule.kt
index 03bc13c..b14ba17 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/ProfileRule.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/ProfileRule.kt
@@ -16,14 +16,14 @@
package androidx.room.compiler.processing.profiling
-import org.junit.AssumptionViolatedException
-import org.junit.rules.TestRule
-import org.junit.runner.Description
-import org.junit.runners.model.Statement
import kotlin.time.Duration
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.DurationUnit
import kotlin.time.ExperimentalTime
+import org.junit.AssumptionViolatedException
+import org.junit.rules.TestRule
+import org.junit.runner.Description
+import org.junit.runners.model.Statement
/**
* Helper rule to run profiling tests.
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/ext/xelement_ext.kt b/room/room-compiler/src/main/kotlin/androidx/room/ext/xelement_ext.kt
index 5c36768..42a63d5 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/ext/xelement_ext.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/ext/xelement_ext.kt
@@ -16,10 +16,10 @@
package androidx.room.ext
-import kotlin.contracts.contract
import androidx.room.compiler.processing.XElement
import androidx.room.compiler.processing.XFieldElement
import androidx.room.compiler.processing.XTypeElement
+import kotlin.contracts.contract
fun XElement.isEntityElement(): Boolean {
contract {
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseViewProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseViewProcessor.kt
index 67aecd0..44f349e 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseViewProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseViewProcessor.kt
@@ -16,10 +16,10 @@
package androidx.room.processor
+import androidx.room.compiler.processing.XTypeElement
import androidx.room.parser.ParsedQuery
import androidx.room.parser.QueryType
import androidx.room.parser.SqlParser
-import androidx.room.compiler.processing.XTypeElement
import androidx.room.vo.DatabaseView
class DatabaseViewProcessor(
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/LiveDataQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/LiveDataQueryResultBinderProvider.kt
index 042b24a..3bd2cda 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/LiveDataQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/LiveDataQueryResultBinderProvider.kt
@@ -16,9 +16,9 @@
package androidx.room.solver.binderprovider
-import androidx.room.ext.LifecyclesTypeNames
import androidx.room.compiler.processing.XRawType
import androidx.room.compiler.processing.XType
+import androidx.room.ext.LifecyclesTypeNames
import androidx.room.processor.Context
import androidx.room.solver.ObservableQueryResultBinderProvider
import androidx.room.solver.query.result.LiveDataQueryResultBinder
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/CursorValueReader.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/CursorValueReader.kt
index 2e560af..6771c01 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/CursorValueReader.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/CursorValueReader.kt
@@ -16,8 +16,8 @@
package androidx.room.solver.types
-import androidx.room.parser.SQLTypeAffinity
import androidx.room.compiler.processing.XType
+import androidx.room.parser.SQLTypeAffinity
import androidx.room.solver.CodeGenScope
/**
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaDiffer.kt b/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaDiffer.kt
index ceb7f64..9d59d4d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaDiffer.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaDiffer.kt
@@ -23,12 +23,12 @@
import androidx.room.migration.bundle.ForeignKeyBundle
import androidx.room.migration.bundle.FtsEntityBundle
import androidx.room.migration.bundle.IndexBundle
-import androidx.room.processor.ProcessorErrors.deletedOrRenamedTableFound
-import androidx.room.processor.ProcessorErrors.tableRenameError
import androidx.room.processor.ProcessorErrors.conflictingRenameColumnAnnotationsFound
import androidx.room.processor.ProcessorErrors.conflictingRenameTableAnnotationsFound
-import androidx.room.processor.ProcessorErrors.newNotNullColumnMustHaveDefaultValue
import androidx.room.processor.ProcessorErrors.deletedOrRenamedColumnFound
+import androidx.room.processor.ProcessorErrors.deletedOrRenamedTableFound
+import androidx.room.processor.ProcessorErrors.newNotNullColumnMustHaveDefaultValue
+import androidx.room.processor.ProcessorErrors.tableRenameError
import androidx.room.processor.ProcessorErrors.tableWithConflictingPrefixFound
import androidx.room.vo.AutoMigration
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/DatabaseView.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/DatabaseView.kt
index 142cdf8..acdf443 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/DatabaseView.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/DatabaseView.kt
@@ -17,10 +17,10 @@
package androidx.room.vo
import androidx.room.compiler.processing.XType
-import androidx.room.migration.bundle.DatabaseViewBundle
-import androidx.room.parser.ParsedQuery
import androidx.room.compiler.processing.XTypeElement
+import androidx.room.migration.bundle.DatabaseViewBundle
import androidx.room.migration.bundle.VIEW_NAME_PLACEHOLDER
+import androidx.room.parser.ParsedQuery
class DatabaseView(
element: XTypeElement,
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/Entity.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/Entity.kt
index a565c5f..6f4b932 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/Entity.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/Entity.kt
@@ -17,8 +17,8 @@
package androidx.room.vo
import androidx.room.compiler.processing.XType
-import androidx.room.migration.bundle.EntityBundle
import androidx.room.compiler.processing.XTypeElement
+import androidx.room.migration.bundle.EntityBundle
import androidx.room.migration.bundle.TABLE_NAME_PLACEHOLDER
/**
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsEntity.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsEntity.kt
index 0a33965..7295095 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsEntity.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsEntity.kt
@@ -17,10 +17,10 @@
package androidx.room.vo
import androidx.room.compiler.processing.XType
-import androidx.room.migration.bundle.FtsEntityBundle
-import androidx.room.parser.FtsVersion
import androidx.room.compiler.processing.XTypeElement
+import androidx.room.migration.bundle.FtsEntityBundle
import androidx.room.migration.bundle.TABLE_NAME_PLACEHOLDER
+import androidx.room.parser.FtsVersion
/**
* An Entity with a mapping FTS table.
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/PrimaryKey.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/PrimaryKey.kt
index fde1bf8..69816b4 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/PrimaryKey.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/PrimaryKey.kt
@@ -15,8 +15,8 @@
*/
package androidx.room.vo
-import androidx.room.migration.bundle.PrimaryKeyBundle
import androidx.room.compiler.processing.XElement
+import androidx.room.migration.bundle.PrimaryKeyBundle
/**
* Represents a PrimaryKey for an Entity.
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/QueryMethod.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/QueryMethod.kt
index 2a87a34..81d260c 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/QueryMethod.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/QueryMethod.kt
@@ -16,9 +16,9 @@
package androidx.room.vo
-import androidx.room.parser.ParsedQuery
import androidx.room.compiler.processing.XMethodElement
import androidx.room.compiler.processing.XType
+import androidx.room.parser.ParsedQuery
import androidx.room.solver.prepared.binder.PreparedQueryResultBinder
import androidx.room.solver.query.result.QueryResultBinder
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/SchemaIdentityKey.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/SchemaIdentityKey.kt
index 007ea5d..75e5117 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/SchemaIdentityKey.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/SchemaIdentityKey.kt
@@ -16,8 +16,8 @@
package androidx.room.vo
-import org.apache.commons.codec.digest.DigestUtils
import java.util.Locale
+import org.apache.commons.codec.digest.DigestUtils
interface HasSchemaIdentity {
fun getIdKey(): String
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/log/RLogTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/log/RLogTest.kt
index 0e39b5a..a45785d 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/log/RLogTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/log/RLogTest.kt
@@ -21,10 +21,10 @@
import androidx.room.compiler.processing.XElement
import androidx.room.compiler.processing.XMessager
import androidx.room.vo.Warning
+import javax.tools.Diagnostic
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import javax.tools.Diagnostic
@RunWith(JUnit4::class)
class RLogTest {
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/parser/ExpandableSqlParserTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/parser/ExpandableSqlParserTest.kt
index 0a030e4..61d54d2 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/parser/ExpandableSqlParserTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/parser/ExpandableSqlParserTest.kt
@@ -18,9 +18,9 @@
import androidx.room.parser.expansion.ExpandableSection
import androidx.room.parser.expansion.ExpandableSqlParser
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.instanceOf
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.not
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
index f8e5603..076ccf0 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
@@ -24,8 +24,8 @@
import androidx.room.compiler.processing.util.runKspTest
import androidx.room.compiler.processing.util.runProcessorTest
import androidx.room.ext.RoomTypeNames.ROOM_DB
-import androidx.room.processor.ProcessorErrors.nullableComponentInDaoMethodReturnType
import androidx.room.processor.ProcessorErrors.nullableCollectionOrArrayReturnTypeInDaoMethod
+import androidx.room.processor.ProcessorErrors.nullableComponentInDaoMethodReturnType
import androidx.room.testing.context
import androidx.room.vo.Dao
import androidx.room.vo.ReadQueryMethod
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
index 1806453c..55f7026 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
@@ -20,8 +20,8 @@
import androidx.room.OnConflictStrategy
import androidx.room.compiler.processing.XMethodElement
import androidx.room.compiler.processing.XType
-import androidx.room.processor.ProcessorErrors.INSERTION_DOES_NOT_HAVE_ANY_PARAMETERS_TO_INSERT
import androidx.room.processor.ProcessorErrors.CANNOT_FIND_INSERT_RESULT_ADAPTER
+import androidx.room.processor.ProcessorErrors.INSERTION_DOES_NOT_HAVE_ANY_PARAMETERS_TO_INSERT
import androidx.room.processor.ProcessorErrors.INSERT_MULTI_PARAM_SINGLE_RETURN_MISMATCH
import androidx.room.processor.ProcessorErrors.INSERT_SINGLE_PARAM_MULTI_RETURN_MISMATCH
import androidx.room.vo.InsertionMethod
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/ProjectionExpanderTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/ProjectionExpanderTest.kt
index 3a136ab..2b5edd13 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/ProjectionExpanderTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/ProjectionExpanderTest.kt
@@ -25,8 +25,8 @@
import androidx.room.parser.expansion.ProjectionExpander
import androidx.room.testing.context
import createVerifierFromEntitiesAndViews
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/UpsertionMethodProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/UpsertionMethodProcessorTest.kt
index 49832fb..0dea532 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/UpsertionMethodProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/UpsertionMethodProcessorTest.kt
@@ -19,8 +19,8 @@
import androidx.room.Upsert
import androidx.room.compiler.processing.XMethodElement
import androidx.room.compiler.processing.XType
-import androidx.room.processor.ProcessorErrors.UPSERTION_DOES_NOT_HAVE_ANY_PARAMETERS_TO_UPSERT
import androidx.room.processor.ProcessorErrors.CANNOT_FIND_UPSERT_RESULT_ADAPTER
+import androidx.room.processor.ProcessorErrors.UPSERTION_DOES_NOT_HAVE_ANY_PARAMETERS_TO_UPSERT
import androidx.room.processor.ProcessorErrors.UPSERT_MULTI_PARAM_SINGLE_RETURN_MISMATCH
import androidx.room.processor.ProcessorErrors.UPSERT_SINGLE_PARAM_MULTI_RETURN_MISMATCH
import androidx.room.vo.UpsertionMethod
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/vo/FtsEntityTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/vo/FtsEntityTest.kt
index fcca115..c589003 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/vo/FtsEntityTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/vo/FtsEntityTest.kt
@@ -16,10 +16,10 @@
package androidx.room.vo
-import androidx.room.parser.FtsVersion
import androidx.room.compiler.processing.XElement
import androidx.room.compiler.processing.XType
import androidx.room.compiler.processing.XTypeElement
+import androidx.room.parser.FtsVersion
import mockElementAndType
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
diff --git a/room/room-ktx/src/androidTest/java/androidx/room/CoroutineRoomCancellationTest.kt b/room/room-ktx/src/androidTest/java/androidx/room/CoroutineRoomCancellationTest.kt
index 97dcc0d..c3e1e03 100644
--- a/room/room-ktx/src/androidTest/java/androidx/room/CoroutineRoomCancellationTest.kt
+++ b/room/room-ktx/src/androidTest/java/androidx/room/CoroutineRoomCancellationTest.kt
@@ -22,6 +22,8 @@
import androidx.sqlite.db.SupportSQLiteOpenHelper
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
+import java.util.concurrent.Callable
+import java.util.concurrent.CountDownLatch
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -34,8 +36,6 @@
import kotlinx.coroutines.test.runCurrent
import org.junit.Assert.fail
import org.junit.Test
-import java.util.concurrent.Callable
-import java.util.concurrent.CountDownLatch
@SmallTest
@SdkSuppress(minSdkVersion = 16)
diff --git a/room/room-ktx/src/test/java/androidx/room/CoroutinesRoomTest.kt b/room/room-ktx/src/test/java/androidx/room/CoroutinesRoomTest.kt
index 08dc8c5..af8d5a7 100644
--- a/room/room-ktx/src/test/java/androidx/room/CoroutinesRoomTest.kt
+++ b/room/room-ktx/src/test/java/androidx/room/CoroutinesRoomTest.kt
@@ -18,6 +18,7 @@
import androidx.kruth.assertThat
import androidx.sqlite.db.SupportSQLiteOpenHelper
+import kotlin.coroutines.ContinuationInterceptor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.async
import kotlinx.coroutines.flow.first
@@ -26,7 +27,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import kotlin.coroutines.ContinuationInterceptor
@RunWith(JUnit4::class)
class CoroutinesRoomTest {
diff --git a/room/room-ktx/src/test/java/androidx/room/MigrationTest.kt b/room/room-ktx/src/test/java/androidx/room/MigrationTest.kt
index f49e8ce..bf24923 100644
--- a/room/room-ktx/src/test/java/androidx/room/MigrationTest.kt
+++ b/room/room-ktx/src/test/java/androidx/room/MigrationTest.kt
@@ -26,10 +26,10 @@
import androidx.sqlite.db.SupportSQLiteDatabase
import androidx.sqlite.db.SupportSQLiteQuery
import androidx.sqlite.db.SupportSQLiteStatement
+import java.util.Locale
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.Locale
@RunWith(JUnit4::class)
class MigrationTest {
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/DatabaseViewBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/DatabaseViewBundle.kt
index 247ec91a..4d8d0d4 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/DatabaseViewBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/DatabaseViewBundle.kt
@@ -17,7 +17,6 @@
package androidx.room.migration.bundle
import androidx.annotation.RestrictTo
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/EntityBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/EntityBundle.kt
index 515574b..ca445ae 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/EntityBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/EntityBundle.kt
@@ -18,7 +18,6 @@
import androidx.annotation.RestrictTo
import androidx.room.migration.bundle.SchemaEqualityUtil.checkSchemaEquality
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/FieldBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/FieldBundle.kt
index 4b3e07e..c13f17f 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/FieldBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/FieldBundle.kt
@@ -17,7 +17,6 @@
package androidx.room.migration.bundle
import androidx.annotation.RestrictTo
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/ForeignKeyBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/ForeignKeyBundle.kt
index 5420167..3939331 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/ForeignKeyBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/ForeignKeyBundle.kt
@@ -17,7 +17,6 @@
package androidx.room.migration.bundle
import androidx.annotation.RestrictTo
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsEntityBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsEntityBundle.kt
index a66911b..0653167 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsEntityBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsEntityBundle.kt
@@ -18,7 +18,6 @@
import androidx.annotation.RestrictTo
import androidx.room.migration.bundle.SchemaEqualityUtil.checkSchemaEquality
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsOptionsBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsOptionsBundle.kt
index da62796..1040374 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsOptionsBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/FtsOptionsBundle.kt
@@ -17,7 +17,6 @@
package androidx.room.migration.bundle
import androidx.annotation.RestrictTo
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/IndexBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/IndexBundle.kt
index a54c633..c245c78 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/IndexBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/IndexBundle.kt
@@ -18,7 +18,6 @@
import androidx.annotation.RestrictTo
import androidx.room.Index
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/PrimaryKeyBundle.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/PrimaryKeyBundle.kt
index b8f2406..1fd0e00 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/PrimaryKeyBundle.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/PrimaryKeyBundle.kt
@@ -17,7 +17,6 @@
package androidx.room.migration.bundle
import androidx.annotation.RestrictTo
-
import com.google.gson.annotations.SerializedName
/**
diff --git a/room/room-migration/src/test/java/androidx/room/migration/bundle/DatabaseViewBundleTest.kt b/room/room-migration/src/test/java/androidx/room/migration/bundle/DatabaseViewBundleTest.kt
index 3f37dba..75fb554 100644
--- a/room/room-migration/src/test/java/androidx/room/migration/bundle/DatabaseViewBundleTest.kt
+++ b/room/room-migration/src/test/java/androidx/room/migration/bundle/DatabaseViewBundleTest.kt
@@ -18,7 +18,6 @@
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
-
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/room/room-migration/src/test/java/androidx/room/migration/bundle/PrimaryKeyBundleTest.kt b/room/room-migration/src/test/java/androidx/room/migration/bundle/PrimaryKeyBundleTest.kt
index 9a42f55..8b43988 100644
--- a/room/room-migration/src/test/java/androidx/room/migration/bundle/PrimaryKeyBundleTest.kt
+++ b/room/room-migration/src/test/java/androidx/room/migration/bundle/PrimaryKeyBundleTest.kt
@@ -18,7 +18,6 @@
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
-
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/room/room-paging/src/androidTest/kotlin/androidx/room/InvalidationTrackerExtRoomPaging.kt b/room/room-paging/src/androidTest/kotlin/androidx/room/InvalidationTrackerExtRoomPaging.kt
index 654a96e..fe1df3e6 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/InvalidationTrackerExtRoomPaging.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/InvalidationTrackerExtRoomPaging.kt
@@ -15,9 +15,9 @@
*/
package androidx.room
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.delay
import kotlinx.coroutines.withTimeout
-import java.util.concurrent.TimeUnit
/**
* True if invalidation tracker is pending a refresh event to get database changes.
diff --git a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt
index 09a9564..8231cf1 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetPagingSourceTest.kt
@@ -34,23 +34,23 @@
import androidx.testutils.FilteringExecutor
import androidx.testutils.TestExecutor
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.runBlocking
-import kotlinx.coroutines.test.advanceUntilIdle
-import org.junit.After
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
import kotlin.test.assertTrue
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.runTest
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
private const val tableName: String = "TestItem"
@@ -573,7 +573,7 @@
val refreshKey = 85 - (15 / 2)
val pagingSource2 = LimitOffsetPagingSourceImpl(database)
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
val result = pager2.refresh(initialKey = refreshKey) as LoadResult.Page
// database should only have 40 items left. Refresh key is invalid at this point
@@ -616,7 +616,7 @@
dao.deleteTestItems(0, 29)
val pagingSource2 = LimitOffsetPagingSourceImpl(database)
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
// assume user was viewing first few items with anchorPosition = 0 and refresh key
// clips to 0
val result = pager2.refresh(initialKey = 0) as LoadResult.Page
@@ -648,7 +648,7 @@
dao.deleteTestItems(0, 94)
val pagingSource2 = LimitOffsetPagingSourceImpl(database)
- val pager2 = TestPager(pagingSource2, CONFIG)
+ val pager2 = TestPager(CONFIG, pagingSource2)
// assume user was viewing first few items with anchorPosition = 0 and refresh key
// clips to 0
val result = pager2.refresh(initialKey = 0) as LoadResult.Page
@@ -682,7 +682,7 @@
) -> Unit
) {
runBlocking {
- block(TestPager(pagingSource, config), pagingSource)
+ block(TestPager(config, pagingSource), pagingSource)
}
}
}
@@ -736,7 +736,7 @@
@Test
fun invalid_append() = runTest {
val pagingSource = LimitOffsetPagingSourceImpl(db)
- val pager = TestPager(pagingSource, CONFIG)
+ val pager = TestPager(CONFIG, pagingSource)
dao.addAllItems(ITEMS_LIST)
val result = pager.refresh() as LoadResult.Page
@@ -769,7 +769,7 @@
@Test
fun invalid_prepend() = runTest {
val pagingSource = LimitOffsetPagingSourceImpl(db)
- val pager = TestPager(pagingSource, CONFIG)
+ val pager = TestPager(CONFIG, pagingSource)
dao.addAllItems(ITEMS_LIST)
val result = pager.refresh(initialKey = 20) as LoadResult.Page
diff --git a/room/room-paging/src/main/java/androidx/room/paging/LimitOffsetPagingSource.kt b/room/room-paging/src/main/java/androidx/room/paging/LimitOffsetPagingSource.kt
index 6634131..bca76d1 100644
--- a/room/room-paging/src/main/java/androidx/room/paging/LimitOffsetPagingSource.kt
+++ b/room/room-paging/src/main/java/androidx/room/paging/LimitOffsetPagingSource.kt
@@ -32,8 +32,8 @@
import androidx.room.paging.util.queryItemCount
import androidx.room.withTransaction
import androidx.sqlite.db.SupportSQLiteQuery
-import kotlinx.coroutines.withContext
import java.util.concurrent.atomic.AtomicInteger
+import kotlinx.coroutines.withContext
/**
* An implementation of [PagingSource] to perform a LIMIT OFFSET query
diff --git a/room/room-paging/src/main/java/androidx/room/paging/util/RoomPagingUtil.kt b/room/room-paging/src/main/java/androidx/room/paging/util/RoomPagingUtil.kt
index 1722c11..e51ceb0 100644
--- a/room/room-paging/src/main/java/androidx/room/paging/util/RoomPagingUtil.kt
+++ b/room/room-paging/src/main/java/androidx/room/paging/util/RoomPagingUtil.kt
@@ -22,8 +22,8 @@
import androidx.annotation.RestrictTo
import androidx.paging.PagingSource
import androidx.paging.PagingSource.LoadParams
-import androidx.paging.PagingSource.LoadParams.Prepend
import androidx.paging.PagingSource.LoadParams.Append
+import androidx.paging.PagingSource.LoadParams.Prepend
import androidx.paging.PagingSource.LoadParams.Refresh
import androidx.paging.PagingSource.LoadResult
import androidx.paging.PagingState
diff --git a/room/room-runtime/src/androidTest/java/androidx/room/AutoCloserTest.kt b/room/room-runtime/src/androidTest/java/androidx/room/AutoCloserTest.kt
index ceaacd1..6a3fc94 100644
--- a/room/room-runtime/src/androidTest/java/androidx/room/AutoCloserTest.kt
+++ b/room/room-runtime/src/androidTest/java/androidx/room/AutoCloserTest.kt
@@ -27,14 +27,14 @@
import androidx.test.filters.MediumTest
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
+import java.io.IOException
+import java.util.concurrent.TimeUnit
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
-import java.io.IOException
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt b/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
index 5b2fc1d..2efa582 100644
--- a/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
+++ b/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
@@ -24,13 +24,13 @@
import androidx.sqlite.db.SupportSQLiteOpenHelper
import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory
import androidx.test.core.app.ApplicationProvider
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.atomic.AtomicInteger
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
-import java.util.concurrent.Executors
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.atomic.AtomicInteger
public class AutoClosingRoomOpenHelperFactoryTest {
private val DB_NAME = "name"
diff --git a/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt b/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt
index d8f36a4a..0a22c62 100644
--- a/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt
+++ b/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt
@@ -29,12 +29,12 @@
import androidx.test.filters.SdkSuppress
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Ignore
-import org.junit.Test
import java.io.IOException
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit
+import org.junit.Before
+import org.junit.Ignore
+import org.junit.Test
class AutoClosingRoomOpenHelperTest {
diff --git a/room/room-runtime/src/main/java/androidx/room/EntityUpsertionAdapter.kt b/room/room-runtime/src/main/java/androidx/room/EntityUpsertionAdapter.kt
index 89fb70a..b1c65a8 100644
--- a/room/room-runtime/src/main/java/androidx/room/EntityUpsertionAdapter.kt
+++ b/room/room-runtime/src/main/java/androidx/room/EntityUpsertionAdapter.kt
@@ -17,8 +17,8 @@
package androidx.room
import android.database.sqlite.SQLiteConstraintException
-import androidx.annotation.RestrictTo
import android.os.Build
+import androidx.annotation.RestrictTo
/**
* The ErrorCode defined by SQLite Library for SQLITE_CONSTRAINT_PRIMARYKEY error
diff --git a/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.kt b/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.kt
index 0659f92..bbf6f8e 100644
--- a/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.kt
+++ b/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.kt
@@ -15,10 +15,10 @@
*/
package androidx.room
-import android.content.Intent
-import android.content.ServiceConnection
import android.content.ComponentName
import android.content.Context
+import android.content.Intent
+import android.content.ServiceConnection
import android.os.IBinder
import android.os.RemoteException
import android.util.Log
diff --git a/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.kt b/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.kt
index 761541d..06ecd35 100644
--- a/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.kt
+++ b/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.kt
@@ -16,9 +16,9 @@
package androidx.room
import android.app.Service
-import android.os.RemoteCallbackList
import android.content.Intent
import android.os.IBinder
+import android.os.RemoteCallbackList
import android.os.RemoteException
import android.util.Log
import androidx.room.Room.LOG_TAG
diff --git a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorDatabase.kt b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorDatabase.kt
index 4fb5661..d6a4107 100644
--- a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorDatabase.kt
+++ b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorDatabase.kt
@@ -19,7 +19,6 @@
import android.database.Cursor
import android.database.sqlite.SQLiteTransactionListener
import android.os.CancellationSignal
-
import androidx.sqlite.db.SupportSQLiteDatabase
import androidx.sqlite.db.SupportSQLiteQuery
import androidx.sqlite.db.SupportSQLiteStatement
diff --git a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelper.kt b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelper.kt
index 4f36a1f..c15672f 100644
--- a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelper.kt
+++ b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelper.kt
@@ -18,7 +18,6 @@
import androidx.sqlite.db.SupportSQLiteDatabase
import androidx.sqlite.db.SupportSQLiteOpenHelper
-
import java.util.concurrent.Executor
internal class QueryInterceptorOpenHelper(
diff --git a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelperFactory.kt b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelperFactory.kt
index d0fab60..1d86465 100644
--- a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelperFactory.kt
+++ b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorOpenHelperFactory.kt
@@ -17,7 +17,6 @@
package androidx.room
import androidx.sqlite.db.SupportSQLiteOpenHelper
-
import java.util.concurrent.Executor
/**
diff --git a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorStatement.kt b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorStatement.kt
index 2ec9508..50cf02c 100644
--- a/room/room-runtime/src/main/java/androidx/room/QueryInterceptorStatement.kt
+++ b/room/room-runtime/src/main/java/androidx/room/QueryInterceptorStatement.kt
@@ -17,7 +17,6 @@
package androidx.room
import androidx.sqlite.db.SupportSQLiteStatement
-
import java.util.concurrent.Executor
/**
diff --git a/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt b/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt
index dceaab0..37d3ebd 100644
--- a/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt
+++ b/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt
@@ -20,8 +20,8 @@
import android.util.Log
import androidx.annotation.RequiresApi
import androidx.room.Room.LOG_TAG
-import androidx.room.util.readVersion
import androidx.room.util.copy
+import androidx.room.util.readVersion
import androidx.sqlite.db.SupportSQLiteDatabase
import androidx.sqlite.db.SupportSQLiteOpenHelper
import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory
diff --git a/room/room-runtime/src/test/java/androidx/room/InvalidationLiveDataContainerTest.kt b/room/room-runtime/src/test/java/androidx/room/InvalidationLiveDataContainerTest.kt
index 62d6ecd..b63bfa0 100644
--- a/room/room-runtime/src/test/java/androidx/room/InvalidationLiveDataContainerTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/InvalidationLiveDataContainerTest.kt
@@ -17,6 +17,7 @@
package androidx.room
import androidx.lifecycle.LiveData
+import java.util.concurrent.Callable
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Before
@@ -24,7 +25,6 @@
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito
-import java.util.concurrent.Callable
@RunWith(JUnit4::class)
class InvalidationLiveDataContainerTest {
diff --git a/room/room-runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt b/room/room-runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
index b1b2124..be50aa4 100644
--- a/room/room-runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
@@ -22,19 +22,6 @@
import androidx.annotation.RequiresApi
import androidx.sqlite.db.SupportSQLiteDatabase
import androidx.sqlite.db.SupportSQLiteOpenHelper
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertSame
-import org.junit.Ignore
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TemporaryFolder
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-import org.mockito.Mockito.`when`
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.times
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.verifyNoMoreInteractions
import java.io.File
import java.io.FileInputStream
import java.io.IOException
@@ -45,6 +32,19 @@
import java.util.concurrent.TimeoutException
import java.util.concurrent.atomic.AtomicInteger
import kotlin.concurrent.thread
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertSame
+import org.junit.Ignore
+import org.junit.Rule
+import org.junit.Test
+import org.junit.rules.TemporaryFolder
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+import org.mockito.Mockito.mock
+import org.mockito.Mockito.times
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.verifyNoMoreInteractions
+import org.mockito.Mockito.`when`
@RunWith(JUnit4::class)
class SQLiteCopyOpenHelperTest {
diff --git a/room/room-runtime/src/test/java/androidx/room/TransactionExecutorTest.kt b/room/room-runtime/src/test/java/androidx/room/TransactionExecutorTest.kt
index edda059..9163232 100644
--- a/room/room-runtime/src/test/java/androidx/room/TransactionExecutorTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/TransactionExecutorTest.kt
@@ -17,13 +17,13 @@
package androidx.room
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executors
-import java.util.concurrent.TimeUnit
@RunWith(JUnit4::class)
class TransactionExecutorTest {
diff --git a/room/room-runtime/src/test/java/androidx/room/util/UUIDUtilTest.kt b/room/room-runtime/src/test/java/androidx/room/util/UUIDUtilTest.kt
index 19ec25d..aafd7cd 100644
--- a/room/room-runtime/src/test/java/androidx/room/util/UUIDUtilTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/util/UUIDUtilTest.kt
@@ -17,12 +17,12 @@
package androidx.room.util
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
import java.nio.ByteBuffer
import java.util.UUID
import kotlin.random.Random
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
@RunWith(JUnit4::class)
class UUIDUtilTest {
diff --git a/room/room-rxjava2/src/test/java/androidx/room/RxRoomTest.kt b/room/room-rxjava2/src/test/java/androidx/room/RxRoomTest.kt
index bea3aa5..a5d9af9 100644
--- a/room/room-rxjava2/src/test/java/androidx/room/RxRoomTest.kt
+++ b/room/room-rxjava2/src/test/java/androidx/room/RxRoomTest.kt
@@ -17,25 +17,24 @@
import androidx.arch.core.executor.ArchTaskExecutor
import androidx.arch.core.executor.testing.CountingTaskExecutorRule
+import com.google.common.truth.Truth.assertThat
import io.reactivex.functions.Consumer
import io.reactivex.observers.TestObserver
import io.reactivex.subscribers.TestSubscriber
-
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicReference
-import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.kotlin.any
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.whenever
import org.mockito.kotlin.doAnswer
-import org.mockito.kotlin.verify
+import org.mockito.kotlin.mock
import org.mockito.kotlin.never
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
@RunWith(JUnit4::class)
class RxRoomTest {
diff --git a/room/room-rxjava3/src/test/java/androidx/room/rxjava3/RxRoomTest.kt b/room/room-rxjava3/src/test/java/androidx/room/rxjava3/RxRoomTest.kt
index cb5b547..e63839a 100644
--- a/room/room-rxjava3/src/test/java/androidx/room/rxjava3/RxRoomTest.kt
+++ b/room/room-rxjava3/src/test/java/androidx/room/rxjava3/RxRoomTest.kt
@@ -30,14 +30,14 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-import org.mockito.kotlin.any
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.whenever
-import org.mockito.kotlin.doAnswer
-import org.mockito.kotlin.verify
-import org.mockito.kotlin.never
import org.mockito.invocation.InvocationOnMock
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
@RunWith(JUnit4::class)
class RxRoomTest {
diff --git a/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/RecyclerViewCoordinatorLayoutAppBarActivity.kt b/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/RecyclerViewCoordinatorLayoutAppBarActivity.kt
index 163843d..ce8e561 100644
--- a/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/RecyclerViewCoordinatorLayoutAppBarActivity.kt
+++ b/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/RecyclerViewCoordinatorLayoutAppBarActivity.kt
@@ -21,11 +21,9 @@
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
-
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-
import com.example.androidx.R
class RecyclerViewCoordinatorLayoutAppBarActivity : AppCompatActivity() {
diff --git a/savedstate/savedstate/src/main/java/androidx/savedstate/SavedStateRegistryOwner.kt b/savedstate/savedstate/src/main/java/androidx/savedstate/SavedStateRegistryOwner.kt
index dc63d7f..4d8667a 100644
--- a/savedstate/savedstate/src/main/java/androidx/savedstate/SavedStateRegistryOwner.kt
+++ b/savedstate/savedstate/src/main/java/androidx/savedstate/SavedStateRegistryOwner.kt
@@ -16,8 +16,8 @@
package androidx.savedstate
import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LifecycleObserver
+import androidx.lifecycle.LifecycleOwner
/**
* A scope that owns [SavedStateRegistry]
*
diff --git a/security/security-crypto-ktx/src/androidTest/java/androidx/security/crypto/KtxTests.kt b/security/security-crypto-ktx/src/androidTest/java/androidx/security/crypto/KtxTests.kt
index d91fc08..5e2e079 100644
--- a/security/security-crypto-ktx/src/androidTest/java/androidx/security/crypto/KtxTests.kt
+++ b/security/security-crypto-ktx/src/androidTest/java/androidx/security/crypto/KtxTests.kt
@@ -20,13 +20,13 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import java.io.File
+import java.nio.charset.StandardCharsets
+import java.security.KeyStore
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.File
-import java.nio.charset.StandardCharsets
-import java.security.KeyStore
private const val PREFS_FILE = "test_shared_prefs"
diff --git a/slidingpanelayout/slidingpanelayout/api/current.txt b/slidingpanelayout/slidingpanelayout/api/current.txt
index 9340904..eecf512 100644
--- a/slidingpanelayout/slidingpanelayout/api/current.txt
+++ b/slidingpanelayout/slidingpanelayout/api/current.txt
@@ -6,6 +6,7 @@
ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?);
ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?, int);
method public void addPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener);
+ method public void addSlideableStateListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener);
method protected boolean canScroll(android.view.View, boolean, int, int, int);
method @Deprecated public boolean canSlide();
method public void close();
@@ -19,6 +20,7 @@
method public void open();
method public boolean openPane();
method public void removePanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener);
+ method public void removeSlideableStateListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener);
method @Deprecated public void setCoveredFadeColor(@ColorInt int);
method public final void setLockMode(int);
method @Deprecated public void setPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener?);
@@ -61,5 +63,9 @@
method public void onPanelSlide(android.view.View, float);
}
+ public static interface SlidingPaneLayout.SlideableStateListener {
+ method public void onSlideableStateChanged(boolean);
+ }
+
}
diff --git a/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_current.txt b/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_current.txt
index 9340904..eecf512 100644
--- a/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_current.txt
+++ b/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_current.txt
@@ -6,6 +6,7 @@
ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?);
ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?, int);
method public void addPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener);
+ method public void addSlideableStateListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener);
method protected boolean canScroll(android.view.View, boolean, int, int, int);
method @Deprecated public boolean canSlide();
method public void close();
@@ -19,6 +20,7 @@
method public void open();
method public boolean openPane();
method public void removePanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener);
+ method public void removeSlideableStateListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener);
method @Deprecated public void setCoveredFadeColor(@ColorInt int);
method public final void setLockMode(int);
method @Deprecated public void setPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener?);
@@ -61,5 +63,9 @@
method public void onPanelSlide(android.view.View, float);
}
+ public static interface SlidingPaneLayout.SlideableStateListener {
+ method public void onSlideableStateChanged(boolean);
+ }
+
}
diff --git a/slidingpanelayout/slidingpanelayout/api/restricted_current.txt b/slidingpanelayout/slidingpanelayout/api/restricted_current.txt
index 9340904..eecf512 100644
--- a/slidingpanelayout/slidingpanelayout/api/restricted_current.txt
+++ b/slidingpanelayout/slidingpanelayout/api/restricted_current.txt
@@ -6,6 +6,7 @@
ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?);
ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?, int);
method public void addPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener);
+ method public void addSlideableStateListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener);
method protected boolean canScroll(android.view.View, boolean, int, int, int);
method @Deprecated public boolean canSlide();
method public void close();
@@ -19,6 +20,7 @@
method public void open();
method public boolean openPane();
method public void removePanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener);
+ method public void removeSlideableStateListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener);
method @Deprecated public void setCoveredFadeColor(@ColorInt int);
method public final void setLockMode(int);
method @Deprecated public void setPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener?);
@@ -61,5 +63,9 @@
method public void onPanelSlide(android.view.View, float);
}
+ public static interface SlidingPaneLayout.SlideableStateListener {
+ method public void onSlideableStateChanged(boolean);
+ }
+
}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/LockModeTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/LockModeTest.kt
index faf82fa..fe2cdae 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/LockModeTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/LockModeTest.kt
@@ -17,9 +17,9 @@
package androidx.slidingpanelayout.widget
import androidx.slidingpanelayout.test.R
+import androidx.slidingpanelayout.widget.SlidingPaneLayout.LOCK_MODE_LOCKED
import androidx.slidingpanelayout.widget.SlidingPaneLayout.LOCK_MODE_LOCKED_CLOSED
import androidx.slidingpanelayout.widget.SlidingPaneLayout.LOCK_MODE_LOCKED_OPEN
-import androidx.slidingpanelayout.widget.SlidingPaneLayout.LOCK_MODE_LOCKED
import androidx.slidingpanelayout.widget.SlidingPaneLayout.LOCK_MODE_UNLOCKED
import androidx.slidingpanelayout.widget.helpers.TestActivity
import androidx.slidingpanelayout.widget.helpers.addWaitForCloseLatch
@@ -39,10 +39,10 @@
import androidx.test.filters.SdkSuppress
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
/**
* Tests [SlidingPaneLayout.setLockMode] and [SlidingPaneLayout.getLockMode]
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/PanelSlideListenerTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/PanelSlideListenerTest.kt
index 027b5cd..a98a7d9 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/PanelSlideListenerTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/PanelSlideListenerTest.kt
@@ -30,11 +30,11 @@
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
/**
* Tests [SlidingPaneLayout.PanelSlideListener]
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt
new file mode 100644
index 0000000..490a911
--- /dev/null
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2023 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.slidingpanelayout.widget
+
+import android.view.ViewGroup
+import android.widget.FrameLayout
+import androidx.slidingpanelayout.test.R
+import androidx.slidingpanelayout.widget.SlidingPaneLayout.SlideableStateListener
+import androidx.slidingpanelayout.widget.helpers.TestActivity
+import androidx.test.core.app.ActivityScenario
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.LargeTest
+import com.google.common.truth.Truth.assertWithMessage
+import org.junit.After
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+@LargeTest
+class SlideableStateListenerTest {
+
+ @After
+ public fun tearDown() {
+ TestActivity.onActivityCreated = {}
+ }
+
+ @Test
+ fun testAddSlideableStateListener() {
+ var isSlideableCalled = false
+ TestActivity.onActivityCreated = { activity ->
+ val container = FrameLayout(activity)
+ val layout = activity.layoutInflater.inflate(
+ R.layout.activity_test_layout, null, false
+ )
+ container.addView(
+ layout,
+ ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT
+ )
+ )
+ val slidingPaneLayout = container
+ .findViewById<SlidingPaneLayout>(R.id.sliding_pane_layout)
+ slidingPaneLayout.addSlideableStateListener { _ ->
+ isSlideableCalled = true
+ }
+
+ activity.setContentView(container)
+ }
+
+ with(ActivityScenario.launch(TestActivity::class.java)) {
+ assertWithMessage(
+ "isSlideable should be called when measuring the layout has completed")
+ .that(isSlideableCalled)
+ .isTrue()
+ }
+ }
+
+ @Test
+ fun testRemoveSlideableStateListener() {
+ var isSlideableCalled: Boolean? = null
+
+ TestActivity.onActivityCreated = { activity ->
+ val container = FrameLayout(activity)
+ val layout = activity.layoutInflater.inflate(
+ R.layout.activity_test_layout, null, false
+ )
+ container.addView(
+ layout,
+ ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT
+ )
+ )
+ val slideableStateListener = SlideableStateListener {
+ isSlideableCalled = true
+ }
+
+ val slidingPaneLayout = container
+ .findViewById<SlidingPaneLayout>(R.id.sliding_pane_layout)
+ slidingPaneLayout.addSlideableStateListener(slideableStateListener)
+
+ activity.setContentView(container)
+ slidingPaneLayout.removeSlideableStateListener(slideableStateListener)
+ }
+
+ with(ActivityScenario.launch(TestActivity::class.java)) {
+ assertWithMessage("isSlideable should not be called if the listener has been removed")
+ .that(isSlideableCalled)
+ .isNull()
+ }
+ }
+}
\ No newline at end of file
diff --git a/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/FoldingFeatureObserver.kt b/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/FoldingFeatureObserver.kt
index b3119aa..d4ae2e7 100644
--- a/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/FoldingFeatureObserver.kt
+++ b/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/FoldingFeatureObserver.kt
@@ -20,6 +20,7 @@
import androidx.window.layout.FoldingFeature
import androidx.window.layout.WindowInfoTracker
import androidx.window.layout.WindowLayoutInfo
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.asCoroutineDispatcher
@@ -27,7 +28,6 @@
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.launch
-import java.util.concurrent.Executor
/**
* A device folding feature observer is used to notify listener when there is a folding feature
diff --git a/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java b/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java
index 27478c9..4c826d2 100644
--- a/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java
+++ b/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java
@@ -178,6 +178,9 @@
private float mInitialMotionX;
private float mInitialMotionY;
+ private final List<SlideableStateListener> mSlideableStateListeners =
+ new CopyOnWriteArrayList<>();
+
private final List<PanelSlideListener> mPanelSlideListeners = new CopyOnWriteArrayList<>();
private @Nullable PanelSlideListener mPanelSlideListener;
@@ -249,6 +252,20 @@
}
/**
+ * Listener to whether the SlidingPaneLayout is slideable or is a fixed width.
+ */
+ public interface SlideableStateListener {
+
+ /**
+ * Called when onMeasure has measured out the total width of the added layouts
+ * within SlidingPaneLayout
+ * @param isSlideable Returns true if the current SlidingPaneLayout has the ability to
+ * slide, returns false if the SlidingPaneLayout is a fixed width.
+ */
+ void onSlideableStateChanged(boolean isSlideable);
+ }
+
+ /**
* Listener for monitoring events about sliding panes.
*/
public interface PanelSlideListener {
@@ -436,6 +453,25 @@
}
/**
+ * Adds the specified listener to the list of listeners that will be notified of sliding
+ * state events.
+ * @param listener Listener to notify when sliding state events occur.
+ * @see #removeSlideableStateListener(SlideableStateListener)
+ */
+ public void addSlideableStateListener(@NonNull SlideableStateListener listener) {
+ mSlideableStateListeners.add(listener);
+ }
+
+ /**
+ * Removes the specified listener from the list of listeners that will be notified of sliding
+ * state events.
+ * @param listener Listener to notify when sliding state events occur
+ */
+ public void removeSlideableStateListener(@NonNull SlideableStateListener listener) {
+ mSlideableStateListeners.remove(listener);
+ }
+
+ /**
* Adds the specified listener to the list of listeners that will be notified of
* panel slide events.
*
@@ -777,7 +813,12 @@
final int measuredHeight = layoutHeight + getPaddingTop() + getPaddingBottom();
setMeasuredDimension(measuredWidth, measuredHeight);
- mCanSlide = canSlide;
+ if (canSlide != mCanSlide) {
+ mCanSlide = canSlide;
+ for (SlideableStateListener listener : mSlideableStateListeners) {
+ listener.onSlideableStateChanged(mCanSlide);
+ }
+ }
if (mDragHelper.getViewDragState() != ViewDragHelper.STATE_IDLE && !canSlide) {
// Cancel scrolling in progress, it's no longer relevant.
@@ -1056,6 +1097,15 @@
}
/**
+ * @return true if content in this layout can be slid open and closed
+ * @deprecated Renamed to {@link #isSlideable()} - this method is going away soon!
+ */
+ @Deprecated
+ public boolean canSlide() {
+ return mCanSlide;
+ }
+
+ /**
* @deprecated Renamed to {@link #closePane()} - this method is going away soon!
*/
@Deprecated
@@ -1094,15 +1144,6 @@
}
/**
- * @return true if content in this layout can be slid open and closed
- * @deprecated Renamed to {@link #isSlideable()} - this method is going away soon!
- */
- @Deprecated
- public boolean canSlide() {
- return mCanSlide;
- }
-
- /**
* Check if both the list and detail view panes in this layout can fully fit side-by-side. If
* not, the content pane has the capability to slide back and forth. Note that the lock mode
* is not taken into account in this method. This method is typically used to determine
diff --git a/sqlite/integration-tests/inspection-room-testapp/src/androidTest/java/androidx/sqlite/inspection/RoomInvalidationHookTest.kt b/sqlite/integration-tests/inspection-room-testapp/src/androidTest/java/androidx/sqlite/inspection/RoomInvalidationHookTest.kt
index 57ef857..d69eee1 100644
--- a/sqlite/integration-tests/inspection-room-testapp/src/androidTest/java/androidx/sqlite/inspection/RoomInvalidationHookTest.kt
+++ b/sqlite/integration-tests/inspection-room-testapp/src/androidTest/java/androidx/sqlite/inspection/RoomInvalidationHookTest.kt
@@ -30,6 +30,8 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Job
import kotlinx.coroutines.runBlocking
@@ -37,8 +39,6 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.Executors
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
class RoomInvalidationHookTest {
diff --git a/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/Database.kt b/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/Database.kt
index bebc2ab..ca2c993 100644
--- a/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/Database.kt
+++ b/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/Database.kt
@@ -16,9 +16,9 @@
package androidx.sqlite.inspection.sqldeligttestapp
-import androidx.sqlite.inspection.test.TestEntityQueries
import androidx.sqlite.inspection.sqldeligttestapp.app.newInstance
import androidx.sqlite.inspection.sqldeligttestapp.app.schema
+import androidx.sqlite.inspection.test.TestEntityQueries
import com.squareup.sqldelight.Transacter
import com.squareup.sqldelight.db.SqlDriver
diff --git a/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/app/DatabaseImpl.kt b/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/app/DatabaseImpl.kt
index cb63403..675a5a1 100644
--- a/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/app/DatabaseImpl.kt
+++ b/sqlite/integration-tests/inspection-sqldelight-testapp/src/main/generated/androidx/sqlite/inspection/sqldeligttestapp/app/DatabaseImpl.kt
@@ -16,9 +16,9 @@
package androidx.sqlite.inspection.sqldeligttestapp.app
+import androidx.sqlite.inspection.sqldeligttestapp.Database
import androidx.sqlite.inspection.test.TestEntity
import androidx.sqlite.inspection.test.TestEntityQueries
-import androidx.sqlite.inspection.sqldeligttestapp.Database
import com.squareup.sqldelight.Query
import com.squareup.sqldelight.TransacterImpl
import com.squareup.sqldelight.db.SqlDriver
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/CancellationQueryTest.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/CancellationQueryTest.kt
index 997730a..642fa58 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/CancellationQueryTest.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/CancellationQueryTest.kt
@@ -22,6 +22,8 @@
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.Executor
+import java.util.concurrent.Executors.newCachedThreadPool
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancelAndJoin
import kotlinx.coroutines.channels.Channel
@@ -32,8 +34,6 @@
import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
-import java.util.concurrent.Executor
-import java.util.concurrent.Executors.newCachedThreadPool
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseExtensions.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseExtensions.kt
index d72b712..d8ace8b 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseExtensions.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseExtensions.kt
@@ -20,8 +20,8 @@
import android.database.sqlite.SQLiteOpenHelper
import androidx.test.core.app.ApplicationProvider
import com.google.common.truth.Truth.assertThat
-import org.junit.rules.TemporaryFolder
import java.io.File
+import org.junit.rules.TemporaryFolder
fun SQLiteDatabase.addTable(table: Table) = execSQL(table.toCreateString())
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseLockingTest.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseLockingTest.kt
index 67e4214..492b7b2 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseLockingTest.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/DatabaseLockingTest.kt
@@ -32,6 +32,13 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.Callable
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executors.newSingleThreadExecutor
+import java.util.concurrent.TimeUnit.SECONDS
+import java.util.concurrent.atomic.AtomicBoolean
+import java.util.concurrent.atomic.AtomicInteger
+import java.util.regex.Pattern.CASE_INSENSITIVE
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.ensureActive
import kotlinx.coroutines.launch
@@ -40,13 +47,6 @@
import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
-import java.util.concurrent.Callable
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executors.newSingleThreadExecutor
-import java.util.concurrent.TimeUnit.SECONDS
-import java.util.concurrent.atomic.AtomicBoolean
-import java.util.concurrent.atomic.AtomicInteger
-import java.util.regex.Pattern.CASE_INSENSITIVE
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/SqliteInspectorTestEnvironment.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/SqliteInspectorTestEnvironment.kt
index 706dced..92a93bf 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/SqliteInspectorTestEnvironment.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/SqliteInspectorTestEnvironment.kt
@@ -28,12 +28,12 @@
import androidx.sqlite.inspection.SqliteInspectorProtocol.Event
import androidx.sqlite.inspection.SqliteInspectorProtocol.Response
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.Executor
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
import kotlinx.coroutines.cancelAndJoin
import kotlinx.coroutines.runBlocking
import org.junit.rules.ExternalResource
-import java.util.concurrent.Executor
private const val SQLITE_INSPECTOR_ID = "androidx.sqlite.inspection"
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/TrackDatabasesTest.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/TrackDatabasesTest.kt
index 4efe8d8..cf8da8b 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/TrackDatabasesTest.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/TrackDatabasesTest.kt
@@ -31,12 +31,12 @@
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.google.common.truth.Truth.assertThat
+import java.io.File
import kotlinx.coroutines.runBlocking
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
-import java.io.File
private const val OPEN_DATABASE_COMMAND_SIGNATURE_API11: String = "openDatabase" +
"(" +
diff --git a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/UpdateStableAidlApiTask.kt b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/UpdateStableAidlApiTask.kt
index c12b84b..8a1bf84 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/UpdateStableAidlApiTask.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/UpdateStableAidlApiTask.kt
@@ -16,22 +16,22 @@
package androidx.stableaidl.tasks
+import java.io.File
+import java.security.MessageDigest
+import org.apache.commons.io.FileUtils
import org.gradle.api.DefaultTask
+import org.gradle.api.GradleException
+import org.gradle.api.file.DirectoryProperty
+import org.gradle.api.logging.Logger
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.InputDirectory
+import org.gradle.api.tasks.OutputDirectories
import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
-import java.io.File
-import java.security.MessageDigest
-import org.gradle.api.GradleException
-import org.gradle.api.logging.Logger
-import org.gradle.api.tasks.InputDirectory
-import org.gradle.api.tasks.OutputDirectories
-import org.apache.commons.io.FileUtils
-import org.gradle.api.file.DirectoryProperty
/**
* Task for updating the public Android resource surface, e.g. `public.xml`.
diff --git a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleExecOperations.kt b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleExecOperations.kt
index a65ad83..80859ab 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleExecOperations.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleExecOperations.kt
@@ -16,6 +16,9 @@
package com.android.build.gradle.internal.fixtures
+import java.io.File
+import java.io.InputStream
+import java.io.OutputStream
import org.gradle.api.Action
import org.gradle.process.BaseExecSpec
import org.gradle.process.CommandLineArgumentProvider
@@ -24,9 +27,6 @@
import org.gradle.process.ExecSpec
import org.gradle.process.JavaExecSpec
import org.gradle.process.ProcessForkOptions
-import java.io.File
-import java.io.InputStream
-import java.io.OutputStream
/** This implementation only captures arguments used to launch process, it does not run it. */
class FakeGradleExecOperations : ExecOperations {
diff --git a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleProperty.kt b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleProperty.kt
index f64e355..bd198da 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleProperty.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleProperty.kt
@@ -16,10 +16,10 @@
package com.android.build.gradle.internal.fixtures
+import java.util.function.BiFunction
import org.gradle.api.Transformer
import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider
-import java.util.function.BiFunction
class FakeGradleProperty<T>(private var value: T? = null) : Property<T> {
diff --git a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleWorkExecutor.kt b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleWorkExecutor.kt
index 678696b..7a17b63 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleWorkExecutor.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeGradleWorkExecutor.kt
@@ -16,6 +16,10 @@
package com.android.build.gradle.internal.fixtures
+import java.io.File
+import java.lang.reflect.Method
+import java.lang.reflect.ParameterizedType
+import java.net.URLClassLoader
import org.gradle.api.Action
import org.gradle.api.model.ObjectFactory
import org.gradle.workers.ClassLoaderWorkerSpec
@@ -32,10 +36,6 @@
import org.objectweb.asm.FieldVisitor
import org.objectweb.asm.MethodVisitor
import org.objectweb.asm.Opcodes
-import java.io.File
-import java.lang.reflect.Method
-import java.lang.reflect.ParameterizedType
-import java.net.URLClassLoader
/**
* Fake implementation of [WorkerExecutor]. [ObjectFactory] is used to instantiate parameters,
diff --git a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeNoOpAnalyticsService.kt b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeNoOpAnalyticsService.kt
index 9de1d23..4bd73b8 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeNoOpAnalyticsService.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/test/java/com/android/build/gradle/internal/fixtures/FakeNoOpAnalyticsService.kt
@@ -29,13 +29,13 @@
import com.google.wireless.android.sdk.stats.GradleBuildProject
import com.google.wireless.android.sdk.stats.GradleBuildVariant
import com.google.wireless.android.sdk.stats.GradleTransformExecution
+import java.io.File
+import java.util.Base64
+import java.util.concurrent.ConcurrentLinkedQueue
import org.gradle.api.provider.MapProperty
import org.gradle.api.provider.Property
import org.gradle.api.provider.SetProperty
import org.gradle.tooling.events.FinishEvent
-import java.io.File
-import java.util.Base64
-import java.util.concurrent.ConcurrentLinkedQueue
/**
* A no-operation implementation of [AnalyticsService] for unit tests.
diff --git a/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/EnsureInitializerMetadataDetector.kt b/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/EnsureInitializerMetadataDetector.kt
index 4da10fc..824b5fe 100644
--- a/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/EnsureInitializerMetadataDetector.kt
+++ b/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/EnsureInitializerMetadataDetector.kt
@@ -34,11 +34,11 @@
import com.android.tools.lint.detector.api.XmlContext
import com.android.tools.lint.detector.api.XmlScanner
import com.intellij.psi.impl.source.PsiClassReferenceType
+import java.util.EnumSet
import org.jetbrains.uast.UClass
import org.jetbrains.uast.UClassLiteralExpression
import org.jetbrains.uast.visitor.AbstractUastVisitor
import org.w3c.dom.Element
-import java.util.EnumSet
/**
* A [Detector] which ensures that every `ComponentInitializer` is accompanied by a corresponding
diff --git a/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/InitializerConstructorDetector.kt b/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/InitializerConstructorDetector.kt
index c99826d..87b8615 100644
--- a/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/InitializerConstructorDetector.kt
+++ b/startup/startup-runtime-lint/src/main/java/androidx/startup/lint/InitializerConstructorDetector.kt
@@ -27,8 +27,8 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.lang.java.JavaLanguage
-import org.jetbrains.uast.UClass
import java.util.EnumSet
+import org.jetbrains.uast.UClass
/**
* A [Detector] which ensures that every `ComponentInitializer` has a no argument constructor.
diff --git a/startup/startup-runtime-lint/src/test/java/androidx/startup/lint/EnsureInitializerMetadataTest.kt b/startup/startup-runtime-lint/src/test/java/androidx/startup/lint/EnsureInitializerMetadataTest.kt
index 23b8e36..8e5f981 100644
--- a/startup/startup-runtime-lint/src/test/java/androidx/startup/lint/EnsureInitializerMetadataTest.kt
+++ b/startup/startup-runtime-lint/src/test/java/androidx/startup/lint/EnsureInitializerMetadataTest.kt
@@ -18,8 +18,8 @@
package androidx.startup.lint
-import androidx.startup.lint.Stubs.TEST_INITIALIZER
import androidx.startup.lint.Stubs.INITIALIZER
+import androidx.startup.lint.Stubs.TEST_INITIALIZER
import androidx.startup.lint.Stubs.TEST_INITIALIZER_2
import androidx.startup.lint.Stubs.TEST_INITIALIZER_WITH_DEPENDENCIES
import com.android.tools.lint.checks.infrastructure.TestFiles.manifest
diff --git a/startup/startup-runtime/src/androidTest/java/androidx/startup/AppInitializerTest.kt b/startup/startup-runtime/src/androidTest/java/androidx/startup/AppInitializerTest.kt
index 7b54f14..d9501e8 100644
--- a/startup/startup-runtime/src/androidTest/java/androidx/startup/AppInitializerTest.kt
+++ b/startup/startup-runtime/src/androidTest/java/androidx/startup/AppInitializerTest.kt
@@ -20,8 +20,8 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.containsString
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
diff --git a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/ScreenshotTestRuleTest.kt b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/ScreenshotTestRuleTest.kt
index 0275075..3dc6acb 100644
--- a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/ScreenshotTestRuleTest.kt
+++ b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/ScreenshotTestRuleTest.kt
@@ -25,12 +25,12 @@
import androidx.test.screenshot.matchers.PixelPerfectMatcher
import androidx.test.screenshot.utils.loadBitmap
import com.google.common.truth.Truth.assertThat
+import java.lang.AssertionError
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.lang.AssertionError
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/ScreenshotTestRule.kt b/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/ScreenshotTestRule.kt
index 132b215..7cbd8db 100644
--- a/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/ScreenshotTestRule.kt
+++ b/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/ScreenshotTestRule.kt
@@ -28,15 +28,15 @@
import androidx.test.screenshot.matchers.PixelPerfectMatcher
import androidx.test.screenshot.proto.ScreenshotResultProto
import androidx.test.screenshot.proto.ScreenshotResultProto.ScreenshotResult.Status
+import java.io.File
+import java.io.FileNotFoundException
+import java.io.FileOutputStream
+import java.io.IOException
import org.junit.Assume
import org.junit.rules.TestRule
import org.junit.rules.TestWatcher
import org.junit.runner.Description
import org.junit.runners.model.Statement
-import java.io.File
-import java.io.FileNotFoundException
-import java.io.FileOutputStream
-import java.io.IOException
/**
* Config for [ScreenshotTestRule].
diff --git a/test/uiautomator/integration-tests/testapp/src/androidTest/java/androidx/test/uiautomator/testapp/BaseTest.java b/test/uiautomator/integration-tests/testapp/src/androidTest/java/androidx/test/uiautomator/testapp/BaseTest.java
index 67decb1..da92d0f 100644
--- a/test/uiautomator/integration-tests/testapp/src/androidTest/java/androidx/test/uiautomator/testapp/BaseTest.java
+++ b/test/uiautomator/integration-tests/testapp/src/androidTest/java/androidx/test/uiautomator/testapp/BaseTest.java
@@ -22,6 +22,7 @@
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.test.core.app.ApplicationProvider;
@@ -34,9 +35,14 @@
import androidx.test.uiautomator.Until;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.function.ThrowingRunnable;
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
import org.junit.runner.RunWith;
+import java.io.ByteArrayOutputStream;
+
@RunWith(AndroidJUnit4.class)
public abstract class BaseTest {
@@ -45,6 +51,20 @@
protected static final int DEFAULT_FLAGS =
Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK;
+ // Dumps the UI hierarchy to logcat on failure.
+ @Rule
+ public TestWatcher mDumpHierarchyWatcher = new TestWatcher() {
+ @Override
+ protected void failed(Throwable t, Description description) {
+ try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) {
+ mDevice.dumpWindowHierarchy(stream);
+ Log.w(description.getTestClass().getSimpleName(), stream.toString());
+ } catch (Exception e) {
+ Log.e(description.getTestClass().getSimpleName(), "Failed to dump hierarchy", e);
+ }
+ }
+ };
+
protected UiDevice mDevice;
@Before
diff --git a/testutils/testutils-appcompat/src/main/java/androidx/testutils/RecreatedAppCompatActivity.kt b/testutils/testutils-appcompat/src/main/java/androidx/testutils/RecreatedAppCompatActivity.kt
index ea23c83..5d5694e 100644
--- a/testutils/testutils-appcompat/src/main/java/androidx/testutils/RecreatedAppCompatActivity.kt
+++ b/testutils/testutils-appcompat/src/main/java/androidx/testutils/RecreatedAppCompatActivity.kt
@@ -19,9 +19,9 @@
import android.os.Bundle
import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity
-import org.junit.Assert.assertTrue
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Assert.assertTrue
/**
* Extension of [AppCompatActivity] that keeps track of when it is recreated.
diff --git a/testutils/testutils-common/src/main/java/androidx/testutils/FilteringExecutor.kt b/testutils/testutils-common/src/main/java/androidx/testutils/FilteringExecutor.kt
index e981829..3d5618a1 100644
--- a/testutils/testutils-common/src/main/java/androidx/testutils/FilteringExecutor.kt
+++ b/testutils/testutils-common/src/main/java/androidx/testutils/FilteringExecutor.kt
@@ -15,17 +15,17 @@
*/
package androidx.testutils
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.first
-import kotlinx.coroutines.flow.mapLatest
-import kotlinx.coroutines.withTimeout
import java.util.concurrent.Executor
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit
import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.flow.mapLatest
+import kotlinx.coroutines.withTimeout
/**
* An executor that can block some known runnables. We use it to slow down database
diff --git a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/OkioTestIO.kt b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/OkioTestIO.kt
index 733d614..84705fc 100644
--- a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/OkioTestIO.kt
+++ b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/OkioTestIO.kt
@@ -22,8 +22,8 @@
import kotlin.random.Random
import kotlin.reflect.KClass
import okio.FileSystem
-import okio.Path
import okio.IOException
+import okio.Path
import okio.Path.Companion.toPath
open class OkioTestIO(dirName: String = "test-dir") : TestIO<OkioPath, IOException>(dirName) {
diff --git a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestIO.kt b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestIO.kt
index bddb036..021e629 100644
--- a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestIO.kt
+++ b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestIO.kt
@@ -17,9 +17,9 @@
package androidx.datastore
import androidx.datastore.core.DataStore
-import androidx.datastore.core.Storage
import androidx.datastore.core.DataStoreFactory.create
import androidx.datastore.core.InterProcessCoordinator
+import androidx.datastore.core.Storage
import kotlin.reflect.KClass
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
diff --git a/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/Kruth.kt b/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/Kruth.kt
index f842714..89114369 100644
--- a/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/Kruth.kt
+++ b/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/Kruth.kt
@@ -42,3 +42,6 @@
fun <T> assertThat(actual: Iterable<T>?): IterableSubject<T> =
IterableSubject(actual)
+
+fun <K, V> assertThat(actual: Map<K, V>?): MapSubject<K, V> =
+ MapSubject(actual)
diff --git a/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/KruthExt.kt b/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/KruthExt.kt
index a55d4e0..e44dc61 100644
--- a/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/KruthExt.kt
+++ b/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/KruthExt.kt
@@ -16,8 +16,8 @@
package androidx.kruth
-import kotlin.test.assertFailsWith
import kotlin.reflect.KClass
+import kotlin.test.assertFailsWith
// Commonized extensions on top of Truth. These are kept separate for book-keeping in case we end up
// promoting Kruth.
diff --git a/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/MapSubject.kt b/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/MapSubject.kt
new file mode 100644
index 0000000..c24141c
--- /dev/null
+++ b/testutils/testutils-kmp/src/commonMain/kotlin/androidx/kruth/MapSubject.kt
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2023 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.kruth
+
+import kotlin.test.fail
+
+class MapSubject<K, V>(actual: Map<K, V>?) : Subject<Map<K, V>>(actual) {
+
+ /** Fails if the map is not empty. */
+ fun isEmpty() {
+ requireNonNull(actual) { "Expected to be empty, but was null" }
+
+ if (actual.isNotEmpty()) {
+ fail("Expected to be empty, but was $actual")
+ }
+ }
+}
diff --git a/testutils/testutils-kmp/src/commonTest/kotlin/androidx/kruth/MapSubjectTest.kt b/testutils/testutils-kmp/src/commonTest/kotlin/androidx/kruth/MapSubjectTest.kt
new file mode 100644
index 0000000..586efc9
--- /dev/null
+++ b/testutils/testutils-kmp/src/commonTest/kotlin/androidx/kruth/MapSubjectTest.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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.kruth
+
+import kotlin.test.Test
+import kotlin.test.assertFailsWith
+
+class MapSubjectTest {
+
+ @Test
+ fun isEmpty() {
+ assertThat(mapOf<Any, Any>()).isEmpty()
+ }
+
+ @Test
+ fun isEmptyWithFailure() {
+ assertFailsWith<AssertionError> {
+ assertThat(mapOf(1 to 5)).isEmpty()
+ }
+ }
+}
diff --git a/testutils/testutils-ktx/build.gradle b/testutils/testutils-ktx/build.gradle
index 499d1ed..21ef343d 100644
--- a/testutils/testutils-ktx/build.gradle
+++ b/testutils/testutils-ktx/build.gradle
@@ -15,18 +15,35 @@
*/
import androidx.build.LibraryType
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("AndroidXPlugin")
- id("kotlin")
}
-dependencies {
- api(libs.kotlinStdlib)
- api(libs.kotlinCoroutinesCore)
- api(libs.kotlinCoroutinesTest)
- api(libs.junit)
+androidXMultiplatform {
+ ios()
+ js {
+ nodejs()
+ binaries.executable()
+ }
+ jvm()
+ linux()
+ mac()
+
+ sourceSets {
+ commonMain {
+ dependencies {
+ api(libs.kotlinStdlib)
+ api(libs.kotlinCoroutinesCore)
+ api(libs.kotlinCoroutinesTest)
+ }
+ }
+ jvmMain {
+ dependencies {
+ api(libs.junit)
+ }
+ }
+ }
}
androidx {
diff --git a/testutils/testutils-ktx/src/main/java/androidx/testutils/DirectDispatcher.kt b/testutils/testutils-ktx/src/commonMain/kotlin/androidx/testutils/DirectDispatcher.kt
similarity index 95%
rename from testutils/testutils-ktx/src/main/java/androidx/testutils/DirectDispatcher.kt
rename to testutils/testutils-ktx/src/commonMain/kotlin/androidx/testutils/DirectDispatcher.kt
index 6c961b7..150d68a 100644
--- a/testutils/testutils-ktx/src/main/java/androidx/testutils/DirectDispatcher.kt
+++ b/testutils/testutils-ktx/src/commonMain/kotlin/androidx/testutils/DirectDispatcher.kt
@@ -16,8 +16,9 @@
package androidx.testutils
-import kotlinx.coroutines.CoroutineDispatcher
import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.Runnable
object DirectDispatcher : CoroutineDispatcher() {
override fun dispatch(context: CoroutineContext, block: Runnable) {
diff --git a/testutils/testutils-ktx/src/main/java/androidx/testutils/TestDispatcher.kt b/testutils/testutils-ktx/src/commonMain/kotlin/androidx/testutils/TestDispatcher.kt
similarity index 81%
rename from testutils/testutils-ktx/src/main/java/androidx/testutils/TestDispatcher.kt
rename to testutils/testutils-ktx/src/commonMain/kotlin/androidx/testutils/TestDispatcher.kt
index be8b54f..5c84e3c 100644
--- a/testutils/testutils-ktx/src/main/java/androidx/testutils/TestDispatcher.kt
+++ b/testutils/testutils-ktx/src/commonMain/kotlin/androidx/testutils/TestDispatcher.kt
@@ -16,24 +16,24 @@
package androidx.testutils
-import kotlinx.coroutines.CoroutineDispatcher
-import java.util.concurrent.ConcurrentLinkedQueue
import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.Runnable
/**
* [CoroutineDispatcher] which keeps track of all its queued jobs.
*/
class TestDispatcher : CoroutineDispatcher() {
- val queue = ConcurrentLinkedQueue<Runnable>()
+ val queue = ArrayDeque<Runnable>()
override fun dispatch(context: CoroutineContext, block: Runnable) {
queue.add(block)
}
fun executeAll() {
- do {
- val runnable = queue.poll()
- runnable?.run()
- } while (runnable != null)
+ while (queue.isNotEmpty()) {
+ val runnable = queue.removeFirst()
+ runnable.run()
+ }
}
}
diff --git a/testutils/testutils-ktx/src/main/java/androidx/testutils/MainDispatcherRule.kt b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/MainDispatcherRule.kt
similarity index 100%
rename from testutils/testutils-ktx/src/main/java/androidx/testutils/MainDispatcherRule.kt
rename to testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/MainDispatcherRule.kt
diff --git a/testutils/testutils-ktx/src/main/java/androidx/testutils/VerifyWithPolling.kt b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt
similarity index 93%
rename from testutils/testutils-ktx/src/main/java/androidx/testutils/VerifyWithPolling.kt
rename to testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt
index c6155b2..258a218 100644
--- a/testutils/testutils-ktx/src/main/java/androidx/testutils/VerifyWithPolling.kt
+++ b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt
@@ -16,8 +16,10 @@
package androidx.testutils
+import java.lang.SuppressWarnings
import org.junit.Assert
+@SuppressWarnings("BanThreadSleep")
fun verifyWithPolling(
message: String,
periodMs: Long,
diff --git a/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/LocaleTestUtilsTest.kt b/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/LocaleTestUtilsTest.kt
index ab49a11..5dbff64 100644
--- a/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/LocaleTestUtilsTest.kt
+++ b/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/LocaleTestUtilsTest.kt
@@ -25,13 +25,13 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import java.util.Locale
import org.hamcrest.CoreMatchers
import org.hamcrest.MatcherAssert.assertThat
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.Locale
// Fetch default locale as early as possible (e.g., before initializing LocaleTestUtilsTest class)
private val DEFAULT_LANGUAGE = Locale.getDefault().toString()
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationActivityTestRule.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationActivityTestRule.kt
index ee33b44..02a1cd5 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationActivityTestRule.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationActivityTestRule.kt
@@ -16,16 +16,15 @@
package androidx.testutils
-import android.app.Activity
import android.animation.ValueAnimator
import android.annotation.SuppressLint
+import android.app.Activity
import android.os.Build
import androidx.test.runner.intercepting.SingleActivityFactory
-
-import org.junit.runner.Description
-import org.junit.runners.model.Statement
import java.lang.RuntimeException
import java.lang.reflect.Method
+import org.junit.runner.Description
+import org.junit.runners.model.Statement
/**
* To solve the issue that androidx changes system settings to make animation duration to 0:
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/RecreatedActivity.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/RecreatedActivity.kt
index 8ddecfe..2296e75 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/RecreatedActivity.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/RecreatedActivity.kt
@@ -19,9 +19,9 @@
import android.os.Bundle
import androidx.annotation.LayoutRes
import androidx.fragment.app.FragmentActivity
-import org.junit.Assert
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
+import org.junit.Assert
/**
* Extension of [FragmentActivity] that keeps track of when it is recreated.
diff --git a/testutils/testutils-truth/src/test/java/androidx/testutils/AssertionsTest.kt b/testutils/testutils-truth/src/test/java/androidx/testutils/AssertionsTest.kt
index b65e977..f517604 100644
--- a/testutils/testutils-truth/src/test/java/androidx/testutils/AssertionsTest.kt
+++ b/testutils/testutils-truth/src/test/java/androidx/testutils/AssertionsTest.kt
@@ -16,8 +16,8 @@
package androidx.testutils
-import org.junit.Test
import java.io.IOException
+import org.junit.Test
class AssertionsTest {
@Test
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt
index fba9e8f..cfae5f2 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt
@@ -27,11 +27,11 @@
import android.text.style.LeadingMarginSpan
import androidx.compose.ui.text.android.BoringLayoutFactory.create
import androidx.compose.ui.text.android.BoringLayoutFactory.measure
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt
index c5c6cee..edef78c 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt
@@ -12,12 +12,12 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.spy
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Test
-import org.junit.runner.RunWith
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt
index 9355f82..21af3cf 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt
@@ -20,11 +20,11 @@
import android.text.Layout
import android.text.StaticLayout
import android.text.TextPaint
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@OptIn(InternalPlatformTextApi::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt
index 22f1976..212c5e4 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt
@@ -18,13 +18,13 @@
import android.text.TextPaint
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@OptIn(InternalPlatformTextApi::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
index 023c89a..4108cbf 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
@@ -20,13 +20,13 @@
import android.text.TextDirectionHeuristics
import android.text.TextPaint
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
/**
* In this test cases, use following notations:
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt
index d8d1305..4c53a41 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt
@@ -20,11 +20,11 @@
import android.text.Layout
import android.text.StaticLayout
import android.text.TextPaint
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@SmallTest
@OptIn(InternalPlatformTextApi::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
index 733de18..3e47f8f 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
@@ -22,13 +22,13 @@
import android.text.TextPaint
import android.text.style.BulletSpan
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
index e8eb3b8..ae9f92f 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
@@ -22,13 +22,13 @@
import androidx.compose.ui.text.android.animation.SegmentBreaker
import androidx.compose.ui.text.android.animation.SegmentType
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
/**
* In this test cases, use following notations:
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
index e67a9d2..6324d42 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
@@ -22,16 +22,16 @@
import android.text.TextPaint
import android.text.TextUtils
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
+import kotlin.math.floor
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import kotlin.math.floor
@RunWith(AndroidJUnit4::class)
@OptIn(InternalPlatformTextApi::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextAndroidCanvasTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextAndroidCanvasTest.kt
index c12d1a3..fb80db9 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextAndroidCanvasTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextAndroidCanvasTest.kt
@@ -19,10 +19,10 @@
import android.graphics.Canvas
import android.graphics.Rect
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.mock
import org.mockito.kotlin.whenever
-import org.junit.Test
class TextAndroidCanvasTest {
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt
index 5bacbb2..0af5ddc 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt
@@ -22,15 +22,15 @@
import android.text.TextPaint
import android.text.style.AbsoluteSizeSpan
import androidx.core.content.res.ResourcesCompat
-import androidx.test.filters.SmallTest
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
+import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
+import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.google.common.truth.Truth.assertThat
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIsLineEllipsizedTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIsLineEllipsizedTest.kt
index 42f6f2f..26f1373 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIsLineEllipsizedTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIsLineEllipsizedTest.kt
@@ -19,13 +19,13 @@
import android.text.TextPaint
import android.text.TextUtils.TruncateAt
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
index 8a8387f..9945d9a 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
@@ -29,12 +29,12 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
-import org.mockito.kotlin.any
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.doAnswer
import org.mockito.Mockito.spy
+import org.mockito.kotlin.any
import org.mockito.stubbing.Answer
@OptIn(InternalPlatformTextApi::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
index 4de574f..945d772 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
@@ -26,6 +26,7 @@
import androidx.compose.ui.text.android.style.BaselineShiftSpan
import androidx.compose.ui.text.android.style.LineHeightStyleSpan
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
@@ -33,7 +34,6 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
index 424b8d0..9c9b2ad 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
@@ -23,13 +23,13 @@
import androidx.compose.ui.text.android.LayoutHelper
import androidx.compose.ui.text.android.StaticLayoutFactory
import androidx.core.content.res.ResourcesCompat
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.testutils.fonts.R
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
/**
* In this test cases, use following notations:
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt
index 21dac62..a7794c2 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt
@@ -16,13 +16,13 @@
package androidx.compose.ui.text.android.selection
import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
import java.text.BreakIterator
import java.util.Locale
+import org.junit.Test
+import org.junit.runner.RunWith
@OptIn(InternalPlatformTextApi::class)
@SmallTest
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt
index d75f35e..c18022b 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt
@@ -16,13 +16,13 @@
package androidx.compose.ui.text.android.selection
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
import java.text.BreakIterator
import java.util.Locale
+import org.junit.Test
+import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt
index 0affcc1..87e6cbc 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt
@@ -18,11 +18,11 @@
import android.text.TextPaint
import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt
index c32713b..03d1202 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt
@@ -17,11 +17,11 @@
import android.text.TextPaint
import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt
index 4791812..5cfe34d 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt
@@ -17,11 +17,11 @@
import android.text.TextPaint
import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt
index e40871d..bd98830 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt
@@ -20,13 +20,13 @@
import androidx.compose.ui.text.android.InternalPlatformTextApi
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.never
import org.mockito.kotlin.verify
-import org.junit.Test
-import org.junit.runner.RunWith
@OptIn(InternalPlatformTextApi::class)
@MediumTest
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt
index 944a467..9069271 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt
@@ -19,12 +19,12 @@
import android.graphics.Paint
import android.text.TextPaint
import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.abs
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import kotlin.math.abs
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt
index dedb532..3d8eb63 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt
@@ -17,11 +17,11 @@
import android.text.TextPaint
import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth
import org.junit.Test
import org.junit.runner.RunWith
-import androidx.test.ext.junit.runners.AndroidJUnit4
@OptIn(InternalPlatformTextApi::class)
@RunWith(AndroidJUnit4::class)
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt b/text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt
index 20c751f..35a275e 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/TextLayout.kt
@@ -38,8 +38,6 @@
import androidx.compose.ui.text.android.LayoutCompat.ALIGN_OPPOSITE
import androidx.compose.ui.text.android.LayoutCompat.ALIGN_RIGHT
import androidx.compose.ui.text.android.LayoutCompat.BreakStrategy
-import androidx.compose.ui.text.android.LayoutCompat.LineBreakStyle
-import androidx.compose.ui.text.android.LayoutCompat.LineBreakWordStyle
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_ALIGNMENT
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_BREAK_STRATEGY
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_HYPHENATION_FREQUENCY
@@ -52,6 +50,8 @@
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_TEXT_DIRECTION
import androidx.compose.ui.text.android.LayoutCompat.HyphenationFrequency
import androidx.compose.ui.text.android.LayoutCompat.JustificationMode
+import androidx.compose.ui.text.android.LayoutCompat.LineBreakStyle
+import androidx.compose.ui.text.android.LayoutCompat.LineBreakWordStyle
import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_ANY_RTL_LTR
import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_LTR
import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_RTL
diff --git a/tracing/tracing-perfetto/src/androidTest/java/androidx/tracing/perfetto/test/TracingTest.kt b/tracing/tracing-perfetto/src/androidTest/java/androidx/tracing/perfetto/test/TracingTest.kt
index d6f95cd..1dce783 100644
--- a/tracing/tracing-perfetto/src/androidTest/java/androidx/tracing/perfetto/test/TracingTest.kt
+++ b/tracing/tracing-perfetto/src/androidTest/java/androidx/tracing/perfetto/test/TracingTest.kt
@@ -20,9 +20,9 @@
import androidx.annotation.RequiresApi
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
+import androidx.tracing.perfetto.PerfettoHandshake.RequestKeys.RECEIVER_CLASS_NAME
import androidx.tracing.perfetto.Tracing
import androidx.tracing.perfetto.TracingReceiver
-import androidx.tracing.perfetto.PerfettoHandshake.RequestKeys.RECEIVER_CLASS_NAME
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/TracingReceiver.kt b/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/TracingReceiver.kt
index 0ca316b..bca33d3 100644
--- a/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/TracingReceiver.kt
+++ b/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/TracingReceiver.kt
@@ -23,12 +23,12 @@
import android.util.JsonWriter
import androidx.annotation.RestrictTo
import androidx.annotation.RestrictTo.Scope.LIBRARY
-import androidx.tracing.perfetto.Tracing.EnableTracingResponse
import androidx.tracing.perfetto.PerfettoHandshake.EnableTracingResponse
import androidx.tracing.perfetto.PerfettoHandshake.RequestKeys.ACTION_ENABLE_TRACING
import androidx.tracing.perfetto.PerfettoHandshake.RequestKeys.KEY_PATH
import androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes.RESULT_CODE_ERROR_OTHER
import androidx.tracing.perfetto.PerfettoHandshake.ResponseKeys
+import androidx.tracing.perfetto.Tracing.EnableTracingResponse
import java.io.File
import java.io.StringWriter
import java.util.concurrent.LinkedBlockingQueue
diff --git a/transition/transition-ktx/src/androidTest/java/androidx/transition/TransitionTest.kt b/transition/transition-ktx/src/androidTest/java/androidx/transition/TransitionTest.kt
index 915ecb6..0f42fdc 100644
--- a/transition/transition-ktx/src/androidTest/java/androidx/transition/TransitionTest.kt
+++ b/transition/transition-ktx/src/androidTest/java/androidx/transition/TransitionTest.kt
@@ -24,13 +24,13 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import androidx.transition.ktx.test.R
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.atomic.AtomicBoolean
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.atomic.AtomicBoolean
@SdkSuppress(minSdkVersion = 19)
@MediumTest
diff --git a/transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt b/transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt
index db5d385..245fde8 100644
--- a/transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt
+++ b/transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt
@@ -31,6 +31,8 @@
import androidx.transition.test.R
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assert.fail
import org.junit.Before
@@ -42,8 +44,6 @@
import org.mockito.Mockito.mock
import org.mockito.Mockito.reset
import org.mockito.Mockito.verify
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(Parameterized::class)
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsIndexedTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsIndexedTest.kt
index 7bc39fb..1376532 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsIndexedTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsIndexedTest.kt
@@ -17,8 +17,8 @@
package androidx.tv.foundation.lazy.grid
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.text.BasicText
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsReverseLayoutTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsReverseLayoutTest.kt
index 5cf5c36..4d8ad86 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsReverseLayoutTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridsReverseLayoutTest.kt
@@ -22,7 +22,6 @@
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
-import androidx.tv.foundation.lazy.list.setContentWithTestViewConfiguration
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
@@ -35,6 +34,7 @@
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
+import androidx.tv.foundation.lazy.list.setContentWithTestViewConfiguration
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Rule
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyNestedScrollingTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyNestedScrollingTest.kt
index ed9df04..f988a2d2 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyNestedScrollingTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyNestedScrollingTest.kt
@@ -17,18 +17,16 @@
package androidx.tv.foundation.lazy.grid
import androidx.compose.foundation.focusable
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.ScrollableState
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.ui.input.key.NativeKeyEvent
-import androidx.tv.foundation.lazy.list.TestTouchSlop
-import androidx.tv.foundation.lazy.list.setContentWithTestViewConfiguration
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
@@ -36,6 +34,8 @@
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import androidx.tv.foundation.lazy.list.TestTouchSlop
+import androidx.tv.foundation.lazy.list.setContentWithTestViewConfiguration
import com.google.common.truth.Truth
import kotlinx.coroutines.runBlocking
import org.junit.Rule
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyScrollTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyScrollTest.kt
index fc4e60f..57639cd 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyScrollTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyScrollTest.kt
@@ -22,8 +22,8 @@
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.Dp
import androidx.test.filters.MediumTest
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/TvLazyGridLayoutInfoTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/TvLazyGridLayoutInfoTest.kt
index c1ef2fb9e..55b2cef 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/TvLazyGridLayoutInfoTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/TvLazyGridLayoutInfoTest.kt
@@ -21,7 +21,6 @@
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
-import androidx.tv.foundation.lazy.list.LayoutInfoTestParam
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
import androidx.compose.runtime.getValue
@@ -32,6 +31,7 @@
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import androidx.test.filters.MediumTest
+import androidx.tv.foundation.lazy.list.LayoutInfoTestParam
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import kotlinx.coroutines.runBlocking
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyColumnTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyColumnTest.kt
index db1f1eb..f26d36e 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyColumnTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyColumnTest.kt
@@ -17,7 +17,6 @@
package androidx.tv.foundation.lazy.list
import android.os.Build
-import androidx.tv.foundation.lazy.AutoTestFrameClock
import androidx.compose.foundation.background
import androidx.compose.foundation.focusable
import androidx.compose.foundation.gestures.scrollBy
@@ -58,6 +57,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.tv.foundation.PivotOffsets
+import androidx.tv.foundation.lazy.AutoTestFrameClock
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import kotlinx.coroutines.runBlocking
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt
index fb1bf65..2e9e5c9 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListAnimateItemPlacementTest.kt
@@ -59,14 +59,14 @@
import androidx.tv.foundation.ExperimentalTvFoundationApi
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import kotlin.math.roundToInt
import kotlinx.coroutines.runBlocking
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.runners.Parameterized
-import kotlin.math.roundToInt
import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@LargeTest
@RunWith(Parameterized::class)
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListPrefetcherTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListPrefetcherTest.kt
index 13f31cf..688fe7f 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListPrefetcherTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListPrefetcherTest.kt
@@ -16,7 +16,6 @@
package androidx.tv.foundation.lazy.list
-import androidx.tv.foundation.lazy.AutoTestFrameClock
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.scrollBy
import androidx.compose.foundation.layout.PaddingValues
@@ -32,6 +31,7 @@
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.unit.dp
import androidx.test.filters.LargeTest
+import androidx.tv.foundation.lazy.AutoTestFrameClock
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.runBlocking
import org.junit.Test
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListsIndexedTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListsIndexedTest.kt
index 9eab54b..2faff75 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListsIndexedTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyListsIndexedTest.kt
@@ -18,10 +18,10 @@
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredWidth
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.BasicText
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyNestedScrollingTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyNestedScrollingTest.kt
index 02ba39f..1a6000df 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyNestedScrollingTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyNestedScrollingTest.kt
@@ -17,6 +17,7 @@
package androidx.tv.foundation.lazy.list
import androidx.compose.foundation.focusable
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.ScrollableState
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Box
@@ -24,7 +25,6 @@
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.ui.input.key.NativeKeyEvent
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.junit4.createComposeRule
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyScrollTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyScrollTest.kt
index 638985f..6ed7d6c 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyScrollTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyScrollTest.kt
@@ -17,21 +17,23 @@
package androidx.tv.foundation.lazy.list
import androidx.compose.animation.core.FloatSpringSpec
-import androidx.tv.foundation.lazy.AutoTestFrameClock
+import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.animateScrollBy
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.foundation.gestures.Orientation
import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Modifier
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.Dp
import androidx.test.filters.MediumTest
import androidx.tv.foundation.PivotOffsets
+import androidx.tv.foundation.lazy.AutoTestFrameClock
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.TimeUnit
+import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -42,8 +44,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
-import kotlin.math.roundToInt
@MediumTest
@RunWith(Parameterized::class)
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredItemProvider.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredItemProvider.kt
index 4e5c1df..4e1cabc 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredItemProvider.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredItemProvider.kt
@@ -17,10 +17,10 @@
package androidx.tv.foundation.lazy.grid
import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
import androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope
import androidx.compose.ui.layout.Placeable
import androidx.compose.ui.unit.Constraints
+import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
/**
* Abstracts away the subcomposition from the measuring logic.
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredLineProvider.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredLineProvider.kt
index 1d8433df..6b68329 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredLineProvider.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyMeasuredLineProvider.kt
@@ -17,8 +17,8 @@
package androidx.tv.foundation.lazy.grid
import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
import androidx.compose.ui.unit.Constraints
+import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
/**
* Abstracts away subcomposition and span calculation from the measuring logic of entire lines.
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemPlacementAnimator.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemPlacementAnimator.kt
index 6cde370..431d51a 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemPlacementAnimator.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemPlacementAnimator.kt
@@ -23,7 +23,6 @@
import androidx.compose.animation.core.VisibilityThreshold
import androidx.compose.animation.core.spring
import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
@@ -31,6 +30,7 @@
import androidx.compose.ui.util.fastAny
import androidx.compose.ui.util.fastForEach
import androidx.compose.ui.util.fastForEachIndexed
+import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyMeasuredItemProvider.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyMeasuredItemProvider.kt
index cd3a131..a291b8a 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyMeasuredItemProvider.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyMeasuredItemProvider.kt
@@ -17,10 +17,10 @@
package androidx.tv.foundation.lazy.list
import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
import androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope
import androidx.compose.ui.layout.Placeable
import androidx.compose.ui.unit.Constraints
+import androidx.tv.foundation.lazy.layout.LazyLayoutKeyIndexMap
/**
* Abstracts away the subcomposition from the measuring logic.
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/IconButton.kt b/tv/tv-material/src/main/java/androidx/tv/material3/IconButton.kt
index 408ab4f..bc0b098 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/IconButton.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/IconButton.kt
@@ -16,8 +16,8 @@
package androidx.tv.material3
-import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.interaction.Interaction
+import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxScope
import androidx.compose.foundation.layout.fillMaxSize
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/IconButtonDefaults.kt b/tv/tv-material/src/main/java/androidx/tv/material3/IconButtonDefaults.kt
index c56fd82..d2a3f17 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/IconButtonDefaults.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/IconButtonDefaults.kt
@@ -16,9 +16,9 @@
package androidx.tv.material3
-import androidx.compose.foundation.interaction.Interaction
import androidx.annotation.FloatRange
import androidx.compose.foundation.BorderStroke
+import androidx.compose.foundation.interaction.Interaction
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
diff --git a/viewpager2/integration-tests/targetsdk-tests/src/androidTest/kotlin/androidx/viewpager2/integration/targetsdktests/OnApplyWindowInsetsListenerTest.kt b/viewpager2/integration-tests/targetsdk-tests/src/androidTest/kotlin/androidx/viewpager2/integration/targetsdktests/OnApplyWindowInsetsListenerTest.kt
index 6e8f5e1..1a6f6cb 100644
--- a/viewpager2/integration-tests/targetsdk-tests/src/androidTest/kotlin/androidx/viewpager2/integration/targetsdktests/OnApplyWindowInsetsListenerTest.kt
+++ b/viewpager2/integration-tests/targetsdk-tests/src/androidTest/kotlin/androidx/viewpager2/integration/targetsdktests/OnApplyWindowInsetsListenerTest.kt
@@ -38,14 +38,14 @@
import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.WindowInsetsApplier
+import java.lang.reflect.Field
import org.hamcrest.CoreMatchers.equalTo
-import org.junit.Assert.assertNotNull
import org.hamcrest.MatcherAssert.assertThat
+import org.junit.Assert.assertNotNull
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.lang.reflect.Field
@LargeTest
@SdkSuppress(minSdkVersion = 30) // TODO(b/273945673): fix test on API 21..30
diff --git a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/BaseTest.kt b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/BaseTest.kt
index 04b9043..b211aef 100644
--- a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/BaseTest.kt
+++ b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/BaseTest.kt
@@ -40,12 +40,12 @@
import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
+import java.util.Locale
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.Matcher
import org.junit.After
import org.junit.Before
import org.junit.Rule
-import java.util.Locale
/**
* Base class for all tests. Contains common functionality, like finding the [ViewPager2] under
diff --git a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/FakeDragTest.kt b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/FakeDragTest.kt
index 95aee13..f94204a 100644
--- a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/FakeDragTest.kt
+++ b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/FakeDragTest.kt
@@ -42,14 +42,14 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_DRAGGING
+import java.lang.reflect.Field
+import kotlin.math.sign
import org.hamcrest.CoreMatchers.equalTo
import org.junit.Before
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.lang.reflect.Field
-import kotlin.math.sign
@LargeTest
@RunWith(Parameterized::class)
diff --git a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/MarginPageTransformerTest.kt b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/MarginPageTransformerTest.kt
index aba8db8..44c7c81 100644
--- a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/MarginPageTransformerTest.kt
+++ b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/MarginPageTransformerTest.kt
@@ -30,16 +30,16 @@
import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers
+import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.closeTo
import org.hamcrest.Matchers.equalTo
import org.hamcrest.Matchers.greaterThan
-import org.hamcrest.MatcherAssert.assertThat
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
private const val LABEL_NONE = "None"
private const val LABEL_50_PX = "Margin 50px"
diff --git a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/AnimationVerifier.kt b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/AnimationVerifier.kt
index 920657f..6884e9e 100644
--- a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/AnimationVerifier.kt
+++ b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/AnimationVerifier.kt
@@ -21,10 +21,10 @@
import androidx.recyclerview.widget.RecyclerView
import androidx.test.espresso.matcher.ViewMatchers.assertThat
import androidx.viewpager2.widget.ViewPager2
-import org.hamcrest.CoreMatchers.equalTo
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import kotlin.math.abs
+import org.hamcrest.CoreMatchers.equalTo
/**
* Verifies if animation happened in the given [ViewPager2]. It listens to
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/CardFragmentActivity.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/CardFragmentActivity.kt
index cc02c2f..843322b 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/CardFragmentActivity.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/CardFragmentActivity.kt
@@ -22,7 +22,6 @@
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
-
import androidx.viewpager2.integration.testapp.cards.Card
import androidx.viewpager2.integration.testapp.cards.CardView
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/PageTransformerActivity.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/PageTransformerActivity.kt
index e01899c..fe0c4ed 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/PageTransformerActivity.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/PageTransformerActivity.kt
@@ -19,8 +19,8 @@
import android.os.Bundle
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.integration.testapp.cards.CardViewAdapter
-import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.widget.MarginPageTransformer
+import androidx.viewpager2.widget.ViewPager2
/**
* Shows examples of [ViewPager2.PageTransformer], e.g. [MarginPageTransformer].
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/cards/CardView.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/cards/CardView.kt
index a079f44..2ad388f 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/cards/CardView.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/cards/CardView.kt
@@ -20,9 +20,7 @@
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
-
import androidx.annotation.ColorRes
-
import androidx.viewpager2.integration.testapp.R
/** Inflates and populates a [View] representing a [Card] */
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AccessibilityTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AccessibilityTest.kt
index afd41feb..f3ba3a4 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AccessibilityTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AccessibilityTest.kt
@@ -27,12 +27,12 @@
import androidx.testutils.LocaleTestUtils
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
@RunWith(Parameterized::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeTest.kt
index 24b8bf3..d5f29f4 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeTest.kt
@@ -27,14 +27,14 @@
import androidx.viewpager2.widget.AdapterDataSetChangeTest.Action.ReplaceWith
import androidx.viewpager2.widget.AdapterDataSetChangeTest.TestConfig
import androidx.viewpager2.widget.swipe.ViewAdapter
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit.SECONDS
@RunWith(Parameterized::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeWhileSmoothScrollTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeWhileSmoothScrollTest.kt
index 227a1f0..3f7aa14 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeWhileSmoothScrollTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterDataSetChangeWhileSmoothScrollTest.kt
@@ -33,16 +33,16 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_SETTLING
+import java.util.concurrent.TimeUnit.SECONDS
+import kotlin.math.roundToInt
+import kotlin.math.sign
import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.Matchers.greaterThan
import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.greaterThan
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit.SECONDS
-import kotlin.math.roundToInt
-import kotlin.math.sign
/** Number of pages */
private const val pageCount = 25
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterTest.kt
index 45aca4c..2625d59 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/AdapterTest.kt
@@ -24,14 +24,14 @@
import androidx.viewpager2.widget.BaseTest.Context.SwipeMethod
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_DRAGGING
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.notNullValue
import org.hamcrest.CoreMatchers.nullValue
-import org.hamcrest.Matchers.greaterThan
import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.greaterThan
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit.SECONDS
@LargeTest
@RunWith(AndroidJUnit4::class)
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/BaseTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/BaseTest.kt
index 1ac998c..aaa96c9 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/BaseTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/BaseTest.kt
@@ -62,20 +62,20 @@
import androidx.viewpager2.widget.swipe.TestActivity
import androidx.viewpager2.widget.swipe.ViewAdapter
import androidx.viewpager2.widget.swipe.WaitForInjectMotionEventsAction.Companion.waitForInjectMotionEvents
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+import kotlin.math.abs
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.Matcher
+import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.allOf
import org.hamcrest.Matchers.greaterThanOrEqualTo
import org.hamcrest.Matchers.lessThan
import org.hamcrest.Matchers.lessThanOrEqualTo
import org.junit.After
-import org.hamcrest.MatcherAssert.assertThat
+import org.junit.Assert.fail
import org.junit.Before
import org.junit.Rule
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-import kotlin.math.abs
-import org.junit.Assert.fail
open class BaseTest {
companion object {
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/CanScrollTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/CanScrollTest.kt
index 045de41..f4df49a 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/CanScrollTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/CanScrollTest.kt
@@ -22,11 +22,11 @@
import androidx.testutils.LocaleTestUtils
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit.SECONDS
/**
* Tests [ViewPager2.canScrollHorizontally] and [ViewPager2.canScrollVertically]
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DisableUserInputTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DisableUserInputTest.kt
index 1be5e31..887553a 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DisableUserInputTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DisableUserInputTest.kt
@@ -28,13 +28,13 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.swipe.ViewAdapter
+import java.util.concurrent.TimeUnit.SECONDS
+import kotlin.math.roundToInt
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit.SECONDS
-import kotlin.math.roundToInt
/**
* Tests what happens when a smooth scroll is interrupted by a drag
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DragWhileSmoothScrollTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DragWhileSmoothScrollTest.kt
index 1879ee12..40f6183 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DragWhileSmoothScrollTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/DragWhileSmoothScrollTest.kt
@@ -30,6 +30,10 @@
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_DRAGGING
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_SETTLING
+import java.util.concurrent.TimeUnit.SECONDS
+import kotlin.math.ceil
+import kotlin.math.floor
+import kotlin.math.max
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.not
import org.hamcrest.MatcherAssert.assertThat
@@ -39,10 +43,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit.SECONDS
-import kotlin.math.ceil
-import kotlin.math.floor
-import kotlin.math.max
/**
* Tests what happens when a smooth scroll is interrupted by a drag
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/EditTextFocusTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/EditTextFocusTest.kt
index 882aa67..18c63e4 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/EditTextFocusTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/EditTextFocusTest.kt
@@ -34,11 +34,11 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.CoreMatchers.allOf
import org.junit.Assert.assertFalse
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit.SECONDS
/** Regression test for an issue when focusing on an EditText would cause a scroll to page 0. */
@RunWith(AndroidJUnit4::class)
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FakeDragTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FakeDragTest.kt
index b3e2d09..10dbbd5 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FakeDragTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FakeDragTest.kt
@@ -35,17 +35,11 @@
import androidx.viewpager2.widget.FakeDragTest.TestConfig
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
+import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_DRAGGING as DRAGGING
+import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE as IDLE
+import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_SETTLING as SETTLING
import androidx.viewpager2.widget.swipe.PageSwiperFakeDrag
import androidx.viewpager2.widget.swipe.PageSwiperManual
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.CoreMatchers.notNullValue
-import org.hamcrest.Matchers.greaterThan
-import org.hamcrest.MatcherAssert.assertThat
-import org.junit.Assume.assumeThat
-import org.junit.Ignore
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.lang.reflect.Field
import java.lang.reflect.Method
import java.util.concurrent.CountDownLatch
@@ -54,9 +48,15 @@
import java.util.concurrent.TimeUnit.SECONDS
import kotlin.math.min
import kotlin.math.roundToInt
-import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_DRAGGING as DRAGGING
-import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE as IDLE
-import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_SETTLING as SETTLING
+import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.CoreMatchers.notNullValue
+import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.greaterThan
+import org.junit.Assume.assumeThat
+import org.junit.Ignore
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentLifecycleTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentLifecycleTest.kt
index 3e6ff55..9d271f9 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentLifecycleTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentLifecycleTest.kt
@@ -22,13 +22,13 @@
import androidx.test.filters.LargeTest
import androidx.viewpager2.widget.ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit.MILLISECONDS
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit.MILLISECONDS
private const val STATE_RESUMED = "RESUMED"
private const val STATE_STARTED = "STARTED"
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentTransactionCallbackTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentTransactionCallbackTest.kt
index 7bc0900..737b33f 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentTransactionCallbackTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/FragmentTransactionCallbackTest.kt
@@ -30,13 +30,13 @@
import androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback
import androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit.SECONDS
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/HostFragmentBackStackTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/HostFragmentBackStackTest.kt
index 2d17809..4ca8cf5 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/HostFragmentBackStackTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/HostFragmentBackStackTest.kt
@@ -36,11 +36,11 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.swipe.FragmentAdapter
import androidx.viewpager2.widget.swipe.PageFragment
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit.SECONDS
/**
* Regression test for an issue when recreating a [ViewPager2]'s host [Fragment]'s [View] causes
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/ItemDecorationTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/ItemDecorationTest.kt
index ebfc7b0..ccf9bbb 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/ItemDecorationTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/ItemDecorationTest.kt
@@ -24,14 +24,14 @@
import androidx.test.filters.LargeTest
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.Matchers.greaterThan
import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.greaterThan
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit.SECONDS
private const val operationTimeoutSeconds = 5L
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/MutableCollectionsTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/MutableCollectionsTest.kt
index 6eb2463..e39d5e7 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/MutableCollectionsTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/MutableCollectionsTest.kt
@@ -30,15 +30,15 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.swipe.PageView
import androidx.viewpager2.widget.swipe.SelfChecking
-import org.hamcrest.Matchers.equalTo
-import org.hamcrest.MatcherAssert.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.util.Random
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicInteger
+import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.equalTo
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
private const val RANDOM_TESTS_PER_CONFIG = 0 // increase to have random tests generated
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/OffscreenPageLimitTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/OffscreenPageLimitTest.kt
index b4b3c85..2a05ec3 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/OffscreenPageLimitTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/OffscreenPageLimitTest.kt
@@ -29,21 +29,21 @@
import androidx.viewpager2.widget.OffscreenPageLimitTest.TestConfig
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.CoreMatchers.hasItem
-import org.hamcrest.Matchers.greaterThanOrEqualTo
-import org.hamcrest.Matchers.lessThan
-import org.hamcrest.Matchers.lessThanOrEqualTo
-import org.hamcrest.MatcherAssert.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.util.concurrent.TimeUnit.SECONDS
import kotlin.math.ceil
import kotlin.math.floor
import kotlin.math.max
import kotlin.math.min
import kotlin.math.roundToInt
+import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.CoreMatchers.hasItem
+import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.greaterThanOrEqualTo
+import org.hamcrest.Matchers.lessThan
+import org.hamcrest.Matchers.lessThanOrEqualTo
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
class OffscreenPageLimitTest(private val config: TestConfig) : BaseTest() {
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PaddingMarginDecorationTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PaddingMarginDecorationTest.kt
index 40fb085..fee2599 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PaddingMarginDecorationTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PaddingMarginDecorationTest.kt
@@ -33,13 +33,13 @@
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_SETTLING
import androidx.viewpager2.widget.swipe.ViewAdapter
+import java.util.concurrent.TimeUnit.SECONDS
+import kotlin.math.roundToInt
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit.SECONDS
-import kotlin.math.roundToInt
@RunWith(Parameterized::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageChangeCallbackTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageChangeCallbackTest.kt
index 355402c..ec95b53 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageChangeCallbackTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageChangeCallbackTest.kt
@@ -40,20 +40,20 @@
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_SETTLING
import androidx.viewpager2.widget.swipe.PageSwiperManual
-import org.hamcrest.CoreMatchers.equalTo
-import org.hamcrest.CoreMatchers.not
-import org.hamcrest.Matchers.allOf
-import org.hamcrest.Matchers.greaterThan
-import org.hamcrest.Matchers.greaterThanOrEqualTo
-import org.hamcrest.MatcherAssert.assertThat
-import org.junit.Ignore
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
import java.util.concurrent.CountDownLatch
import java.util.concurrent.Executors.newSingleThreadExecutor
import java.util.concurrent.TimeUnit.SECONDS
import kotlin.math.roundToInt
+import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.CoreMatchers.not
+import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.allOf
+import org.hamcrest.Matchers.greaterThan
+import org.hamcrest.Matchers.greaterThanOrEqualTo
+import org.junit.Ignore
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageFillTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageFillTest.kt
index adeff10..63bfb25 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageFillTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageFillTest.kt
@@ -25,8 +25,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
-import org.hamcrest.Matchers.containsString
import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.containsString
import org.junit.Assert.fail
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageTransformerTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageTransformerTest.kt
index 5fbbc06..0909f67 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageTransformerTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/PageTransformerTest.kt
@@ -30,17 +30,17 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import androidx.viewpager2.widget.ViewPager2.PageTransformer
+import java.util.concurrent.TimeUnit.SECONDS
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.not
+import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.greaterThan
import org.hamcrest.Matchers.lessThan
import org.junit.Assert.assertFalse
-import org.hamcrest.MatcherAssert.assertThat
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit.SECONDS
@RunWith(Parameterized::class)
@LargeTest
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SetItemWhileScrollInProgressTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SetItemWhileScrollInProgressTest.kt
index fc0b05d1..c505b33 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SetItemWhileScrollInProgressTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SetItemWhileScrollInProgressTest.kt
@@ -26,6 +26,7 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_DRAGGING
+import java.util.Random
import org.hamcrest.CoreMatchers.anyOf
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.instanceOf
@@ -36,7 +37,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.Random
private const val RANDOM_TESTS_PER_CONFIG = 0 // increase to have random tests generated
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SwipeTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SwipeTest.kt
index d669298..0bfdab5 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SwipeTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/SwipeTest.kt
@@ -23,11 +23,11 @@
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL
import androidx.viewpager2.widget.ViewPager2.Orientation
import androidx.viewpager2.widget.swipe.PageView
+import java.util.Random
+import java.util.concurrent.TimeUnit
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.Random
-import java.util.concurrent.TimeUnit
// region test
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/TransientStateFragmentTest.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/TransientStateFragmentTest.kt
index ec89330..f9e4951 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/TransientStateFragmentTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/TransientStateFragmentTest.kt
@@ -24,9 +24,9 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL
+import java.util.concurrent.TimeUnit.MILLISECONDS
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit.MILLISECONDS
/**
* Verifies that [androidx.viewpager2.adapter.FragmentStateAdapter] can handle [Fragment]s
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/FragmentAdapter.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/FragmentAdapter.kt
index 6cfa14f..da365fc 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/FragmentAdapter.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/FragmentAdapter.kt
@@ -25,11 +25,11 @@
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.viewpager2.adapter.FragmentStateAdapter
+import java.util.concurrent.atomic.AtomicInteger
+import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.allOf
import org.hamcrest.Matchers.greaterThanOrEqualTo
import org.hamcrest.Matchers.lessThanOrEqualTo
-import org.hamcrest.MatcherAssert.assertThat
-import java.util.concurrent.atomic.AtomicInteger
private const val ARG_KEY = "key"
diff --git a/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumnTest.kt b/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumnTest.kt
index bee6208..a13ef30 100644
--- a/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumnTest.kt
+++ b/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumnTest.kt
@@ -52,13 +52,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.wear.compose.foundation.TEST_TAG
+import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
+import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import com.google.common.truth.Truth.assertThat
-import kotlin.math.roundToInt
-import kotlinx.coroutines.runBlocking
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt b/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt
index 9f42158..1b894ff 100644
--- a/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt
+++ b/wear/compose/compose-foundation/src/androidAndroidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt
@@ -41,6 +41,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
@@ -48,7 +49,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
@MediumTest
@RunWith(AndroidJUnit4::class)
diff --git a/wear/compose/compose-foundation/src/test/kotlin/androidx/wear/compose/foundation/CurvedTextStyleTest.kt b/wear/compose/compose-foundation/src/test/kotlin/androidx/wear/compose/foundation/CurvedTextStyleTest.kt
index 53d704d..3c9dab3 100644
--- a/wear/compose/compose-foundation/src/test/kotlin/androidx/wear/compose/foundation/CurvedTextStyleTest.kt
+++ b/wear/compose/compose-foundation/src/test/kotlin/androidx/wear/compose/foundation/CurvedTextStyleTest.kt
@@ -25,8 +25,8 @@
import androidx.compose.ui.unit.isUnspecified
import androidx.compose.ui.unit.sp
import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
import org.junit.Assert.assertNull
+import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
diff --git a/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/ChipTest.kt b/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/ChipTest.kt
index 81ec14c..756d558 100644
--- a/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/ChipTest.kt
+++ b/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/ChipTest.kt
@@ -32,14 +32,14 @@
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.State
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import androidx.compose.runtime.State
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.platform.testTag
diff --git a/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt b/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt
index ce31b5d..1c76ba7 100644
--- a/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt
+++ b/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt
@@ -29,8 +29,8 @@
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.drawscope.CanvasDrawScope
-import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.rememberVectorPainter
diff --git a/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/TextTest.kt b/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/TextTest.kt
index 7215c15..d1c8fad 100644
--- a/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/TextTest.kt
+++ b/wear/compose/compose-material-core/src/androidAndroidTest/kotlin/androidx/wear/compose/materialcore/TextTest.kt
@@ -43,10 +43,10 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth
+import java.lang.IllegalArgumentException
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.lang.IllegalArgumentException
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CircularProgressIndicatorSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CircularProgressIndicatorSample.kt
index ac90813..e70e08c 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CircularProgressIndicatorSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CircularProgressIndicatorSample.kt
@@ -32,8 +32,8 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
-import androidx.wear.compose.material.CompactChip
import androidx.wear.compose.material.CircularProgressIndicator
+import androidx.wear.compose.material.CompactChip
import androidx.wear.compose.material.ProgressIndicatorDefaults
import androidx.wear.compose.material.Text
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CurvedTextSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CurvedTextSample.kt
index 653eab7..aff1014 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CurvedTextSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/CurvedTextSample.kt
@@ -33,11 +33,11 @@
import androidx.wear.compose.foundation.curvedColumn
import androidx.wear.compose.foundation.curvedRow
import androidx.wear.compose.foundation.padding
-import androidx.wear.compose.material.curvedText
import androidx.wear.compose.material.LocalContentAlpha
import androidx.wear.compose.material.LocalContentColor
import androidx.wear.compose.material.LocalTextStyle
import androidx.wear.compose.material.ProvideTextStyle
+import androidx.wear.compose.material.curvedText
@Sampled
@Composable
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/ScaffoldSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/ScaffoldSample.kt
index 9aa2006..92c9d1f 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/ScaffoldSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/ScaffoldSample.kt
@@ -24,16 +24,16 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
+import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
+import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState
import androidx.wear.compose.material.Chip
import androidx.wear.compose.material.ChipDefaults
import androidx.wear.compose.material.PositionIndicator
import androidx.wear.compose.material.Scaffold
-import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
import androidx.wear.compose.material.Text
import androidx.wear.compose.material.TimeText
import androidx.wear.compose.material.Vignette
import androidx.wear.compose.material.VignettePosition
-import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState
@SuppressLint("UnrememberedMutableState")
@Sampled
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
index c0dfbe8..d2b7da4 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
@@ -31,8 +31,8 @@
import androidx.compose.testutils.assertShape
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.testTag
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/IconTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/IconTest.kt
index 0f1d9c4..50d241b 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/IconTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/IconTest.kt
@@ -26,8 +26,8 @@
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.drawscope.CanvasDrawScope
-import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.graphics.painter.ColorPainter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.testTag
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
index 37e074b..913b5b1 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
@@ -34,10 +34,10 @@
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.unit.Dp
-import org.junit.Rule
-import org.junit.Test
import com.google.common.truth.Truth.assertThat
import kotlin.math.max
+import org.junit.Rule
+import org.junit.Test
class PlaceholderTest {
@get:Rule
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt
index 246fd6a..586cb58 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt
@@ -16,13 +16,6 @@
package androidx.wear.compose.material
-import androidx.wear.compose.foundation.lazy.ScalingLazyListLayoutInfo as ScalingLazyListLayoutInfo
-import androidx.wear.compose.foundation.lazy.ScalingLazyListState as ScalingLazyListState
-import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState as rememberScalingLazyListState
-import androidx.wear.compose.foundation.lazy.ScalingLazyColumn as ScalingLazyColumn
-import androidx.wear.compose.foundation.lazy.ScalingLazyColumnDefaults as ScalingLazyColumnDefaults
-import androidx.wear.compose.foundation.lazy.AutoCenteringParams as AutoCenteringParams
-import androidx.wear.compose.foundation.lazy.ScalingLazyListScope as ScalingLazyListScope
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.background
@@ -55,6 +48,13 @@
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import androidx.wear.compose.foundation.lazy.AutoCenteringParams as AutoCenteringParams
+import androidx.wear.compose.foundation.lazy.ScalingLazyColumn as ScalingLazyColumn
+import androidx.wear.compose.foundation.lazy.ScalingLazyColumnDefaults as ScalingLazyColumnDefaults
+import androidx.wear.compose.foundation.lazy.ScalingLazyListLayoutInfo as ScalingLazyListLayoutInfo
+import androidx.wear.compose.foundation.lazy.ScalingLazyListScope as ScalingLazyListScope
+import androidx.wear.compose.foundation.lazy.ScalingLazyListState as ScalingLazyListState
+import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState as rememberScalingLazyListState
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.runBlocking
import org.junit.Before
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyColumnTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyColumnTest.kt
index a0ef0e1..d5dfb4c 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyColumnTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyColumnTest.kt
@@ -49,13 +49,13 @@
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
+import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import com.google.common.truth.Truth.assertThat
-import kotlin.math.roundToInt
-import kotlinx.coroutines.runBlocking
@Suppress("DEPRECATION")
@MediumTest
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
index 82dcfc3..7a88093 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
@@ -40,15 +40,15 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import org.junit.Before
+import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import kotlin.math.roundToInt
-import org.junit.Ignore
@Suppress("DEPRECATION")
@MediumTest
diff --git a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxTest.kt b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxTest.kt
index d5bd277..da64262 100644
--- a/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxTest.kt
+++ b/wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxTest.kt
@@ -47,9 +47,9 @@
import androidx.compose.ui.test.swipe
import androidx.compose.ui.test.swipeLeft
import androidx.compose.ui.test.swipeRight
+import com.google.common.truth.Truth.assertThat
import java.lang.Math.sin
import org.junit.Assert.assertEquals
-import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/MaterialTextSelectionColors.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/MaterialTextSelectionColors.kt
index 2838258..fe1151e 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/MaterialTextSelectionColors.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/MaterialTextSelectionColors.kt
@@ -15,13 +15,13 @@
*/
package androidx.wear.compose.material
+import androidx.compose.foundation.text.selection.TextSelectionColors
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.luminance
import androidx.compose.ui.graphics.takeOrElse
-import androidx.compose.foundation.text.selection.TextSelectionColors
import kotlin.math.max
import kotlin.math.min
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Picker.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Picker.kt
index 1615159..2aaa04b 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Picker.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Picker.kt
@@ -15,11 +15,6 @@
*/
package androidx.wear.compose.material
-import androidx.wear.compose.foundation.lazy.ScalingLazyColumn as ScalingLazyColumn
-import androidx.wear.compose.foundation.lazy.ScalingParams as ScalingParams
-import androidx.wear.compose.foundation.lazy.ScalingLazyColumnDefaults as ScalingLazyColumnDefaults
-import androidx.wear.compose.foundation.lazy.AutoCenteringParams as AutoCenteringParams
-import androidx.wear.compose.foundation.lazy.ScalingLazyListState as ScalingLazyListState
import androidx.compose.animation.core.CubicBezierEasing
import androidx.compose.animation.core.DecayAnimationSpec
import androidx.compose.animation.core.Easing
@@ -64,6 +59,11 @@
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
+import androidx.wear.compose.foundation.lazy.AutoCenteringParams as AutoCenteringParams
+import androidx.wear.compose.foundation.lazy.ScalingLazyColumn as ScalingLazyColumn
+import androidx.wear.compose.foundation.lazy.ScalingLazyColumnDefaults as ScalingLazyColumnDefaults
+import androidx.wear.compose.foundation.lazy.ScalingLazyListState as ScalingLazyListState
+import androidx.wear.compose.foundation.lazy.ScalingParams as ScalingParams
import kotlinx.coroutines.launch
/**
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PickerGroup.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PickerGroup.kt
index 6ddae0d4..8588ee8 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PickerGroup.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PickerGroup.kt
@@ -16,12 +16,12 @@
package androidx.wear.compose.material
+import androidx.compose.foundation.focusable
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.scrollable
import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.BoxScope
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PositionIndicator.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PositionIndicator.kt
index 2daae1d..74be61a 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PositionIndicator.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/PositionIndicator.kt
@@ -16,10 +16,6 @@
package androidx.wear.compose.material
-import androidx.wear.compose.foundation.lazy.ScalingLazyListState as ScalingLazyListState
-import androidx.wear.compose.foundation.lazy.ScalingLazyColumn as ScalingLazyColumn
-import androidx.wear.compose.foundation.lazy.ScalingLazyListItemInfo as ScalingLazyListItemInfo
-import androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType as ScalingLazyListAnchorType
import androidx.compose.animation.core.Animatable
import androidx.compose.animation.core.AnimationSpec
import androidx.compose.animation.core.AnimationVector
@@ -74,6 +70,10 @@
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
+import androidx.wear.compose.foundation.lazy.ScalingLazyColumn as ScalingLazyColumn
+import androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType as ScalingLazyListAnchorType
+import androidx.wear.compose.foundation.lazy.ScalingLazyListItemInfo as ScalingLazyListItemInfo
+import androidx.wear.compose.foundation.lazy.ScalingLazyListState as ScalingLazyListState
import kotlin.math.PI
import kotlin.math.asin
import kotlin.math.max
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ProgressIndicator.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ProgressIndicator.kt
index e784c13..9a1ffd1 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ProgressIndicator.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ProgressIndicator.kt
@@ -29,8 +29,8 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.wear.compose.material.ProgressIndicatorDefaults.BaseRotationAngle
-import androidx.wear.compose.material.ProgressIndicatorDefaults.CircularEasing
import androidx.wear.compose.material.ProgressIndicatorDefaults.ButtonCircularIndicatorDiameter
+import androidx.wear.compose.material.ProgressIndicatorDefaults.CircularEasing
import androidx.wear.compose.material.ProgressIndicatorDefaults.HeadAndTailAnimationDuration
import androidx.wear.compose.material.ProgressIndicatorDefaults.HeadAndTailDelayDuration
import androidx.wear.compose.material.ProgressIndicatorDefaults.IndeterminateCircularIndicatorDiameter
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ScrollAway.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ScrollAway.kt
index d577f3e..c15fd01 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ScrollAway.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ScrollAway.kt
@@ -31,8 +31,8 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.lerp
-import androidx.wear.compose.foundation.lazy.ScalingLazyListState
import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
+import androidx.wear.compose.foundation.lazy.ScalingLazyListState
/**
* Scroll an item vertically in/out of view based on a [ScrollState].
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleControl.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleControl.kt
index d129aba..88c3b0de 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleControl.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleControl.kt
@@ -17,10 +17,10 @@
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.AnimationSpec
-import androidx.compose.animation.core.animateFloat
-import androidx.compose.animation.core.updateTransition
import androidx.compose.animation.core.Transition
+import androidx.compose.animation.core.animateFloat
import androidx.compose.animation.core.tween
+import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.Indication
import androidx.compose.foundation.interaction.Interaction
@@ -33,8 +33,8 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.Stable
-import androidx.compose.runtime.remember
import androidx.compose.runtime.State
+import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.CornerRadius
@@ -42,12 +42,12 @@
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.BlendMode
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.drawscope.DrawScope
-import androidx.compose.ui.graphics.drawscope.Fill
-import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.compositeOver
+import androidx.compose.ui.graphics.drawscope.DrawScope
+import androidx.compose.ui.graphics.drawscope.Fill
+import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.lerp
diff --git a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TouchExplorationStateProvider.kt b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TouchExplorationStateProvider.kt
index e8a261e..564b2df 100644
--- a/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TouchExplorationStateProvider.kt
+++ b/wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/TouchExplorationStateProvider.kt
@@ -25,9 +25,9 @@
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
-import androidx.compose.runtime.setValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.Lifecycle
diff --git a/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/Material3Test.kt b/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/Material3Test.kt
index 2c8d474..afa5a80 100644
--- a/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/Material3Test.kt
+++ b/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/Material3Test.kt
@@ -33,17 +33,17 @@
import androidx.compose.testutils.assertContainsColor
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.toPixelMap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.semantics.SemanticsNode
import androidx.compose.ui.test.SemanticsNodeInteraction
import androidx.compose.ui.test.assertTouchHeightIsEqualTo
import androidx.compose.ui.test.assertTouchWidthIsEqualTo
-import androidx.compose.ui.geometry.Rect
-import androidx.compose.ui.semantics.SemanticsNode
import androidx.compose.ui.test.captureToImage
import androidx.compose.ui.test.junit4.ComposeContentTestRule
import androidx.compose.ui.test.onNodeWithTag
@@ -53,8 +53,8 @@
import androidx.compose.ui.unit.height
import androidx.compose.ui.unit.isUnspecified
import androidx.compose.ui.unit.toSize
-import org.junit.Assert
import kotlin.math.abs
+import org.junit.Assert
/**
* Constant to emulate very big but finite constraints
diff --git a/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/TextTest.kt b/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/TextTest.kt
index a61944f..2596530 100644
--- a/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/TextTest.kt
+++ b/wear/compose/compose-material3/src/androidAndroidTest/kotlin/androidx/wear/compose/material3/TextTest.kt
@@ -35,10 +35,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth
+import java.lang.IllegalArgumentException
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.lang.IllegalArgumentException
@SmallTest
@RunWith(AndroidJUnit4::class)
diff --git a/wear/compose/compose-material3/src/commonMain/kotlin/androidx/wear/compose/material3/MaterialTextSelectionColors.kt b/wear/compose/compose-material3/src/commonMain/kotlin/androidx/wear/compose/material3/MaterialTextSelectionColors.kt
index 8939ee4..cfd8d63 100644
--- a/wear/compose/compose-material3/src/commonMain/kotlin/androidx/wear/compose/material3/MaterialTextSelectionColors.kt
+++ b/wear/compose/compose-material3/src/commonMain/kotlin/androidx/wear/compose/material3/MaterialTextSelectionColors.kt
@@ -15,13 +15,13 @@
*/
package androidx.wear.compose.material3
+import androidx.compose.foundation.text.selection.TextSelectionColors
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.compositeOver
import androidx.compose.ui.graphics.luminance
import androidx.compose.ui.graphics.takeOrElse
-import androidx.compose.foundation.text.selection.TextSelectionColors
import kotlin.math.max
import kotlin.math.min
diff --git a/wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt b/wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt
index 68f68b5..655e7bc 100644
--- a/wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt
+++ b/wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt
@@ -25,8 +25,8 @@
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.State
-import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.saveable.rememberSaveableStateHolder
import androidx.compose.runtime.setValue
diff --git a/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHost.kt b/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHost.kt
index 1a5e97a..95f6fbe 100644
--- a/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHost.kt
+++ b/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHost.kt
@@ -25,10 +25,10 @@
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.setValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.SaveableStateHolder
import androidx.compose.runtime.saveable.rememberSaveableStateHolder
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.Lifecycle
@@ -40,13 +40,13 @@
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavHostController
import androidx.navigation.Navigator
-import androidx.navigation.createGraph
import androidx.navigation.compose.LocalOwnersProvider
+import androidx.navigation.createGraph
import androidx.navigation.get
-import androidx.wear.compose.material.SwipeToDismissValue
import androidx.wear.compose.material.SwipeToDismissBox
import androidx.wear.compose.material.SwipeToDismissBoxState
import androidx.wear.compose.material.SwipeToDismissKeys
+import androidx.wear.compose.material.SwipeToDismissValue
import androidx.wear.compose.material.edgeSwipeToDismiss
import androidx.wear.compose.material.rememberSwipeToDismissBoxState
diff --git a/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHostController.kt b/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHostController.kt
index 6407471..42c64b5 100644
--- a/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHostController.kt
+++ b/wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHostController.kt
@@ -16,10 +16,10 @@
package androidx.wear.compose.navigation
-import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.remember
import androidx.compose.runtime.State
+import androidx.compose.runtime.collectAsState
+import androidx.compose.runtime.remember
import androidx.navigation.NavBackStackEntry
import androidx.navigation.NavController
import androidx.navigation.NavHostController
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/FoundationDemos.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/FoundationDemos.kt
index 00e8d98..c54950a 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/FoundationDemos.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/FoundationDemos.kt
@@ -17,8 +17,8 @@
package androidx.wear.compose.integration.demos
import androidx.wear.compose.foundation.samples.CurvedAndNormalText
-import androidx.wear.compose.foundation.samples.CurvedBottomLayout
import androidx.wear.compose.foundation.samples.CurvedBackground
+import androidx.wear.compose.foundation.samples.CurvedBottomLayout
import androidx.wear.compose.foundation.samples.CurvedFixedSize
import androidx.wear.compose.foundation.samples.CurvedFontWeight
import androidx.wear.compose.foundation.samples.CurvedFonts
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt
index 45ecbf2..205da0d 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/MaterialDemos.kt
@@ -36,9 +36,9 @@
import androidx.wear.compose.material.samples.ButtonWithIcon
import androidx.wear.compose.material.samples.ButtonWithText
import androidx.wear.compose.material.samples.ChipWithIconAndLabel
-import androidx.wear.compose.material.samples.ChipWithIconAndLabelsAndOverlaidPlaceholder
import androidx.wear.compose.material.samples.ChipWithIconAndLabelAndPlaceholders
import androidx.wear.compose.material.samples.ChipWithIconAndLabels
+import androidx.wear.compose.material.samples.ChipWithIconAndLabelsAndOverlaidPlaceholder
import androidx.wear.compose.material.samples.CircularProgressIndicatorFullscreenWithGap
import androidx.wear.compose.material.samples.CircularProgressIndicatorWithAnimation
import androidx.wear.compose.material.samples.CompactButtonWithIcon
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt
index 1f4bef8..2e61b3f 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToDismissDemoWithState.kt
@@ -33,8 +33,8 @@
import androidx.compose.ui.Modifier
import androidx.wear.compose.material.Button
import androidx.wear.compose.material.MaterialTheme
-import androidx.wear.compose.material.SwipeToDismissValue
import androidx.wear.compose.material.SwipeToDismissBox
+import androidx.wear.compose.material.SwipeToDismissValue
import androidx.wear.compose.material.Text
import androidx.wear.compose.material.ToggleButton
import androidx.wear.compose.material.rememberSwipeToDismissBoxState
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToRevealDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToRevealDemo.kt
index e0f9d24..0d06716 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToRevealDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SwipeToRevealDemo.kt
@@ -47,21 +47,21 @@
import androidx.wear.compose.foundation.ExpandableState
import androidx.wear.compose.foundation.ExperimentalWearFoundationApi
import androidx.wear.compose.foundation.RevealScope
+import androidx.wear.compose.foundation.RevealState
+import androidx.wear.compose.foundation.RevealValue
+import androidx.wear.compose.foundation.SwipeToReveal
+import androidx.wear.compose.foundation.createAnchors
import androidx.wear.compose.foundation.expandableItem
import androidx.wear.compose.foundation.fractionalPositionalThreshold
import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
import androidx.wear.compose.foundation.rememberExpandableState
+import androidx.wear.compose.foundation.rememberRevealState
import androidx.wear.compose.material.AppCard
import androidx.wear.compose.material.Chip
import androidx.wear.compose.material.ChipDefaults
import androidx.wear.compose.material.Icon
import androidx.wear.compose.material.MaterialTheme
-import androidx.wear.compose.foundation.SwipeToReveal
-import androidx.wear.compose.foundation.RevealState
-import androidx.wear.compose.foundation.RevealValue
import androidx.wear.compose.material.Text
-import androidx.wear.compose.foundation.createAnchors
-import androidx.wear.compose.foundation.rememberRevealState
import kotlin.math.abs
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.delay
diff --git a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/StartupActivity.kt b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/StartupActivity.kt
index 315a00a..db764c8 100644
--- a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/StartupActivity.kt
+++ b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/StartupActivity.kt
@@ -16,8 +16,8 @@
package androidx.wear.compose.integration.macrobenchmark.target
-import androidx.activity.ComponentActivity
import android.os.Bundle
+import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.wear.compose.material.Text
diff --git a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/SwipeActivity.kt b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/SwipeActivity.kt
index 1b3ae2f..26990fc 100644
--- a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/SwipeActivity.kt
+++ b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/SwipeActivity.kt
@@ -16,8 +16,8 @@
package androidx.wear.compose.integration.macrobenchmark.target
-import androidx.activity.ComponentActivity
import android.os.Bundle
+import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -29,8 +29,8 @@
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.semantics
-import androidx.wear.compose.material.SwipeToDismissValue
import androidx.wear.compose.material.SwipeToDismissBox
+import androidx.wear.compose.material.SwipeToDismissValue
import androidx.wear.compose.material.Text
import androidx.wear.compose.material.rememberSwipeToDismissBoxState
diff --git a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/DefaultTileClient.kt b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/DefaultTileClient.kt
index 4edda94..324056c 100644
--- a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/DefaultTileClient.kt
+++ b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/DefaultTileClient.kt
@@ -20,37 +20,37 @@
import android.content.Context
import androidx.annotation.VisibleForTesting
import androidx.concurrent.futures.ResolvableFuture
+import androidx.wear.protolayout.proto.ResourceProto
+import androidx.wear.protolayout.protobuf.InvalidProtocolBufferException
import androidx.wear.tiles.EventBuilders
import androidx.wear.tiles.RequestBuilders
import androidx.wear.tiles.ResourcesCallback
import androidx.wear.tiles.ResourcesData
import androidx.wear.tiles.ResourcesRequestData
-import androidx.wear.tiles.TileCallback
-import androidx.wear.tiles.TileData
-import androidx.wear.tiles.TileRequestData
import androidx.wear.tiles.TileAddEventData
import androidx.wear.tiles.TileBuilders
+import androidx.wear.tiles.TileCallback
+import androidx.wear.tiles.TileData
import androidx.wear.tiles.TileEnterEventData
import androidx.wear.tiles.TileLeaveEventData
import androidx.wear.tiles.TileProvider
-import androidx.wear.tiles.TileService
import androidx.wear.tiles.TileRemoveEventData
+import androidx.wear.tiles.TileRequestData
+import androidx.wear.tiles.TileService
import androidx.wear.tiles.client.TileClient
-import androidx.wear.protolayout.proto.ResourceProto
import androidx.wear.tiles.proto.TileProto
-import androidx.wear.protolayout.protobuf.InvalidProtocolBufferException
import com.google.common.util.concurrent.ListenableFuture
+import java.lang.IllegalArgumentException
+import java.util.concurrent.Executor
+import kotlin.coroutines.Continuation
+import kotlin.coroutines.resume
+import kotlin.coroutines.resumeWithException
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.withTimeout
-import java.lang.IllegalArgumentException
-import java.util.concurrent.Executor
-import kotlin.coroutines.Continuation
-import kotlin.coroutines.resume
-import kotlin.coroutines.resumeWithException
/**
* Implementation of [TileClient] which can connect to a `TileService` in either the local
diff --git a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/TilesConnectionBinder.kt b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/TilesConnectionBinder.kt
index cb797f6..c015756 100644
--- a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/TilesConnectionBinder.kt
+++ b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/connection/TilesConnectionBinder.kt
@@ -23,6 +23,8 @@
import android.os.IBinder
import androidx.wear.tiles.TileProvider
import androidx.wear.tiles.TileService
+import java.util.concurrent.TimeUnit.SECONDS
+import kotlin.coroutines.resume
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
@@ -36,8 +38,6 @@
import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.withContext
import kotlinx.coroutines.withTimeout
-import java.util.concurrent.TimeUnit.SECONDS
-import kotlin.coroutines.resume
/**
* Connection binder for Tiles. This will connect to a {@link TileProvider} (with a timeout), and
diff --git a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/checkers/TimelineCheckerTest.kt b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/checkers/TimelineCheckerTest.kt
index be1d8a2..4222ae5 100644
--- a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/checkers/TimelineCheckerTest.kt
+++ b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/checkers/TimelineCheckerTest.kt
@@ -18,6 +18,8 @@
import androidx.wear.tiles.TilesTestRunner
import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.doReturn
@@ -25,8 +27,6 @@
import org.mockito.kotlin.mock
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
-import org.junit.Test
-import org.junit.runner.RunWith
@RunWith(TilesTestRunner::class)
class TimelineCheckerTest {
diff --git a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/DefaultTileClientTest.kt b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/DefaultTileClientTest.kt
index 26f99dc..7e800c9 100644
--- a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/DefaultTileClientTest.kt
+++ b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/DefaultTileClientTest.kt
@@ -22,6 +22,7 @@
import android.os.Looper
import androidx.concurrent.futures.await
import androidx.test.core.app.ApplicationProvider
+import androidx.wear.protolayout.protobuf.InvalidProtocolBufferException
import androidx.wear.tiles.RequestBuilders
import androidx.wear.tiles.ResourcesCallback
import androidx.wear.tiles.ResourcesData
@@ -37,13 +38,13 @@
import androidx.wear.tiles.TileRequestData
import androidx.wear.tiles.TilesTestRunner
import androidx.wear.tiles.proto.TileProto
-import androidx.wear.protolayout.protobuf.InvalidProtocolBufferException
import com.google.common.truth.Truth.assertThat
+import java.lang.IllegalArgumentException
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.Job
import kotlinx.coroutines.TimeoutCancellationException
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
-import kotlinx.coroutines.Job
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestDispatcher
import kotlinx.coroutines.test.TestScope
@@ -56,7 +57,6 @@
import org.junit.runner.RunWith
import org.robolectric.Shadows
import org.robolectric.annotation.Config
-import java.lang.IllegalArgumentException
@Config(manifest = Config.NONE)
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalStdlibApi::class)
diff --git a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/TilesConnectionBinderTest.kt b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/TilesConnectionBinderTest.kt
index 613fa1b..64ae254 100644
--- a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/TilesConnectionBinderTest.kt
+++ b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/connection/TilesConnectionBinderTest.kt
@@ -32,11 +32,12 @@
import androidx.wear.tiles.TileRequestData
import androidx.wear.tiles.TilesTestRunner
import com.google.common.truth.Truth.assertThat
+import java.lang.IllegalStateException
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.Job
import kotlinx.coroutines.TimeoutCancellationException
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
-import kotlinx.coroutines.Job
import kotlinx.coroutines.test.TestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
@@ -49,7 +50,6 @@
import org.junit.runner.RunWith
import org.robolectric.Shadows.shadowOf
import org.robolectric.annotation.Config
-import java.lang.IllegalStateException
@Config(manifest = Config.NONE)
@OptIn(ExperimentalCoroutinesApi::class)
diff --git a/wear/tiles/tiles-testing/src/main/java/androidx/wear/tiles/testing/TestTileClient.kt b/wear/tiles/tiles-testing/src/main/java/androidx/wear/tiles/testing/TestTileClient.kt
index 5d5858d..9b36360 100644
--- a/wear/tiles/tiles-testing/src/main/java/androidx/wear/tiles/testing/TestTileClient.kt
+++ b/wear/tiles/tiles-testing/src/main/java/androidx/wear/tiles/testing/TestTileClient.kt
@@ -27,11 +27,11 @@
import androidx.wear.tiles.client.TileClient
import androidx.wear.tiles.connection.DefaultTileClient
import com.google.common.util.concurrent.ListenableFuture
+import java.util.concurrent.Executor
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import org.robolectric.Shadows.shadowOf
import org.robolectric.android.controller.ServiceController
-import java.util.concurrent.Executor
/**
* [TileClient] for testing purposes. This will pass calls through to the given instance of
diff --git a/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TestTileClientTest.kt b/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TestTileClientTest.kt
index e437cc6..ed539b0 100644
--- a/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TestTileClientTest.kt
+++ b/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TestTileClientTest.kt
@@ -18,12 +18,12 @@
import android.os.Looper
import androidx.concurrent.futures.ResolvableFuture
+import androidx.wear.protolayout.ResourceBuilders
import androidx.wear.tiles.EventBuilders
import androidx.wear.tiles.RequestBuilders
import androidx.wear.tiles.TileBuilders
import androidx.wear.tiles.TileProvider
import androidx.wear.tiles.TileService
-import androidx.wear.protolayout.ResourceBuilders
import com.google.common.truth.Truth.assertThat
import com.google.common.util.concurrent.ListenableFuture
import org.junit.Before
diff --git a/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TileServiceViewAdapterTest.kt b/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TileServiceViewAdapterTest.kt
index 675e207..d197c38 100644
--- a/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TileServiceViewAdapterTest.kt
+++ b/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TileServiceViewAdapterTest.kt
@@ -16,11 +16,11 @@
package androidx.wear.tiles.tooling
-import androidx.wear.tiles.tooling.test.R
import android.app.Activity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.TextView
+import androidx.wear.tiles.tooling.test.R
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Before
diff --git a/wear/tiles/tiles-tooling/src/test/java/androidx/wear/tiles/tooling/FindMethodTest.kt b/wear/tiles/tiles-tooling/src/test/java/androidx/wear/tiles/tooling/FindMethodTest.kt
index 05337da..e84bbc5 100644
--- a/wear/tiles/tiles-tooling/src/test/java/androidx/wear/tiles/tooling/FindMethodTest.kt
+++ b/wear/tiles/tiles-tooling/src/test/java/androidx/wear/tiles/tooling/FindMethodTest.kt
@@ -16,10 +16,9 @@
package androidx.wear.tiles.tooling
-import org.junit.Test
-
import org.junit.Assert.assertEquals
import org.junit.Assert.fail
+import org.junit.Test
@Suppress("unused")
open class A {
diff --git a/wear/watchface/watchface-complications-data/src/main/java/androidx/wear/watchface/complications/data/Text.kt b/wear/watchface/watchface-complications-data/src/main/java/androidx/wear/watchface/complications/data/Text.kt
index 9d2d48f..0bdbfb6 100644
--- a/wear/watchface/watchface-complications-data/src/main/java/androidx/wear/watchface/complications/data/Text.kt
+++ b/wear/watchface/watchface-complications-data/src/main/java/androidx/wear/watchface/complications/data/Text.kt
@@ -22,8 +22,8 @@
import android.support.wearable.complications.ComplicationText as WireComplicationText
import android.support.wearable.complications.ComplicationText.TimeDifferenceBuilder as WireComplicationTextTimeDifferenceBuilder
import android.support.wearable.complications.ComplicationText.TimeFormatBuilder as WireComplicationTextTimeFormatBuilder
-import android.support.wearable.complications.TimeDependentText as WireTimeDependentText
import android.support.wearable.complications.TimeDependentText
+import android.support.wearable.complications.TimeDependentText as WireTimeDependentText
import android.support.wearable.complications.TimeDifferenceText
import android.text.style.ForegroundColorSpan
import android.text.style.LocaleSpan
diff --git a/wear/watchface/watchface-complications-data/src/test/java/androidx/wear/watchface/complications/data/TextTest.kt b/wear/watchface/watchface-complications-data/src/test/java/androidx/wear/watchface/complications/data/TextTest.kt
index 2125d4f..bdb7c92 100644
--- a/wear/watchface/watchface-complications-data/src/test/java/androidx/wear/watchface/complications/data/TextTest.kt
+++ b/wear/watchface/watchface-complications-data/src/test/java/androidx/wear/watchface/complications/data/TextTest.kt
@@ -18,8 +18,8 @@
import android.content.Context
import android.icu.util.TimeZone
-import android.support.wearable.complications.ComplicationText as WireComplicationText
import android.support.wearable.complications.ComplicationText
+import android.support.wearable.complications.ComplicationText as WireComplicationText
import android.support.wearable.complications.ComplicationText.TimeDifferenceBuilder as WireTimeDifferenceBuilder
import android.support.wearable.complications.ComplicationText.TimeFormatBuilder as WireTimeFormatBuilder
import android.support.wearable.complications.TimeFormatText
diff --git a/wear/wear-ongoing/src/test/java/androidx/wear/ongoing/OngoingActivityStatusTest.kt b/wear/wear-ongoing/src/test/java/androidx/wear/ongoing/OngoingActivityStatusTest.kt
index 31c702f..ca17fe6 100644
--- a/wear/wear-ongoing/src/test/java/androidx/wear/ongoing/OngoingActivityStatusTest.kt
+++ b/wear/wear-ongoing/src/test/java/androidx/wear/ongoing/OngoingActivityStatusTest.kt
@@ -3,6 +3,7 @@
import android.content.Context
import android.os.Build
import androidx.test.core.app.ApplicationProvider
+import java.lang.IllegalStateException
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Before
@@ -10,7 +11,6 @@
import org.junit.runner.RunWith
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
-import java.lang.IllegalStateException
@RunWith(PatchedRobolectricTestRunner::class)
@DoNotInstrument
diff --git a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt
index 2d0b389..1f175a9 100644
--- a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt
+++ b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/RemoteAuthTest.kt
@@ -29,13 +29,13 @@
import androidx.test.core.app.ApplicationProvider
import androidx.wear.phone.interactions.WearPhoneInteractionsTestRunner
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.Executor
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito
import org.robolectric.Shadows
import org.robolectric.annotation.Config
import org.robolectric.annotation.internal.DoNotInstrument
-import java.util.concurrent.Executor
/** Unit tests for [RemoteAuthClient]. */
@RunWith(WearPhoneInteractionsTestRunner::class)
diff --git a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerTest.kt b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerTest.kt
index 7946e50..e49909c 100644
--- a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerTest.kt
+++ b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerTest.kt
@@ -20,12 +20,12 @@
import android.content.pm.PackageManager
import androidx.wear.phone.interactions.WearPhoneInteractionsTestRunner
import com.google.common.truth.Truth.assertThat
+import java.util.Arrays
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
+import org.mockito.Mockito.`when`
import org.robolectric.annotation.internal.DoNotInstrument
-import java.util.Arrays
/** Unit tests for [BridgingManager]. */
@RunWith(WearPhoneInteractionsTestRunner::class)
diff --git a/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/RemoteActivityHelperTest.kt b/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/RemoteActivityHelperTest.kt
index b5c09d4..c043ba5 100644
--- a/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/RemoteActivityHelperTest.kt
+++ b/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/RemoteActivityHelperTest.kt
@@ -30,13 +30,14 @@
import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.DEFAULT_PACKAGE
import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.RESULT_FAILED
import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.RESULT_OK
+import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.getRemoteIntentResultReceiver
import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.getTargetIntent
import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.getTargetNodeId
-import androidx.wear.remote.interactions.RemoteActivityHelper.Companion.getRemoteIntentResultReceiver
import com.google.android.gms.tasks.Tasks
import com.google.android.gms.wearable.Node
import com.google.android.gms.wearable.NodeClient
-import org.mockito.kotlin.mock
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.Executor
import org.junit.Assert.assertEquals
import org.junit.Assert.assertThrows
import org.junit.Assert.assertTrue
@@ -47,11 +48,10 @@
import org.mockito.ArgumentMatchers.any
import org.mockito.Mock
import org.mockito.Mockito
+import org.mockito.kotlin.mock
import org.robolectric.Shadows.shadowOf
import org.robolectric.annotation.Config
import org.robolectric.annotation.Implements
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Executor
@RunWith(WearRemoteInteractionsTestRunner::class)
@Config(shadows = [RemoteActivityHelperTest.ActualResultReceiver::class])
diff --git a/wear/wear/src/androidTest/java/androidx/wear/widget/ArcLayoutTest.kt b/wear/wear/src/androidTest/java/androidx/wear/widget/ArcLayoutTest.kt
index 3409862..0c16c1a 100644
--- a/wear/wear/src/androidTest/java/androidx/wear/widget/ArcLayoutTest.kt
+++ b/wear/wear/src/androidTest/java/androidx/wear/widget/ArcLayoutTest.kt
@@ -54,6 +54,8 @@
import androidx.wear.widget.ArcLayout.LayoutParams.VERTICAL_ALIGN_OUTER
import androidx.wear.widget.util.AsyncViewActions.waitForMatchingView
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.CoreMatchers.any
import org.hamcrest.Matcher
@@ -63,8 +65,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@RunWith(Parameterized::class)
@MediumTest
diff --git a/wear/wear/src/androidTest/java/androidx/wear/widget/CurvedTextViewTest.kt b/wear/wear/src/androidTest/java/androidx/wear/widget/CurvedTextViewTest.kt
index 34cec3d..96c10c8 100644
--- a/wear/wear/src/androidTest/java/androidx/wear/widget/CurvedTextViewTest.kt
+++ b/wear/wear/src/androidTest/java/androidx/wear/widget/CurvedTextViewTest.kt
@@ -29,11 +29,11 @@
import androidx.test.filters.MediumTest
import androidx.test.screenshot.AndroidXScreenshotTestRule
import androidx.test.screenshot.assertAgainstGolden
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/WindowMetricsActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/WindowMetricsActivity.kt
index 4b0faa7..4bdc573 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/WindowMetricsActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/WindowMetricsActivity.kt
@@ -20,8 +20,8 @@
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.RecyclerView
-import androidx.window.layout.WindowMetricsCalculator
import androidx.window.demo.common.infolog.InfoLogAdapter
+import androidx.window.layout.WindowMetricsCalculator
class WindowMetricsActivity : AppCompatActivity() {
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt
index 7cfc7ee..a5fe754 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExampleWindowInitializer.kt
@@ -34,8 +34,8 @@
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.LEFT_TO_RIGHT
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.RIGHT_TO_LEFT
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.TOP_TO_BOTTOM
-import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
+import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
import androidx.window.embedding.SplitAttributesCalculatorParams
import androidx.window.embedding.SplitController
import androidx.window.embedding.SplitController.SplitSupportStatus.Companion.SPLIT_AVAILABLE
diff --git a/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt b/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt
index ccf2fc5..ccba465 100644
--- a/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt
+++ b/window/window-java/src/androidTest/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt
@@ -23,13 +23,13 @@
import androidx.window.layout.FoldingFeature
import androidx.window.layout.WindowInfoTracker
import androidx.window.layout.WindowLayoutInfo
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.receiveAsFlow
import org.junit.Assert.assertTrue
import org.junit.Test
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
/**
* Add a test for [WindowInfoTrackerCallbackAdapter] to verify adapted methods. Test converting
diff --git a/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerJavaAdapter.kt b/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerJavaAdapter.kt
index c2f21fe..3ea0c05 100644
--- a/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerJavaAdapter.kt
+++ b/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerJavaAdapter.kt
@@ -18,18 +18,18 @@
import android.app.Activity
import androidx.core.util.Consumer
+import androidx.window.area.WindowAreaController
import androidx.window.area.WindowAreaSessionCallback
import androidx.window.area.WindowAreaStatus
-import androidx.window.area.WindowAreaController
import androidx.window.core.ExperimentalWindowApi
+import java.util.concurrent.Executor
+import java.util.concurrent.locks.ReentrantLock
+import kotlin.concurrent.withLock
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
-import java.util.concurrent.Executor
-import java.util.concurrent.locks.ReentrantLock
-import kotlin.concurrent.withLock
/**
* An adapted interface for [WindowAreaController] that provides the information and
diff --git a/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapter.kt b/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapter.kt
index 35b10d3..1217182 100644
--- a/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapter.kt
+++ b/window/window-java/src/main/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapter.kt
@@ -18,21 +18,21 @@
import android.app.Activity
import android.content.Context
+import android.inputmethodservice.InputMethodService
import androidx.annotation.UiContext
import androidx.core.util.Consumer
-import android.inputmethodservice.InputMethodService
import androidx.window.core.ExperimentalWindowApi
import androidx.window.layout.WindowInfoTracker
import androidx.window.layout.WindowLayoutInfo
+import java.util.concurrent.Executor
+import java.util.concurrent.locks.ReentrantLock
+import kotlin.concurrent.withLock
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
-import java.util.concurrent.Executor
-import java.util.concurrent.locks.ReentrantLock
-import kotlin.concurrent.withLock
/**
* An adapted interface for [WindowInfoTracker] that allows listening for events via a callback
diff --git a/window/window-java/src/test/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt b/window/window-java/src/test/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt
index 639e073..f924a0f 100644
--- a/window/window-java/src/test/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt
+++ b/window/window-java/src/test/java/androidx/window/java/layout/WindowInfoTrackerCallbackAdapterTest.kt
@@ -19,14 +19,14 @@
import androidx.core.util.Consumer
import androidx.window.layout.WindowInfoTracker
import androidx.window.layout.WindowLayoutInfo
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.mock
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyNoMoreInteractions
import org.mockito.kotlin.whenever
-import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.runBlocking
-import org.junit.Test
class WindowInfoTrackerCallbackAdapterTest {
diff --git a/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoTrackerRxTest.kt b/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoTrackerRxTest.kt
index 7415e37..9c97bc5 100644
--- a/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoTrackerRxTest.kt
+++ b/window/window-rxjava2/src/androidTest/java/androidx/window/rxjava2/layout/WindowInfoTrackerRxTest.kt
@@ -22,10 +22,10 @@
import androidx.window.layout.FoldingFeature
import androidx.window.layout.WindowInfoTracker
import androidx.window.layout.WindowLayoutInfo
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import kotlinx.coroutines.flow.flowOf
import org.junit.Test
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
/**
* Tests for the RxJava 2 adapters.
diff --git a/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoTrackerRxTest.kt b/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoTrackerRxTest.kt
index b32bfa0..07de2d7 100644
--- a/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoTrackerRxTest.kt
+++ b/window/window-rxjava3/src/androidTest/java/androidx/window/rxjava3/layout/WindowInfoTrackerRxTest.kt
@@ -22,10 +22,10 @@
import androidx.window.layout.FoldingFeature
import androidx.window.layout.WindowInfoTracker
import androidx.window.layout.WindowLayoutInfo
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import kotlinx.coroutines.flow.flowOf
import org.junit.Test
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
/**
* Test for the adapter functions that convert to [io.reactivex.rxjava3.core.Observable] or
diff --git a/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityEmbeddingRule.kt b/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityEmbeddingRule.kt
index cd9fe23..70f2ba7 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityEmbeddingRule.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityEmbeddingRule.kt
@@ -31,6 +31,9 @@
* A [TestRule] that will stub out the behavior of [ActivityEmbeddingController] and
* [RuleController] with a more simple one that will support testing independent of the current
* platform.
+ *
+ * By default [ActivityEmbeddingRule] has values as if the developer has not opted in to the
+ * ActivityEmbedding feature. There are no set rules, and each [Activity] is not embedded.
*/
class ActivityEmbeddingRule : TestRule {
diff --git a/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityStackTesting.kt b/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityStackTesting.kt
index 3bbca06..ef38d1a 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityStackTesting.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/embedding/ActivityStackTesting.kt
@@ -21,17 +21,15 @@
import androidx.window.embedding.ActivityStack
/**
- * Creates an [ActivityStack] instance for testing, which defaults to an [ActivityStack] with
- * cross-process activities.
- *
- * The [activitiesInProcess] can be passed from the activity obtained from
- * [androidx.test.core.app.ActivityScenario] or even mock Activities.
+ * Creates an [ActivityStack] instance for testing. The default values are an empty list for
+ * [activitiesInProcess] but a false value for [isEmpty]. This is the same as being embedded with
+ * an [Activity] from another process.
*
* @param activitiesInProcess The [Activity] list with the same process of the host task with
- * empty list as the default value
+ * empty list as the default value.
* @param isEmpty Indicates whether this `ActivityStack` contains any [Activity] regardless of the
- * process with `false` as the default value
- * @return An [ActivityStack] instance for testing
+ * process with `false` as the default value.
+ * @return An [ActivityStack] instance for testing.
*/
@Suppress("FunctionName")
@JvmName("createTestActivityStack")
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/DisplayFeatureTesting.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/DisplayFeatureTesting.kt
index 2a065cb..ee66c4f 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/DisplayFeatureTesting.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/DisplayFeatureTesting.kt
@@ -42,10 +42,10 @@
* always cover the window in one dimension and that determines the other coordinates.
*
* @param activity that will house the [FoldingFeature].
- * @param center the center of the fold complementary to the orientation. For a [HORIZONTAL] fold,
- * this is the y-axis and for a [VERTICAL] fold this is the x-axis.
- * @param size the smaller dimension of the fold. The larger dimension always covers the entire
- * window.
+ * @param center the center of the fold complementary to the orientation in px. For a
+ * [HORIZONTAL] fold, this is the y-axis and for a [VERTICAL] fold this is the x-axis.
+ * @param size the smaller dimension of the fold in px. The larger dimension always covers the
+ * entire window.
* @param state [State] of the fold. The default value is [HALF_OPENED]
* @param orientation [Orientation] of the fold. The default value is [HORIZONTAL]
* @return [FoldingFeature] that is splitting if the width is not 0 and runs parallel to the
@@ -84,10 +84,10 @@
* always cover the window in one dimension and that determines the other coordinates.
*
* @param windowBounds that will contain the [FoldingFeature].
- * @param center the center of the fold complementary to the orientation. For a [HORIZONTAL] fold,
- * this is the y-axis and for a [VERTICAL] fold this is the x-axis.
- * @param size the smaller dimension of the fold. The larger dimension always covers the entire
- * window.
+ * @param center the center of the fold complementary to the orientation in px. For a
+ * [HORIZONTAL] fold, this is the y-axis and for a [VERTICAL] fold this is the x-axis.
+ * @param size the smaller dimension of the fold in px. The larger dimension always covers the
+ * entire window.
* @param state [State] of the fold. The default value is [HALF_OPENED]
* @param orientation [Orientation] of the fold. The default value is [HORIZONTAL]
* @return [FoldingFeature] that is splitting if the width is not 0 and runs parallel to the
diff --git a/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitAttributesCalculatorParamsTestingTest.kt b/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitAttributesCalculatorParamsTestingTest.kt
index f8e8ce2..66dc2e8 100644
--- a/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitAttributesCalculatorParamsTestingTest.kt
+++ b/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitAttributesCalculatorParamsTestingTest.kt
@@ -16,7 +16,6 @@
package androidx.window.testing.embedding
-import androidx.window.testing.layout.FoldingFeature as testFoldingFeature
import android.content.res.Configuration
import android.graphics.Rect
import androidx.window.core.ExperimentalWindowApi
@@ -27,6 +26,7 @@
import androidx.window.layout.FoldingFeature
import androidx.window.layout.WindowLayoutInfo
import androidx.window.layout.WindowMetrics
+import androidx.window.testing.layout.FoldingFeature as testFoldingFeature
import androidx.window.testing.layout.TestWindowLayoutInfo
import java.util.Collections
import org.junit.Assert.assertEquals
diff --git a/window/window/src/androidTest/java/androidx/window/area/WindowAreaControllerImplTest.kt b/window/window/src/androidTest/java/androidx/window/area/WindowAreaControllerImplTest.kt
index e796c8f..963966d 100644
--- a/window/window/src/androidTest/java/androidx/window/area/WindowAreaControllerImplTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/area/WindowAreaControllerImplTest.kt
@@ -24,19 +24,19 @@
import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.window.TestActivity
import androidx.window.TestConsumer
+import androidx.window.WindowTestUtils.Companion.assumeAtLeastVendorApiLevel
import androidx.window.core.ExperimentalWindowApi
import androidx.window.extensions.area.WindowAreaComponent
import androidx.window.extensions.core.util.function.Consumer
-import androidx.window.WindowTestUtils.Companion.assumeAtLeastVendorApiLevel
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.launch
-import org.junit.Rule
-import org.junit.Test
import kotlin.test.assertFailsWith
+import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
+import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
+import org.junit.Rule
+import org.junit.Test
@OptIn(ExperimentalCoroutinesApi::class, ExperimentalWindowApi::class)
class WindowAreaControllerImplTest {
diff --git a/window/window/src/androidTest/java/androidx/window/embedding/ActivityFilterTest.kt b/window/window/src/androidTest/java/androidx/window/embedding/ActivityFilterTest.kt
index ec34298..d927096 100644
--- a/window/window/src/androidTest/java/androidx/window/embedding/ActivityFilterTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/embedding/ActivityFilterTest.kt
@@ -20,12 +20,12 @@
import android.content.ComponentName
import android.content.Intent
import com.google.common.truth.Truth.assertWithMessage
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
/**
* Integration test for [ActivityFilter] to test construction from [ComponentName].
diff --git a/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt b/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt
index 9d0aaba..6d76005 100644
--- a/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/embedding/EmbeddingAdapterTest.kt
@@ -16,9 +16,6 @@
package androidx.window.embedding
-import androidx.window.extensions.embedding.ActivityStack as OEMActivityStack
-import androidx.window.extensions.embedding.SplitAttributes as OEMSplitAttributes
-import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
import android.app.Activity
import androidx.window.WindowTestUtils
import androidx.window.core.ExtensionsUtil
@@ -26,13 +23,16 @@
import androidx.window.embedding.SplitAttributes.SplitType
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
import androidx.window.extensions.WindowExtensions
+import androidx.window.extensions.embedding.ActivityStack as OEMActivityStack
+import androidx.window.extensions.embedding.SplitAttributes as OEMSplitAttributes
import androidx.window.extensions.embedding.SplitAttributes.LayoutDirection.TOP_TO_BOTTOM
import androidx.window.extensions.embedding.SplitAttributes.SplitType.RatioSplitType
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.whenever
+import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
/** Tests for [EmbeddingAdapter] */
class EmbeddingAdapterTest {
diff --git a/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackendTest.kt b/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackendTest.kt
index ff28be7..67f29671 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackendTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackendTest.kt
@@ -16,10 +16,6 @@
package androidx.window.layout.adapter.extensions
-import androidx.window.extensions.core.util.function.Consumer as OEMConsumer
-import androidx.window.extensions.layout.FoldingFeature as OEMFoldingFeature
-import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
-import java.util.function.Consumer as JavaConsumer
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
@@ -37,19 +33,16 @@
import androidx.window.core.ConsumerAdapter
import androidx.window.core.ExtensionsUtil
import androidx.window.extensions.WindowExtensions
+import androidx.window.extensions.core.util.function.Consumer as OEMConsumer
+import androidx.window.extensions.layout.FoldingFeature as OEMFoldingFeature
import androidx.window.extensions.layout.FoldingFeature.STATE_FLAT
import androidx.window.extensions.layout.FoldingFeature.TYPE_HINGE
import androidx.window.extensions.layout.WindowLayoutComponent
+import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import androidx.window.layout.WindowLayoutInfo
import androidx.window.layout.WindowMetricsCalculatorCompat
import androidx.window.layout.adapter.extensions.ExtensionsWindowLayoutInfoAdapter.translate
-import org.mockito.kotlin.any
-import org.mockito.kotlin.argumentCaptor
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
-import org.mockito.kotlin.whenever
+import java.util.function.Consumer as JavaConsumer
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
@@ -58,6 +51,13 @@
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
class ExtensionWindowLayoutInfoBackendTest {
diff --git a/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapterTest.kt b/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapterTest.kt
index 376cf74..02f89fe 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapterTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapterTest.kt
@@ -16,8 +16,6 @@
package androidx.window.layout.adapter.extensions
-import androidx.window.extensions.layout.FoldingFeature as OEMFoldingFeature
-import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import android.graphics.Rect
import android.os.Build
import androidx.annotation.RequiresApi
@@ -25,8 +23,10 @@
import androidx.window.TestActivity
import androidx.window.WindowTestUtils
import androidx.window.core.Bounds
+import androidx.window.extensions.layout.FoldingFeature as OEMFoldingFeature
import androidx.window.extensions.layout.FoldingFeature.STATE_HALF_OPENED
import androidx.window.extensions.layout.FoldingFeature.TYPE_HINGE
+import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import androidx.window.layout.FoldingFeature.State.Companion.HALF_OPENED
import androidx.window.layout.HardwareFoldingFeature
import androidx.window.layout.HardwareFoldingFeature.Type.Companion.HINGE
diff --git a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatDeviceTest.kt b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatDeviceTest.kt
index 8d3873e..8a36b00 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatDeviceTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatDeviceTest.kt
@@ -28,19 +28,13 @@
import androidx.window.core.VerificationMode.QUIET
import androidx.window.core.Version
import androidx.window.layout.HardwareFoldingFeature
-import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.layout.HardwareFoldingFeature.Type
import androidx.window.layout.HardwareFoldingFeature.Type.Companion.FOLD
import androidx.window.layout.HardwareFoldingFeature.Type.Companion.HINGE
import androidx.window.layout.WindowLayoutInfo
+import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.sidecar.SidecarDisplayFeature
import androidx.window.sidecar.SidecarWindowLayoutInfo
-import org.mockito.kotlin.any
-import org.mockito.kotlin.argThat
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
@@ -51,6 +45,12 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatcher
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
/**
* Tests for [SidecarCompat] implementation of [ExtensionInterfaceCompat] that are
diff --git a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatTest.kt b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatTest.kt
index 305c4f8..e8e0ff1 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarCompatTest.kt
@@ -31,7 +31,6 @@
import androidx.window.WindowTestBase
import androidx.window.core.Bounds
import androidx.window.layout.FoldingFeature
-import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.layout.FoldingFeature.State.Companion.FLAT
import androidx.window.layout.FoldingFeature.State.Companion.HALF_OPENED
import androidx.window.layout.HardwareFoldingFeature
@@ -39,11 +38,18 @@
import androidx.window.layout.TestFoldingFeatureUtil.invalidFoldBounds
import androidx.window.layout.TestFoldingFeatureUtil.validFoldBound
import androidx.window.layout.WindowLayoutInfo
+import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.sidecar.SidecarDeviceState
import androidx.window.sidecar.SidecarDisplayFeature
import androidx.window.sidecar.SidecarInterface
import androidx.window.sidecar.SidecarInterface.SidecarCallback
import androidx.window.sidecar.SidecarWindowLayoutInfo
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertNotNull
+import org.junit.Assert.assertTrue
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.argThat
import org.mockito.kotlin.argumentCaptor
@@ -57,12 +63,6 @@
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyZeroInteractions
import org.mockito.kotlin.whenever
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertNotNull
-import org.junit.Assert.assertTrue
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
/**
* Tests for [SidecarCompat] implementation of [ExtensionInterfaceCompat]. This class
diff --git a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendIntegrationTest.kt b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendIntegrationTest.kt
index 46ae397..283faac 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendIntegrationTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendIntegrationTest.kt
@@ -37,11 +37,7 @@
import androidx.window.layout.WindowLayoutInfo
import androidx.window.layout.WindowMetricsCalculator
import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
-import org.mockito.kotlin.any
-import org.mockito.kotlin.argThat
-import org.mockito.kotlin.atLeastOnce
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
+import java.util.HashSet
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Assume
@@ -50,7 +46,11 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatcher
-import java.util.HashSet
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.atLeastOnce
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
/** Tests for the extension implementation on the device. */
@LargeTest
diff --git a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendTest.kt b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendTest.kt
index 434cc92..43daf25 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendTest.kt
@@ -30,10 +30,6 @@
import androidx.window.layout.HardwareFoldingFeature.Type.Companion.HINGE
import androidx.window.layout.WindowLayoutInfo
import com.google.common.util.concurrent.MoreExecutors
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
@@ -41,6 +37,10 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
/** Tests for [SidecarWindowBackend] class. */
@LargeTest
diff --git a/window/window/src/main/java/androidx/window/area/EmptyWindowAreaControllerImpl.kt b/window/window/src/main/java/androidx/window/area/EmptyWindowAreaControllerImpl.kt
index d56eccb..de0971a 100644
--- a/window/window/src/main/java/androidx/window/area/EmptyWindowAreaControllerImpl.kt
+++ b/window/window/src/main/java/androidx/window/area/EmptyWindowAreaControllerImpl.kt
@@ -18,9 +18,9 @@
import android.app.Activity
import androidx.window.core.ExperimentalWindowApi
+import java.util.concurrent.Executor
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOf
-import java.util.concurrent.Executor
/**
* Empty Implementation for devices that do not
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt
index 6dd98b7..3340a8b 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingAdapter.kt
@@ -16,23 +16,12 @@
package androidx.window.embedding
-import android.util.Pair as AndroidPair
-import androidx.window.extensions.embedding.ActivityRule as OEMActivityRule
-import androidx.window.extensions.embedding.ActivityRule.Builder as ActivityRuleBuilder
-import androidx.window.extensions.embedding.EmbeddingRule as OEMEmbeddingRule
-import androidx.window.extensions.embedding.SplitAttributes as OEMSplitAttributes
-import androidx.window.extensions.embedding.SplitAttributes.SplitType as OEMSplitType
-import androidx.window.extensions.embedding.SplitAttributesCalculatorParams as OEMSplitAttributesCalculatorParams
-import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
-import androidx.window.extensions.embedding.SplitPairRule as OEMSplitPairRule
-import androidx.window.extensions.embedding.SplitPairRule.Builder as SplitPairRuleBuilder
-import androidx.window.extensions.embedding.SplitPlaceholderRule as OEMSplitPlaceholderRule
-import androidx.window.extensions.embedding.SplitPlaceholderRule.Builder as SplitPlaceholderRuleBuilder
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.util.LayoutDirection
+import android.util.Pair as AndroidPair
import android.view.WindowMetrics
import androidx.window.core.ExperimentalWindowApi
import androidx.window.core.ExtensionsUtil
@@ -43,17 +32,28 @@
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.RIGHT_TO_LEFT
import androidx.window.embedding.SplitAttributes.LayoutDirection.Companion.TOP_TO_BOTTOM
import androidx.window.embedding.SplitAttributes.SplitType
-import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EQUAL
import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_EXPAND
+import androidx.window.embedding.SplitAttributes.SplitType.Companion.SPLIT_TYPE_HINGE
import androidx.window.embedding.SplitAttributes.SplitType.Companion.ratio
import androidx.window.extensions.WindowExtensions
import androidx.window.extensions.core.util.function.Function
import androidx.window.extensions.core.util.function.Predicate
+import androidx.window.extensions.embedding.ActivityRule as OEMActivityRule
+import androidx.window.extensions.embedding.ActivityRule.Builder as ActivityRuleBuilder
+import androidx.window.extensions.embedding.EmbeddingRule as OEMEmbeddingRule
+import androidx.window.extensions.embedding.SplitAttributes as OEMSplitAttributes
+import androidx.window.extensions.embedding.SplitAttributes.SplitType as OEMSplitType
import androidx.window.extensions.embedding.SplitAttributes.SplitType.RatioSplitType
+import androidx.window.extensions.embedding.SplitAttributesCalculatorParams as OEMSplitAttributesCalculatorParams
+import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
+import androidx.window.extensions.embedding.SplitPairRule as OEMSplitPairRule
+import androidx.window.extensions.embedding.SplitPairRule.Builder as SplitPairRuleBuilder
import androidx.window.extensions.embedding.SplitPairRule.FINISH_ADJACENT
import androidx.window.extensions.embedding.SplitPairRule.FINISH_ALWAYS
import androidx.window.extensions.embedding.SplitPairRule.FINISH_NEVER
+import androidx.window.extensions.embedding.SplitPlaceholderRule as OEMSplitPlaceholderRule
+import androidx.window.extensions.embedding.SplitPlaceholderRule.Builder as SplitPlaceholderRuleBuilder
import androidx.window.layout.WindowMetricsCalculator
import androidx.window.layout.adapter.extensions.ExtensionsWindowLayoutInfoAdapter
import kotlin.Pair
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingCompat.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingCompat.kt
index 6a1248c..d54b21a 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingCompat.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingCompat.kt
@@ -16,7 +16,6 @@
package androidx.window.embedding
-import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
import android.app.Activity
import android.content.Context
import android.util.Log
@@ -31,6 +30,7 @@
import androidx.window.extensions.WindowExtensionsProvider
import androidx.window.extensions.core.util.function.Consumer
import androidx.window.extensions.embedding.ActivityEmbeddingComponent
+import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
import java.lang.reflect.Proxy
/**
diff --git a/window/window/src/main/java/androidx/window/embedding/SafeActivityEmbeddingComponentProvider.kt b/window/window/src/main/java/androidx/window/embedding/SafeActivityEmbeddingComponentProvider.kt
index 92965c3..be35e2a 100644
--- a/window/window/src/main/java/androidx/window/embedding/SafeActivityEmbeddingComponentProvider.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SafeActivityEmbeddingComponentProvider.kt
@@ -18,6 +18,7 @@
import android.app.Activity
import androidx.annotation.VisibleForTesting
+import androidx.window.SafeWindowExtensionsProvider
import androidx.window.core.ConsumerAdapter
import androidx.window.core.ExtensionsUtil
import androidx.window.extensions.WindowExtensions
@@ -27,7 +28,6 @@
import androidx.window.reflection.ReflectionUtils.doesReturn
import androidx.window.reflection.ReflectionUtils.isPublic
import androidx.window.reflection.ReflectionUtils.validateReflection
-import androidx.window.SafeWindowExtensionsProvider
import androidx.window.reflection.WindowExtensionsConstants.ACTIVITY_EMBEDDING_COMPONENT_CLASS
/**
diff --git a/window/window/src/main/java/androidx/window/layout/SafeWindowLayoutComponentProvider.kt b/window/window/src/main/java/androidx/window/layout/SafeWindowLayoutComponentProvider.kt
index b9dcbef..047a14c 100644
--- a/window/window/src/main/java/androidx/window/layout/SafeWindowLayoutComponentProvider.kt
+++ b/window/window/src/main/java/androidx/window/layout/SafeWindowLayoutComponentProvider.kt
@@ -20,6 +20,7 @@
import android.content.Context
import android.graphics.Rect
import androidx.annotation.VisibleForTesting
+import androidx.window.SafeWindowExtensionsProvider
import androidx.window.core.ConsumerAdapter
import androidx.window.core.ExtensionsUtil
import androidx.window.extensions.WindowExtensions
@@ -29,7 +30,6 @@
import androidx.window.reflection.ReflectionUtils.doesReturn
import androidx.window.reflection.ReflectionUtils.isPublic
import androidx.window.reflection.ReflectionUtils.validateReflection
-import androidx.window.SafeWindowExtensionsProvider
import androidx.window.reflection.WindowExtensionsConstants.FOLDING_FEATURE_CLASS
import androidx.window.reflection.WindowExtensionsConstants.JAVA_CONSUMER
import androidx.window.reflection.WindowExtensionsConstants.WINDOW_CONSUMER
diff --git a/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculator.kt b/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculator.kt
index 8d8151e..94dd455 100644
--- a/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculator.kt
+++ b/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculator.kt
@@ -16,12 +16,12 @@
package androidx.window.layout
-import android.view.WindowMetrics as AndroidWindowMetrics
import android.app.Activity
import android.content.Context
import android.inputmethodservice.InputMethodService
import android.os.Build
import android.view.Display
+import android.view.WindowMetrics as AndroidWindowMetrics
import androidx.annotation.RequiresApi
import androidx.annotation.RestrictTo
import androidx.annotation.UiContext
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/WindowBackend.kt b/window/window/src/main/java/androidx/window/layout/adapter/WindowBackend.kt
index 3524cb1..efb74a0 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/WindowBackend.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/WindowBackend.kt
@@ -17,10 +17,10 @@
import android.app.Activity
import android.content.Context
+import androidx.annotation.UiContext
import androidx.core.util.Consumer
import androidx.window.layout.WindowLayoutInfo
import java.util.concurrent.Executor
-import androidx.annotation.UiContext
/**
* Backing interface for [androidx.window.layout.WindowInfoTracker] instances that serve as the
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackend.kt b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackend.kt
index 64e60f8..9de412a 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackend.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowLayoutInfoBackend.kt
@@ -16,8 +16,6 @@
package androidx.window.layout.adapter.extensions
-import androidx.window.extensions.core.util.function.Consumer as OEMConsumer
-import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import android.app.Activity
import android.content.Context
import androidx.annotation.GuardedBy
@@ -27,7 +25,9 @@
import androidx.window.core.ConsumerAdapter
import androidx.window.core.ExtensionsUtil
import androidx.window.extensions.WindowExtensions
+import androidx.window.extensions.core.util.function.Consumer as OEMConsumer
import androidx.window.extensions.layout.WindowLayoutComponent
+import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import androidx.window.layout.WindowLayoutInfo
import androidx.window.layout.adapter.WindowBackend
import androidx.window.layout.adapter.extensions.ExtensionsWindowLayoutInfoAdapter.translate
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapter.kt b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapter.kt
index ed9f74d..5f4a31b 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapter.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionsWindowLayoutInfoAdapter.kt
@@ -16,13 +16,13 @@
package androidx.window.layout.adapter.extensions
-import androidx.window.extensions.layout.FoldingFeature as OEMFoldingFeature
-import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import android.app.Activity
import android.content.Context
import android.os.Build
import androidx.annotation.UiContext
import androidx.window.core.Bounds
+import androidx.window.extensions.layout.FoldingFeature as OEMFoldingFeature
+import androidx.window.extensions.layout.WindowLayoutInfo as OEMWindowLayoutInfo
import androidx.window.layout.FoldingFeature
import androidx.window.layout.FoldingFeature.State.Companion.FLAT
import androidx.window.layout.FoldingFeature.State.Companion.HALF_OPENED
diff --git a/window/window/src/test/java/androidx/window/core/ConsumerAdapterTest.kt b/window/window/src/test/java/androidx/window/core/ConsumerAdapterTest.kt
index cc18d1e..22dd2b4 100644
--- a/window/window/src/test/java/androidx/window/core/ConsumerAdapterTest.kt
+++ b/window/window/src/test/java/androidx/window/core/ConsumerAdapterTest.kt
@@ -20,11 +20,11 @@
import android.app.Activity
import android.content.Context
import android.os.Build
-import org.mockito.kotlin.mock
import java.util.function.Consumer
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
+import org.mockito.kotlin.mock
/**
* Tests for [ConsumerAdapter] ensuring that the reflection calls work as expected.
diff --git a/window/window/src/test/java/androidx/window/core/SpecificationComputerTest.kt b/window/window/src/test/java/androidx/window/core/SpecificationComputerTest.kt
index a527f04..848f97a 100644
--- a/window/window/src/test/java/androidx/window/core/SpecificationComputerTest.kt
+++ b/window/window/src/test/java/androidx/window/core/SpecificationComputerTest.kt
@@ -20,15 +20,15 @@
import androidx.window.core.VerificationMode.LOG
import androidx.window.core.VerificationMode.QUIET
import androidx.window.core.VerificationMode.STRICT
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.verify
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Test
import org.mockito.ArgumentMatchers.contains
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
/**
* Tests [SpecificationComputer] to verify the following behaviors.
diff --git a/window/window/src/test/java/androidx/window/embedding/EmbeddingCompatTest.kt b/window/window/src/test/java/androidx/window/embedding/EmbeddingCompatTest.kt
index aa9e3f1..029aa99 100644
--- a/window/window/src/test/java/androidx/window/embedding/EmbeddingCompatTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/EmbeddingCompatTest.kt
@@ -16,8 +16,6 @@
package androidx.window.embedding
-import java.util.function.Consumer as JavaConsumer
-import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
import android.app.Activity
import androidx.window.core.ConsumerAdapter
import androidx.window.core.ExtensionsUtil
@@ -25,6 +23,8 @@
import androidx.window.extensions.WindowExtensions.VENDOR_API_LEVEL_2
import androidx.window.extensions.core.util.function.Consumer
import androidx.window.extensions.embedding.ActivityEmbeddingComponent
+import androidx.window.extensions.embedding.SplitInfo as OEMSplitInfo
+import java.util.function.Consumer as JavaConsumer
import org.junit.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.mock
diff --git a/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarCompatUnitTest.kt b/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarCompatUnitTest.kt
index 6af845c..b7dddc4 100644
--- a/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarCompatUnitTest.kt
+++ b/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarCompatUnitTest.kt
@@ -25,15 +25,18 @@
import android.view.Window
import android.view.WindowManager
import androidx.window.TestWindow
-import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.layout.TestFoldingFeatureUtil.invalidFoldBounds
import androidx.window.layout.TestFoldingFeatureUtil.validFoldBound
import androidx.window.layout.WindowLayoutInfo
+import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.sidecar.SidecarDeviceState
import androidx.window.sidecar.SidecarDisplayFeature
import androidx.window.sidecar.SidecarInterface
import androidx.window.sidecar.SidecarInterface.SidecarCallback
import androidx.window.sidecar.SidecarWindowLayoutInfo
+import org.junit.Assert.assertEquals
+import org.junit.Before
+import org.junit.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.doAnswer
import org.mockito.kotlin.doReturn
@@ -42,9 +45,6 @@
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
-import org.junit.Assert.assertEquals
-import org.junit.Before
-import org.junit.Test
/**
* Unit tests for [SidecarCompat] that run on the JVM.
diff --git a/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendUnitTest.kt b/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendUnitTest.kt
index f286aa1..dc01b98 100644
--- a/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendUnitTest.kt
+++ b/window/window/src/test/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackendUnitTest.kt
@@ -20,16 +20,16 @@
import androidx.core.util.Consumer
import androidx.window.layout.WindowLayoutInfo
import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
-import org.mockito.kotlin.any
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
-import org.mockito.kotlin.verify
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
+import org.mockito.kotlin.any
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
/**
* Unit tests for [SidecarWindowBackend] that run on the JVM.
diff --git a/window/window/src/testUtil/java/androidx/window/layout/adapter/sidecar/SwitchOnUnregisterExtensionInterfaceCompat.kt b/window/window/src/testUtil/java/androidx/window/layout/adapter/sidecar/SwitchOnUnregisterExtensionInterfaceCompat.kt
index 1af0445..d902e75 100644
--- a/window/window/src/testUtil/java/androidx/window/layout/adapter/sidecar/SwitchOnUnregisterExtensionInterfaceCompat.kt
+++ b/window/window/src/testUtil/java/androidx/window/layout/adapter/sidecar/SwitchOnUnregisterExtensionInterfaceCompat.kt
@@ -20,13 +20,13 @@
import androidx.annotation.GuardedBy
import androidx.window.core.Bounds
import androidx.window.layout.FoldingFeature
-import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import androidx.window.layout.FoldingFeature.State
import androidx.window.layout.FoldingFeature.State.Companion.FLAT
import androidx.window.layout.FoldingFeature.State.Companion.HALF_OPENED
import androidx.window.layout.HardwareFoldingFeature
import androidx.window.layout.HardwareFoldingFeature.Type.Companion.HINGE
import androidx.window.layout.WindowLayoutInfo
+import androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat.ExtensionCallbackInterface
import java.util.concurrent.locks.Lock
import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteService.kt b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteService.kt
index 98a2ffd..b1a8714 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteService.kt
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteService.kt
@@ -31,11 +31,11 @@
import androidx.work.WorkQuery
import androidx.work.await
import androidx.work.multiprocess.RemoteWorkManager
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
-import java.util.concurrent.TimeUnit
class RemoteService : LifecycleService() {
diff --git a/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/DispatchingExecutor.kt b/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/DispatchingExecutor.kt
index 84bf03b..9f3beef 100644
--- a/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/DispatchingExecutor.kt
+++ b/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/DispatchingExecutor.kt
@@ -16,12 +16,12 @@
package androidx.work.benchmark
+import java.util.concurrent.Executor
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
-import java.util.concurrent.Executor
/**
* An [Executor] where we can await termination of all commands.
diff --git a/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/MarshallingBenchmark.kt b/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/MarshallingBenchmark.kt
index e174f59..d362916 100644
--- a/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/MarshallingBenchmark.kt
+++ b/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/MarshallingBenchmark.kt
@@ -31,11 +31,11 @@
import androidx.work.multiprocess.parcelable.ParcelConverters
import androidx.work.multiprocess.parcelable.ParcelableConstraints
import androidx.work.multiprocess.parcelable.ParcelableWorkRequest
+import java.util.concurrent.TimeUnit
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/GcmTaskConverterTest.kt b/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/GcmTaskConverterTest.kt
index 0660ca2..da05ab5 100644
--- a/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/GcmTaskConverterTest.kt
+++ b/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/GcmTaskConverterTest.kt
@@ -27,16 +27,16 @@
import androidx.work.impl.WorkManagerImpl
import androidx.work.impl.background.gcm.GcmTaskConverter.EXECUTION_WINDOW_SIZE_IN_SECONDS
import com.google.android.gms.gcm.Task
+import java.util.concurrent.TimeUnit
+import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.greaterThan
import org.hamcrest.Matchers.lessThanOrEqualTo
import org.junit.Assert.assertEquals
-import org.hamcrest.MatcherAssert.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.spy
-import java.util.concurrent.TimeUnit
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcherTest.kt b/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcherTest.kt
index 7e14f39..b3b56f5 100644
--- a/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcherTest.kt
+++ b/work/work-gcm/src/androidTest/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcherTest.kt
@@ -26,27 +26,27 @@
import androidx.work.Configuration
import androidx.work.OneTimeWorkRequest
import androidx.work.impl.TestWorkManagerImpl
-import androidx.work.impl.model.WorkGenerationalId
import androidx.work.impl.WorkManagerImpl
+import androidx.work.impl.model.WorkGenerationalId
import androidx.work.impl.utils.SerialExecutorImpl
import androidx.work.impl.utils.SynchronousExecutor
import androidx.work.impl.utils.WorkTimer
import androidx.work.impl.utils.taskexecutor.SerialExecutor
import com.google.android.gms.gcm.GcmNetworkManager
import com.google.android.gms.gcm.TaskParams
+import java.util.concurrent.Executor
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.anyLong
import org.mockito.ArgumentMatchers.eq
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.atLeastOnce
import org.mockito.Mockito.mock
import org.mockito.Mockito.spy
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
-import java.util.concurrent.Executor
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
@MediumTest
diff --git a/work/work-inspection/src/androidTest/java/androidx/work/inspection/DispatchingExecutor.kt b/work/work-inspection/src/androidTest/java/androidx/work/inspection/DispatchingExecutor.kt
index 772f31f..68643032 100644
--- a/work/work-inspection/src/androidTest/java/androidx/work/inspection/DispatchingExecutor.kt
+++ b/work/work-inspection/src/androidTest/java/androidx/work/inspection/DispatchingExecutor.kt
@@ -16,12 +16,12 @@
package androidx.work.inspection
+import java.util.concurrent.Executor
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
-import java.util.concurrent.Executor
/**
* An [Executor] where we can await termination of all commands.
diff --git a/work/work-inspection/src/androidTest/java/androidx/work/inspection/worker/IdleWorker.kt b/work/work-inspection/src/androidTest/java/androidx/work/inspection/worker/IdleWorker.kt
index e5e63e7..c4ba239 100644
--- a/work/work-inspection/src/androidTest/java/androidx/work/inspection/worker/IdleWorker.kt
+++ b/work/work-inspection/src/androidTest/java/androidx/work/inspection/worker/IdleWorker.kt
@@ -19,9 +19,9 @@
import android.content.Context
import androidx.work.Worker
import androidx.work.WorkerParameters
+import kotlin.time.Duration
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
-import kotlin.time.Duration
class IdleWorker(
context: Context,
diff --git a/work/work-lint/src/main/java/androidx/work/lint/IdleBatteryChargingConstraintsDetector.kt b/work/work-lint/src/main/java/androidx/work/lint/IdleBatteryChargingConstraintsDetector.kt
index a0f5d40..975a5a8 100644
--- a/work/work-lint/src/main/java/androidx/work/lint/IdleBatteryChargingConstraintsDetector.kt
+++ b/work/work-lint/src/main/java/androidx/work/lint/IdleBatteryChargingConstraintsDetector.kt
@@ -28,6 +28,7 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UBlockExpression
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UQualifiedReferenceExpression
@@ -35,7 +36,6 @@
import org.jetbrains.uast.getParentOfType
import org.jetbrains.uast.toUElement
import org.jetbrains.uast.visitor.AbstractUastVisitor
-import java.util.EnumSet
/**
* Warns when a developer uses both idle + battery charging constraints in WorkManager.
diff --git a/work/work-lint/src/main/java/androidx/work/lint/InvalidPeriodicWorkRequestIntervalDetector.kt b/work/work-lint/src/main/java/androidx/work/lint/InvalidPeriodicWorkRequestIntervalDetector.kt
index a4c7cf6..6404e126cc 100644
--- a/work/work-lint/src/main/java/androidx/work/lint/InvalidPeriodicWorkRequestIntervalDetector.kt
+++ b/work/work-lint/src/main/java/androidx/work/lint/InvalidPeriodicWorkRequestIntervalDetector.kt
@@ -27,11 +27,11 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
+import java.util.concurrent.TimeUnit
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
import org.jetbrains.uast.UCallExpression
-import java.util.EnumSet
-import java.util.concurrent.TimeUnit
/**
* Ensures a valid interval duration for a `PeriodicWorkRequest`.
diff --git a/work/work-lint/src/main/java/androidx/work/lint/RxWorkerSetProgressDetector.kt b/work/work-lint/src/main/java/androidx/work/lint/RxWorkerSetProgressDetector.kt
index 41a6ac4..f2c1f5d 100644
--- a/work/work-lint/src/main/java/androidx/work/lint/RxWorkerSetProgressDetector.kt
+++ b/work/work-lint/src/main/java/androidx/work/lint/RxWorkerSetProgressDetector.kt
@@ -28,8 +28,8 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
-import org.jetbrains.uast.UCallExpression
import java.util.EnumSet
+import org.jetbrains.uast.UCallExpression
class RxWorkerSetProgressDetector : Detector(), SourceCodeScanner {
companion object {
diff --git a/work/work-lint/src/main/java/androidx/work/lint/SpecifyForegroundServiceTypeIssueDetector.kt b/work/work-lint/src/main/java/androidx/work/lint/SpecifyForegroundServiceTypeIssueDetector.kt
index 0d6e67d..c4f30bf 100644
--- a/work/work-lint/src/main/java/androidx/work/lint/SpecifyForegroundServiceTypeIssueDetector.kt
+++ b/work/work-lint/src/main/java/androidx/work/lint/SpecifyForegroundServiceTypeIssueDetector.kt
@@ -31,9 +31,9 @@
import com.android.tools.lint.detector.api.XmlContext
import com.android.tools.lint.detector.api.XmlScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.w3c.dom.Element
-import java.util.EnumSet
/**
* Detects usage of `ForegroundInfo` with the `foregroundServiceType` and ensure that the service
diff --git a/work/work-lint/src/main/java/androidx/work/lint/SpecifyJobSchedulerIdRangeIssueDetector.kt b/work/work-lint/src/main/java/androidx/work/lint/SpecifyJobSchedulerIdRangeIssueDetector.kt
index e3245f8..5d1a66d 100644
--- a/work/work-lint/src/main/java/androidx/work/lint/SpecifyJobSchedulerIdRangeIssueDetector.kt
+++ b/work/work-lint/src/main/java/androidx/work/lint/SpecifyJobSchedulerIdRangeIssueDetector.kt
@@ -29,9 +29,9 @@
import com.android.tools.lint.detector.api.Severity
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UClass
-import java.util.EnumSet
class SpecifyJobSchedulerIdRangeIssueDetector : Detector(), SourceCodeScanner {
companion object {
diff --git a/work/work-lint/src/main/java/androidx/work/lint/WorkerHasPublicModifierDetector.kt b/work/work-lint/src/main/java/androidx/work/lint/WorkerHasPublicModifierDetector.kt
index a5730e6..b3c794b7 100644
--- a/work/work-lint/src/main/java/androidx/work/lint/WorkerHasPublicModifierDetector.kt
+++ b/work/work-lint/src/main/java/androidx/work/lint/WorkerHasPublicModifierDetector.kt
@@ -30,9 +30,9 @@
import com.android.tools.lint.detector.api.SourceCodeScanner
import com.intellij.lang.jvm.JvmModifier
import com.intellij.psi.PsiMethod
+import java.util.EnumSet
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UClass
-import java.util.EnumSet
class WorkerHasPublicModifierDetector : Detector(), SourceCodeScanner {
companion object {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ListenableWorkerImplClientTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ListenableWorkerImplClientTest.kt
index 65381d0..4f225a8 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ListenableWorkerImplClientTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ListenableWorkerImplClientTest.kt
@@ -28,6 +28,7 @@
import androidx.work.impl.utils.SerialExecutorImpl
import androidx.work.impl.utils.futures.SettableFuture
import androidx.work.impl.utils.taskexecutor.TaskExecutor
+import java.util.concurrent.Executor
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
@@ -37,11 +38,10 @@
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.anyString
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
-import java.util.concurrent.Executor
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
public class ListenableWorkerImplClientTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkContinuationImplTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkContinuationImplTest.kt
index d0d6eee..4e96412 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkContinuationImplTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkContinuationImplTest.kt
@@ -36,14 +36,14 @@
import androidx.work.multiprocess.parcelable.ParcelConverters.marshall
import androidx.work.multiprocess.parcelable.ParcelConverters.unmarshall
import androidx.work.multiprocess.parcelable.ParcelableWorkContinuationImpl
+import java.util.concurrent.Executor
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
import org.mockito.Mockito.spy
-import java.util.concurrent.Executor
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
public class ParcelableWorkContinuationImplTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkInfoTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkInfoTest.kt
index 0be0967..96a5676 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkInfoTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkInfoTest.kt
@@ -24,10 +24,10 @@
import androidx.work.multiprocess.parcelable.ParcelConverters
import androidx.work.multiprocess.parcelable.ParcelableWorkInfo
import androidx.work.multiprocess.parcelable.ParcelableWorkInfos
+import java.util.UUID
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.UUID
@RunWith(AndroidJUnit4::class)
public class ParcelableWorkInfoTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkQueryTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkQueryTest.kt
index 64a7a50..679f860 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkQueryTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkQueryTest.kt
@@ -23,10 +23,10 @@
import androidx.work.WorkQuery
import androidx.work.multiprocess.parcelable.ParcelConverters
import androidx.work.multiprocess.parcelable.ParcelableWorkQuery
+import java.util.UUID
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.UUID
@RunWith(AndroidJUnit4::class)
public class ParcelableWorkQueryTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkRequestConvertersTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkRequestConvertersTest.kt
index ea7ed12..ba9e090 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkRequestConvertersTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/ParcelableWorkRequestConvertersTest.kt
@@ -30,10 +30,10 @@
import androidx.work.multiprocess.parcelable.ParcelConverters
import androidx.work.multiprocess.parcelable.ParcelableWorkRequest
import androidx.work.multiprocess.parcelable.ParcelableWorkRequests
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
public class ParcelableWorkRequestConvertersTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteCoroutineWorkerTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteCoroutineWorkerTest.kt
index e28fc49..3b1c18b 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteCoroutineWorkerTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteCoroutineWorkerTest.kt
@@ -34,13 +34,13 @@
import androidx.work.impl.foreground.ForegroundProcessor
import androidx.work.impl.utils.SerialExecutorImpl
import androidx.work.impl.utils.taskexecutor.TaskExecutor
+import java.util.concurrent.Executor
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
-import java.util.concurrent.Executor
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
public class RemoteCoroutineWorkerTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteListenableWorkerTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteListenableWorkerTest.kt
index 5efb197..5871f12 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteListenableWorkerTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteListenableWorkerTest.kt
@@ -39,14 +39,14 @@
import androidx.work.impl.utils.taskexecutor.TaskExecutor
import androidx.work.multiprocess.RemoteListenableWorker.ARGUMENT_CLASS_NAME
import androidx.work.multiprocess.RemoteListenableWorker.ARGUMENT_PACKAGE_NAME
+import java.util.concurrent.Executor
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
-import java.util.concurrent.Executor
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
public class RemoteListenableWorkerTest {
diff --git a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteWorkManagerClientTest.kt b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteWorkManagerClientTest.kt
index 7e1329e..e5d60a2 100644
--- a/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteWorkManagerClientTest.kt
+++ b/work/work-multiprocess/src/androidTest/java/androidx/work/multiprocess/RemoteWorkManagerClientTest.kt
@@ -27,6 +27,7 @@
import androidx.work.impl.utils.SerialExecutorImpl
import androidx.work.impl.utils.futures.SettableFuture
import androidx.work.impl.utils.taskexecutor.TaskExecutor
+import java.util.concurrent.Executor
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
@@ -35,14 +36,13 @@
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.anyString
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.atLeastOnce
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
-import java.util.concurrent.Executor
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
public class RemoteWorkManagerClientTest {
diff --git a/work/work-runtime-ktx/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt b/work/work-runtime-ktx/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt
index a37928b..34e716c 100644
--- a/work/work-runtime-ktx/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt
+++ b/work/work-runtime-ktx/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt
@@ -30,10 +30,12 @@
import androidx.work.impl.utils.futures.SettableFuture
import androidx.work.impl.utils.taskexecutor.TaskExecutor
import androidx.work.workers.ProgressUpdatingWorker
+import java.util.UUID
+import java.util.concurrent.Executor
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.runBlocking
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.instanceOf
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.nullValue
import org.hamcrest.MatcherAssert.assertThat
import org.junit.After
@@ -46,8 +48,6 @@
import org.mockito.Mockito.spy
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
-import java.util.UUID
-import java.util.concurrent.Executor
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/work/work-runtime-ktx/src/androidTest/java/androidx/work/ListenableFutureTest.kt b/work/work-runtime-ktx/src/androidTest/java/androidx/work/ListenableFutureTest.kt
index 61b8b36..7cf491c 100644
--- a/work/work-runtime-ktx/src/androidTest/java/androidx/work/ListenableFutureTest.kt
+++ b/work/work-runtime-ktx/src/androidTest/java/androidx/work/ListenableFutureTest.kt
@@ -25,8 +25,8 @@
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.instanceOf
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Ignore
import org.junit.Test
diff --git a/work/work-runtime-ktx/src/androidTest/java/androidx/work/PeriodicWorkRequestTest.kt b/work/work-runtime-ktx/src/androidTest/java/androidx/work/PeriodicWorkRequestTest.kt
index f406101..c20e521 100644
--- a/work/work-runtime-ktx/src/androidTest/java/androidx/work/PeriodicWorkRequestTest.kt
+++ b/work/work-runtime-ktx/src/androidTest/java/androidx/work/PeriodicWorkRequestTest.kt
@@ -20,11 +20,11 @@
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import androidx.work.workers.TestWorker
+import java.time.Duration
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import java.time.Duration
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/work/work-runtime-ktx/src/main/java/androidx/work/ListenableFuture.kt b/work/work-runtime-ktx/src/main/java/androidx/work/ListenableFuture.kt
index 3b825b5..f0edd3f 100644
--- a/work/work-runtime-ktx/src/main/java/androidx/work/ListenableFuture.kt
+++ b/work/work-runtime-ktx/src/main/java/androidx/work/ListenableFuture.kt
@@ -21,12 +21,12 @@
import androidx.annotation.RestrictTo
import androidx.work.impl.utils.futures.SettableFuture
import com.google.common.util.concurrent.ListenableFuture
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.suspendCancellableCoroutine
import java.util.concurrent.CancellationException
import java.util.concurrent.ExecutionException
import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.suspendCancellableCoroutine
/**
* Awaits for the completion of the [ListenableFuture] without blocking a thread.
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/DelegatingWorkerFactoryTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/DelegatingWorkerFactoryTest.kt
index b89ef48..07cb922 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/DelegatingWorkerFactoryTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/DelegatingWorkerFactoryTest.kt
@@ -24,6 +24,7 @@
import androidx.work.impl.utils.taskexecutor.WorkManagerTaskExecutor
import androidx.work.worker.FailureWorker
import androidx.work.worker.TestWorker
+import java.util.UUID
import org.hamcrest.CoreMatchers.instanceOf
import org.hamcrest.CoreMatchers.notNullValue
import org.hamcrest.MatcherAssert.assertThat
@@ -31,7 +32,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.mock
-import java.util.UUID
@RunWith(AndroidJUnit4::class)
@SmallTest
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/RawWorkInfoDaoTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/RawWorkInfoDaoTest.kt
index a7d4179..d7a6146 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/RawWorkInfoDaoTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/RawWorkInfoDaoTest.kt
@@ -22,8 +22,8 @@
import androidx.work.worker.RetryWorker
import androidx.work.worker.TestWorker
import org.hamcrest.CoreMatchers.`is`
-import org.hamcrest.Matchers.containsInAnyOrder
import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.containsInAnyOrder
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/SchedulersTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/SchedulersTest.kt
index aa90135..92f289e 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/SchedulersTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/SchedulersTest.kt
@@ -24,8 +24,8 @@
import androidx.work.impl.Scheduler
import androidx.work.impl.StartStopTokens
import androidx.work.impl.WorkDatabase
-import androidx.work.impl.WorkManagerImpl
import androidx.work.impl.WorkLauncherImpl
+import androidx.work.impl.WorkManagerImpl
import androidx.work.impl.background.greedy.GreedyScheduler
import androidx.work.impl.constraints.trackers.Trackers
import androidx.work.impl.model.WorkSpec
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/WorkDatabasePathHelperTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/WorkDatabasePathHelperTest.kt
index b02375a..9b8dd501 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/WorkDatabasePathHelperTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/WorkDatabasePathHelperTest.kt
@@ -27,13 +27,13 @@
import androidx.work.impl.WorkDatabase
import androidx.work.impl.WorkDatabasePathHelper
import androidx.work.impl.WorkDatabaseVersions.VERSION_9
+import java.io.File
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.io.File
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/WorkForegroundRunnableTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/WorkForegroundRunnableTest.kt
index d13e1f3..cbae3d9 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/WorkForegroundRunnableTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/WorkForegroundRunnableTest.kt
@@ -30,8 +30,10 @@
import androidx.work.impl.utils.taskexecutor.InstantWorkTaskExecutor
import androidx.work.impl.utils.taskexecutor.TaskExecutor
import androidx.work.worker.TestWorker
-import org.hamcrest.CoreMatchers.`is`
+import java.util.UUID
+import java.util.concurrent.Executor
import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Assert.fail
import org.junit.Before
@@ -42,8 +44,6 @@
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import java.util.UUID
-import java.util.concurrent.Executor
@RunWith(AndroidJUnit4::class)
public class WorkForegroundRunnableTest : DatabaseTest() {
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/WorkRequestTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/WorkRequestTest.kt
index 4a49ecd..6543a12 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/WorkRequestTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/WorkRequestTest.kt
@@ -19,10 +19,10 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.work.worker.TestWorker
+import java.util.concurrent.TimeUnit
import org.junit.Assert.assertNotNull
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
class WorkRequestTest {
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/WorkUpdateTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/WorkUpdateTest.kt
index b150905..8421dc5 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/WorkUpdateTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/WorkUpdateTest.kt
@@ -29,8 +29,8 @@
import androidx.work.WorkManager.UpdateResult.NOT_APPLIED
import androidx.work.impl.Processor
import androidx.work.impl.WorkDatabase
-import androidx.work.impl.WorkManagerImpl
import androidx.work.impl.WorkLauncherImpl
+import androidx.work.impl.WorkManagerImpl
import androidx.work.impl.background.greedy.GreedyScheduler
import androidx.work.impl.constraints.trackers.Trackers
import androidx.work.impl.testutils.TestConstraintTracker
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/DelayedWorkTrackerTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/DelayedWorkTrackerTest.kt
index 5cba6e9..3906259 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/DelayedWorkTrackerTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/background/greedy/DelayedWorkTrackerTest.kt
@@ -22,6 +22,7 @@
import androidx.work.RunnableScheduler
import androidx.work.SystemClock
import androidx.work.worker.TestWorker
+import java.util.concurrent.TimeUnit
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@@ -29,7 +30,6 @@
import org.mockito.ArgumentMatchers.anyLong
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
class DelayedWorkTrackerTest {
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/SerialExecutorTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/SerialExecutorTest.kt
index c723d90..814e22f 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/SerialExecutorTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/SerialExecutorTest.kt
@@ -18,14 +18,14 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.greaterThanOrEqualTo
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executors
-import java.util.concurrent.TimeUnit
@RunWith(AndroidJUnit4::class)
@LargeTest
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkForegroundUpdaterTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkForegroundUpdaterTest.kt
index b9373a0..d7e25ac 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkForegroundUpdaterTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkForegroundUpdaterTest.kt
@@ -32,15 +32,15 @@
import androidx.work.impl.utils.taskexecutor.InstantWorkTaskExecutor
import androidx.work.impl.utils.taskexecutor.TaskExecutor
import androidx.work.worker.TestWorker
+import java.util.UUID
import org.junit.Assert.assertNotNull
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers
-import org.mockito.Mockito.`when`
import org.mockito.Mockito.anyString
import org.mockito.Mockito.mock
-import java.util.UUID
+import org.mockito.Mockito.`when`
@RunWith(AndroidJUnit4::class)
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkProgressUpdaterTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkProgressUpdaterTest.kt
index da29a44..eaf7b7b 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkProgressUpdaterTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/utils/WorkProgressUpdaterTest.kt
@@ -26,13 +26,13 @@
import androidx.work.impl.model.WorkSpecDao
import androidx.work.impl.utils.taskexecutor.InstantWorkTaskExecutor
import androidx.work.impl.utils.taskexecutor.TaskExecutor
+import java.util.UUID
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyString
import org.mockito.Mockito
import org.mockito.Mockito.`when`
-import java.util.UUID
@RunWith(AndroidJUnit4::class)
// Mockito tries to class load android.os.CancellationSignal which is only available on API >= 16
diff --git a/work/work-runtime/src/main/java/androidx/work/WorkRequest.kt b/work/work-runtime/src/main/java/androidx/work/WorkRequest.kt
index 27d7f35..8232cf1a8 100644
--- a/work/work-runtime/src/main/java/androidx/work/WorkRequest.kt
+++ b/work/work-runtime/src/main/java/androidx/work/WorkRequest.kt
@@ -20,8 +20,8 @@
import androidx.annotation.RequiresApi
import androidx.annotation.RestrictTo
import androidx.annotation.VisibleForTesting
-import androidx.work.impl.utils.toMillisCompat
import androidx.work.impl.model.WorkSpec
+import androidx.work.impl.utils.toMillisCompat
import java.time.Duration
import java.util.UUID
import java.util.concurrent.TimeUnit
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/BatteryNotLowTracker.kt b/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/BatteryNotLowTracker.kt
index da13e81..c1b592f 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/BatteryNotLowTracker.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/BatteryNotLowTracker.kt
@@ -16,8 +16,8 @@
package androidx.work.impl.constraints.trackers
import android.content.Context
-import android.content.IntentFilter
import android.content.Intent
+import android.content.IntentFilter
import android.os.BatteryManager
import androidx.annotation.RestrictTo
import androidx.work.Logger
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/workers/DiagnosticsWorker.kt b/work/work-runtime/src/main/java/androidx/work/impl/workers/DiagnosticsWorker.kt
index 24221a9..b8bc4e6 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/workers/DiagnosticsWorker.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/workers/DiagnosticsWorker.kt
@@ -22,11 +22,11 @@
import androidx.work.WorkerParameters
import androidx.work.impl.Scheduler
import androidx.work.impl.WorkManagerImpl
-import androidx.work.impl.model.generationalId
import androidx.work.impl.model.SystemIdInfoDao
import androidx.work.impl.model.WorkNameDao
import androidx.work.impl.model.WorkSpec
import androidx.work.impl.model.WorkTagDao
+import androidx.work.impl.model.generationalId
import java.util.concurrent.TimeUnit
internal class DiagnosticsWorker(context: Context, parameters: WorkerParameters) :
diff --git a/work/work-rxjava2/src/test/java/androidx/work/RxForegroundInfoTest.kt b/work/work-rxjava2/src/test/java/androidx/work/RxForegroundInfoTest.kt
index 892795f..e2713c2 100644
--- a/work/work-rxjava2/src/test/java/androidx/work/RxForegroundInfoTest.kt
+++ b/work/work-rxjava2/src/test/java/androidx/work/RxForegroundInfoTest.kt
@@ -23,12 +23,12 @@
import androidx.work.impl.utils.futures.SettableFuture
import com.google.common.truth.Truth.assertThat
import io.reactivex.Single
+import java.util.UUID
+import java.util.concurrent.Executor
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.UUID
-import java.util.concurrent.Executor
@RunWith(JUnit4::class)
class RxForegroundInfoTest {
diff --git a/work/work-rxjava2/src/test/java/androidx/work/RxWorkerTest.kt b/work/work-rxjava2/src/test/java/androidx/work/RxWorkerTest.kt
index 5bb80f0..6e04386 100644
--- a/work/work-rxjava2/src/test/java/androidx/work/RxWorkerTest.kt
+++ b/work/work-rxjava2/src/test/java/androidx/work/RxWorkerTest.kt
@@ -22,6 +22,10 @@
import androidx.work.impl.utils.taskexecutor.TaskExecutor
import io.reactivex.Single
import io.reactivex.schedulers.Schedulers
+import java.util.UUID
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executor
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Assert
@@ -29,10 +33,6 @@
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.UUID
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executor
-import java.util.concurrent.TimeUnit
@RunWith(JUnit4::class)
class RxWorkerTest {
diff --git a/work/work-rxjava2/src/test/java/androidx/work/SetCompletableProgressTest.kt b/work/work-rxjava2/src/test/java/androidx/work/SetCompletableProgressTest.kt
index f8e2c28..8579353 100644
--- a/work/work-rxjava2/src/test/java/androidx/work/SetCompletableProgressTest.kt
+++ b/work/work-rxjava2/src/test/java/androidx/work/SetCompletableProgressTest.kt
@@ -20,14 +20,14 @@
import androidx.work.ListenableWorker.Result
import androidx.work.impl.utils.SynchronousExecutor
import androidx.work.impl.utils.futures.SettableFuture
+import java.util.UUID
+import java.util.concurrent.Executor
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.UUID
-import java.util.concurrent.Executor
@RunWith(JUnit4::class)
class SetCompletableProgressTest {
diff --git a/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxForegroundInfoTest.kt b/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxForegroundInfoTest.kt
index 89c230b..131e8a8 100644
--- a/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxForegroundInfoTest.kt
+++ b/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxForegroundInfoTest.kt
@@ -29,12 +29,12 @@
import androidx.work.impl.utils.futures.SettableFuture
import com.google.common.truth.Truth.assertThat
import io.reactivex.rxjava3.core.Single
+import java.util.UUID
+import java.util.concurrent.Executor
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.UUID
-import java.util.concurrent.Executor
@RunWith(JUnit4::class)
class RxForegroundInfoTest {
diff --git a/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxWorkerTest.kt b/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxWorkerTest.kt
index 2f7d422..13d4305 100644
--- a/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxWorkerTest.kt
+++ b/work/work-rxjava3/src/test/java/androidx/work/rxjava3/RxWorkerTest.kt
@@ -28,6 +28,10 @@
import androidx.work.impl.utils.taskexecutor.TaskExecutor
import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.schedulers.Schedulers
+import java.util.UUID
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executor
+import java.util.concurrent.TimeUnit
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.junit.Assert
@@ -35,10 +39,6 @@
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.UUID
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executor
-import java.util.concurrent.TimeUnit
@RunWith(JUnit4::class)
class RxWorkerTest {
diff --git a/work/work-rxjava3/src/test/java/androidx/work/rxjava3/SetCompletableProgressTest.kt b/work/work-rxjava3/src/test/java/androidx/work/rxjava3/SetCompletableProgressTest.kt
index ee837b8..24e8155 100644
--- a/work/work-rxjava3/src/test/java/androidx/work/rxjava3/SetCompletableProgressTest.kt
+++ b/work/work-rxjava3/src/test/java/androidx/work/rxjava3/SetCompletableProgressTest.kt
@@ -25,14 +25,14 @@
import androidx.work.WorkerParameters
import androidx.work.impl.utils.SynchronousExecutor
import androidx.work.impl.utils.futures.SettableFuture
+import java.util.UUID
+import java.util.concurrent.Executor
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.mockito.Mockito.mock
-import java.util.UUID
-import java.util.concurrent.Executor
@RunWith(JUnit4::class)
class SetCompletableProgressTest {
diff --git a/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerTest.java b/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerTest.java
index 2e44ffd..ca861ee 100644
--- a/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerTest.java
+++ b/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerTest.java
@@ -44,6 +44,7 @@
import androidx.work.testing.workers.TestWorker;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -77,6 +78,7 @@
CountingTestWorker.COUNT.set(0);
}
+ @Ignore // b/281720148
@Test
public void testWorker_shouldSucceedSynchronously()
throws InterruptedException, ExecutionException {
diff --git a/work/work-testing/src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt b/work/work-testing/src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt
index 077765c..7548ecb 100644
--- a/work/work-testing/src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt
+++ b/work/work-testing/src/androidTest/java/androidx/work/testing/TestWorkerBuilderTest.kt
@@ -30,9 +30,14 @@
import androidx.work.await
import androidx.work.testing.workers.TestListenableWorker
import androidx.work.testing.workers.TestWorker
+import java.util.UUID
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.Executor
+import java.util.concurrent.Executors
+import kotlin.jvm.Throws
import kotlinx.coroutines.runBlocking
-import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.CoreMatchers.hasItems
+import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.containsInAnyOrder
import org.hamcrest.Matchers.notNullValue
@@ -44,11 +49,6 @@
import org.mockito.Mockito.mock
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
-import java.util.UUID
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Executor
-import java.util.concurrent.Executors
-import kotlin.jvm.Throws
@RunWith(AndroidJUnit4::class)
class TestWorkerBuilderTest {
diff --git a/work/work-testing/src/main/java/androidx/work/testing/TestWorkManagerImpl.kt b/work/work-testing/src/main/java/androidx/work/testing/TestWorkManagerImpl.kt
index aa1ba31..851f31e 100644
--- a/work/work-testing/src/main/java/androidx/work/testing/TestWorkManagerImpl.kt
+++ b/work/work-testing/src/main/java/androidx/work/testing/TestWorkManagerImpl.kt
@@ -17,7 +17,6 @@
package androidx.work.testing
import android.content.Context
-
import androidx.work.Configuration
import androidx.work.impl.Processor
import androidx.work.impl.Scheduler