diff --git a/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/RememberLauncherForActivityResult.kt b/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/RememberLauncherForActivityResult.kt
index a30ef4b..75480ad 100644
--- a/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/RememberLauncherForActivityResult.kt
+++ b/activity/activity-compose/samples/src/main/java/androidx/activity/compose/samples/RememberLauncherForActivityResult.kt
@@ -46,4 +46,4 @@
     result.value?.let { image ->
         Image(image.asImageBitmap(), null, modifier = Modifier.fillMaxWidth())
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity-compose/src/androidTest/java/androidx/activity/compose/TestActivity.kt b/activity/activity-compose/src/androidTest/java/androidx/activity/compose/TestActivity.kt
index 722f444..793e796 100644
--- a/activity/activity-compose/src/androidTest/java/androidx/activity/compose/TestActivity.kt
+++ b/activity/activity-compose/src/androidTest/java/androidx/activity/compose/TestActivity.kt
@@ -24,4 +24,4 @@
         reportFullyDrawnCalled = true
         super.reportFullyDrawn()
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt
index 5f110c5..43fe1608 100644
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt
+++ b/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultLauncherTest.kt
@@ -60,4 +60,4 @@
         launcher.launch()
         assertThat(actualResult).isEqualTo(expectedResult)
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt b/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt
index 7de8667..e6ba88e 100644
--- a/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt
+++ b/activity/activity-ktx/src/androidTest/java/androidx/activity/result/ActivityResultTest.kt
@@ -36,4 +36,4 @@
         assertThat(resultCode).isEqualTo(1)
         assertThat(data).isSameInstanceAs(intent)
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt b/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt
index 69ec900..769ca68 100644
--- a/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt
+++ b/activity/activity-ktx/src/main/java/androidx/activity/result/ActivityResultLauncher.kt
@@ -31,4 +31,4 @@
 @JvmName("launchUnit")
 public fun ActivityResultLauncher<Unit>.launch(options: ActivityOptionsCompat? = null) {
     launch(Unit, options)
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/BackEventCompatTest.kt b/activity/activity/src/androidTest/java/androidx/activity/BackEventCompatTest.kt
index e04d827..21fe6c9 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/BackEventCompatTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/BackEventCompatTest.kt
@@ -60,4 +60,4 @@
         assertThat(event.progress).isEqualTo(3f)
         assertThat(event.swipeEdge).isEqualTo(BackEventCompat.EDGE_LEFT)
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
index 38fe672..4d81f44 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityRunOnNextRecreateTest.kt
@@ -71,4 +71,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
index cd451a7..f770904 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityViewModelTest.kt
@@ -190,4 +190,4 @@
         super.onResume()
         viewModel = ViewModelProvider(this).get(TestViewModel::class.java)
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt
index 41a173d..b914f18 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentDialogTest.kt
@@ -244,4 +244,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt b/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt
index 3d303a23..955b8df 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/FullyDrawnReporterTest.kt
@@ -301,4 +301,4 @@
         fullyDrawnReported = true
         super.reportFullyDrawn()
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt b/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt
index 19d07fd..ee4318b 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/LeakInputMethodManagerTest.kt
@@ -79,4 +79,4 @@
         super.onDestroy()
         latch.countDown()
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ViewTreeOnBackPressedDispatcherTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ViewTreeOnBackPressedDispatcherTest.kt
index 16430d7..004359f 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ViewTreeOnBackPressedDispatcherTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ViewTreeOnBackPressedDispatcherTest.kt
@@ -121,4 +121,4 @@
         override val onBackPressedDispatcher
             get() = throw UnsupportedOperationException("not a real OnBackPressedDispatcherOwner")
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt b/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
index e579938..8cb9336 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
@@ -166,4 +166,4 @@
     fun clearAvailableContext() {
         contextAwareHelper.clearAvailableContext()
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt b/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
index a6af035..1cc4c08 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
@@ -506,4 +506,4 @@
 
         assertThat(completedLaunch).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/androidTest/java/androidx/activity/result/PickVisualMediaRequestTest.kt b/activity/activity/src/androidTest/java/androidx/activity/result/PickVisualMediaRequestTest.kt
index fde1fa0..4d388bc 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/result/PickVisualMediaRequestTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/result/PickVisualMediaRequestTest.kt
@@ -46,4 +46,4 @@
 
         assertThat(request.mediaType).isEqualTo(ActivityResultContracts.PickVisualMedia.VideoOnly)
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/BackEventCompat.kt b/activity/activity/src/main/java/androidx/activity/BackEventCompat.kt
index cbc3521..a6500b6 100644
--- a/activity/activity/src/main/java/androidx/activity/BackEventCompat.kt
+++ b/activity/activity/src/main/java/androidx/activity/BackEventCompat.kt
@@ -114,4 +114,4 @@
 
     @DoNotInline
     fun swipeEdge(backEvent: BackEvent) = backEvent.swipeEdge
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/Cancellable.kt b/activity/activity/src/main/java/androidx/activity/Cancellable.kt
index 33af37c..84dec13 100644
--- a/activity/activity/src/main/java/androidx/activity/Cancellable.kt
+++ b/activity/activity/src/main/java/androidx/activity/Cancellable.kt
@@ -24,4 +24,4 @@
      * call multiple times.
      */
     fun cancel()
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/ComponentDialog.kt b/activity/activity/src/main/java/androidx/activity/ComponentDialog.kt
index 7f66ab7..f6d1c86 100644
--- a/activity/activity/src/main/java/androidx/activity/ComponentDialog.kt
+++ b/activity/activity/src/main/java/androidx/activity/ComponentDialog.kt
@@ -129,4 +129,4 @@
         window!!.decorView.setViewTreeOnBackPressedDispatcherOwner(this)
         window!!.decorView.setViewTreeSavedStateRegistryOwner(this)
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/FullyDrawnReporterOwner.kt b/activity/activity/src/main/java/androidx/activity/FullyDrawnReporterOwner.kt
index c594770..ec6af730 100644
--- a/activity/activity/src/main/java/androidx/activity/FullyDrawnReporterOwner.kt
+++ b/activity/activity/src/main/java/androidx/activity/FullyDrawnReporterOwner.kt
@@ -25,4 +25,4 @@
      * that separately report that they are fully drawn.
      */
     val fullyDrawnReporter: FullyDrawnReporter
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt b/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
index bf638f2..cdeb8c6 100644
--- a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
+++ b/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
@@ -426,4 +426,4 @@
         addCallback(callback)
     }
     return callback
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.kt b/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.kt
index 21401c7..7feb42e 100644
--- a/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.kt
+++ b/activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcherOwner.kt
@@ -31,4 +31,4 @@
      * The [OnBackPressedDispatcher] that should handle the system back button.
      */
     val onBackPressedDispatcher: OnBackPressedDispatcher
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.kt b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.kt
index 7f43714..866856d 100644
--- a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.kt
+++ b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.kt
@@ -90,4 +90,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.kt b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.kt
index 0a76e42..7ef4f5c 100644
--- a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.kt
+++ b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.kt
@@ -92,4 +92,4 @@
     fun clearAvailableContext() {
         context = null
     }
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.kt b/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.kt
index e5e8f1f..726b2bb 100644
--- a/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.kt
+++ b/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.kt
@@ -31,4 +31,4 @@
      * @param context The [Context] the [ContextAware] object is now associated with.
      */
     fun onContextAvailable(context: Context)
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.kt b/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.kt
index 9ce51d1..a617ff0 100644
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.kt
+++ b/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistryOwner.kt
@@ -32,4 +32,4 @@
      * @return The activity result registry of the provider.
      */
     val activityResultRegistry: ActivityResultRegistry
-}
\ No newline at end of file
+}
diff --git a/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.kt b/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.kt
index 7da957a..002343a 100644
--- a/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.kt
+++ b/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.kt
@@ -173,4 +173,4 @@
                 }
             }
     }
-}
\ No newline at end of file
+}
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 5fe827e..6c46125 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
@@ -224,4 +224,4 @@
         text = txt
         setOnClickListener(listener)
     }
-}
\ No newline at end of file
+}
diff --git a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/DateProviderKt.kt b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/DateProviderKt.kt
index 04269de..fcab6dc 100644
--- a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/DateProviderKt.kt
+++ b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/DateProviderKt.kt
@@ -21,4 +21,4 @@
     fun getDate(): Int {
         return -1
     }
-}
\ No newline at end of file
+}
diff --git a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/LocationProviderKt.kt b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/LocationProviderKt.kt
index 178bafd4..65501d2 100644
--- a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/LocationProviderKt.kt
+++ b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/LocationProviderKt.kt
@@ -21,4 +21,4 @@
     fun getLocation(): Int {
         return -1
     }
-}
\ No newline at end of file
+}
diff --git a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaExperimentalFromKt.kt b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaExperimentalFromKt.kt
index 6bb8823..f37544e 100644
--- a/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaExperimentalFromKt.kt
+++ b/annotation/annotation-experimental-lint/integration-tests/src/main/java/sample/experimental/UseJavaExperimentalFromKt.kt
@@ -80,4 +80,4 @@
         val locationProvider = LocationProvider()
         return dateProvider.date + locationProvider.location
     }
-}
\ No newline at end of file
+}
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 312c3a5..3358f23 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
@@ -58,4 +58,4 @@
     fun callSelfUseExperimental() {
         callPackageUseExperimental()
     }
-}
\ No newline at end of file
+}
diff --git a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/AnnotationRetentionDetectorTest.kt b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/AnnotationRetentionDetectorTest.kt
index f6ee76c..3d8a337 100644
--- a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/AnnotationRetentionDetectorTest.kt
+++ b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/AnnotationRetentionDetectorTest.kt
@@ -100,4 +100,4 @@
 
         check(*input).expect(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/TestUtils.kt b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/TestUtils.kt
index 33989a9..58a351b 100644
--- a/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/TestUtils.kt
+++ b/annotation/annotation-experimental-lint/src/test/kotlin/androidx/annotation/experimental/lint/TestUtils.kt
@@ -39,4 +39,4 @@
             "/java/${className.replace('.', '/')}.kt"
         )!!.readText()
     )
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/ClockInteractionService.kt b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/ClockInteractionService.kt
index 2c4f855..f3a097a 100644
--- a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/ClockInteractionService.kt
+++ b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/ClockInteractionService.kt
@@ -127,4 +127,4 @@
             .setPackageName(ASSISTANT_PACKAGE)
             .build()
     )
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/MainActivity.kt b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/MainActivity.kt
index 4319682..ac9d5a9 100644
--- a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/MainActivity.kt
+++ b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/MainActivity.kt
@@ -109,4 +109,4 @@
         val seconds = (milliseconds % 60000) / 1000
         return String.format("%02d:%02d:%02d", hours, minutes, seconds)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/Signatures.kt b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/Signatures.kt
index 18c3b0a..2e3fea9 100644
--- a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/Signatures.kt
+++ b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/Signatures.kt
@@ -28,4 +28,4 @@
         result[i] = parts[i].toInt(16).toByte()
     }
     return result
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmActivity.kt b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmActivity.kt
index 25ee1f2..974d92f 100644
--- a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmActivity.kt
+++ b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmActivity.kt
@@ -69,4 +69,4 @@
             private const val TAG = "alarmclock.AlarmReceiver"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmInteractionService.kt b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmInteractionService.kt
index b607d37..7f56057 100644
--- a/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmInteractionService.kt
+++ b/appactions/interaction/integration-tests/testapp/src/main/java/androidx/appactions/interaction/testapp/alarm/AlarmInteractionService.kt
@@ -142,4 +142,4 @@
     )
 
     override val allowedApps: List<AppVerificationInfo> = /* TODO */ listOf()
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Attendee.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Attendee.kt
index 5ebbc27..7616521 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Attendee.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Attendee.kt
@@ -32,4 +32,4 @@
         if (asPerson != other.asPerson) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/CallFormat.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/CallFormat.kt
index a2ad59b..1615291 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/CallFormat.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/CallFormat.kt
@@ -29,4 +29,4 @@
     )
 
     abstract class CanonicalValue internal constructor(val textValue: String)
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/EndDate.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/EndDate.kt
index 5c36634..db03a15 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/EndDate.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/EndDate.kt
@@ -34,4 +34,4 @@
         if (asZonedDateTime != other.asZonedDateTime) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/ItemListElement.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/ItemListElement.kt
index 8f7803c..baff5d82 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/ItemListElement.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/ItemListElement.kt
@@ -28,4 +28,4 @@
         if (asListItem != other.asListItem) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Name.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Name.kt
index b779c3d..bdd5983 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Name.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Name.kt
@@ -26,4 +26,4 @@
         if (asText != other.asText) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Participant.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Participant.kt
index abb312b..5a46ae2 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Participant.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Participant.kt
@@ -31,4 +31,4 @@
         if (asPerson != other.asPerson) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Recipient.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Recipient.kt
index 7663eb4..1e7b7e6 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Recipient.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Recipient.kt
@@ -32,4 +32,4 @@
         if (asPerson != other.asPerson) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/StartDate.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/StartDate.kt
index 4328dd8..5915fee 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/StartDate.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/StartDate.kt
@@ -35,4 +35,4 @@
         if (asZonedDateTime != other.asZonedDateTime) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Text.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Text.kt
index 371954a..c66dc1b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Text.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/properties/Text.kt
@@ -19,4 +19,4 @@
 class Text(asText: String) {
     @get:JvmName("asText")
     val asText: String = asText
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionAlreadyInProgress.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionAlreadyInProgress.kt
index c3d868c..b88f275 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionAlreadyInProgress.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionAlreadyInProgress.kt
@@ -60,4 +60,4 @@
         ActionAlreadyInProgressBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "ActionAlreadyInProgress"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionNotInProgress.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionNotInProgress.kt
index 90bf9a9..da7822d 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionNotInProgress.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ActionNotInProgress.kt
@@ -55,4 +55,4 @@
         ActionNotInProgressBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "ActionNotInProgress"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Call.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Call.kt
index 2f0fd0d..8d690de 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Call.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Call.kt
@@ -110,4 +110,4 @@
             .setName(name)
             .setCallFormat(callFormat)
             .addAllParticipant(participantList)
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/GenericErrorStatus.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/GenericErrorStatus.kt
index ec5d954..6c8b17b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/GenericErrorStatus.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/GenericErrorStatus.kt
@@ -55,4 +55,4 @@
         GenericErrorStatusBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "GenericErrorStatus"
-}
\ No newline at end of file
+}
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 df7d88a..58cab34 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
@@ -90,4 +90,4 @@
         if (this.itemListElements != other.itemListElements) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ListItem.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ListItem.kt
index 65b4845..fba7511 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ListItem.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/ListItem.kt
@@ -65,4 +65,4 @@
         if (this.identifier != other.identifier) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Message.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Message.kt
index 0ebf75d..3750db9 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Message.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Message.kt
@@ -84,4 +84,4 @@
             .setName(name)
             .setText(text)
             .addRecipients(recipientList)
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/NoInternetConnection.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/NoInternetConnection.kt
index b9ee7d7..334b2ce 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/NoInternetConnection.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/NoInternetConnection.kt
@@ -56,4 +56,4 @@
         NoInternetConnectionBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "NoInternetConnection"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Person.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Person.kt
index 62a5892..178b06b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Person.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Person.kt
@@ -82,4 +82,4 @@
         if (name != other.name) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SafetyCheck.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SafetyCheck.kt
index 7117296..4b4355e 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SafetyCheck.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SafetyCheck.kt
@@ -74,4 +74,4 @@
             .setName(name)
             .setDuration(duration)
             .setCheckInTime(checkInTime)
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SuccessStatus.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SuccessStatus.kt
index be0e15b..f06badd 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SuccessStatus.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/SuccessStatus.kt
@@ -55,4 +55,4 @@
         SuccessStatusBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "SuccessStatus"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Thing.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Thing.kt
index 1051242..1fe28c8 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Thing.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/builtintypes/experimental/types/Thing.kt
@@ -74,4 +74,4 @@
         if (this.identifier != other.identifier) return false
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/CapabilityFactory.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/CapabilityFactory.kt
index d1d45ea..3c2ec4b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/CapabilityFactory.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/CapabilityFactory.kt
@@ -24,4 +24,4 @@
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
 @Target(AnnotationTarget.CLASS)
 @Retention(AnnotationRetention.RUNTIME)
-annotation class CapabilityFactory(val name: String)
\ No newline at end of file
+annotation class CapabilityFactory(val name: String)
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/ExecutionCallback.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/ExecutionCallback.kt
index 4ce3ac1..e003734 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/ExecutionCallback.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/ExecutionCallback.kt
@@ -45,4 +45,4 @@
     override val uiHandle = this@toExecutionCallback
     override suspend fun onExecute(arguments: ArgumentsT): ExecutionResult<OutputT> =
         this@toExecutionCallback.onExecute(arguments).await()
-}
\ No newline at end of file
+}
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 dd84a19..52b238a 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
@@ -68,4 +68,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/SearchAction.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/SearchAction.kt
index 03648fd4..cd3171d 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/SearchAction.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/SearchAction.kt
@@ -59,4 +59,4 @@
         /** Builds and returns a [SearchAction]. */
         fun build() = SearchAction(query, filter)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupCandidate.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupCandidate.kt
index 9fac8e1..d20b4e9 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupCandidate.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupCandidate.kt
@@ -46,4 +46,4 @@
         fun build(): EntityLookupCandidate<T> = EntityLookupCandidate(
             requireNotNull(candidate) { "Entity lookup candidate must be set." })
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupRequest.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupRequest.kt
index 6765053..34c3cc0 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupRequest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/entity/EntityLookupRequest.kt
@@ -70,4 +70,4 @@
             pageToken
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/RequestMetadata.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/RequestMetadata.kt
index d001532..f85735f 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/RequestMetadata.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/RequestMetadata.kt
@@ -31,4 +31,4 @@
             return RequestMetadata(requestType, syncStatus)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FutureCallback.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FutureCallback.kt
index e807783..bd063bb 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FutureCallback.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/FutureCallback.kt
@@ -24,4 +24,4 @@
 
     /** Called with the ListenableFuture's exception if it fails.  */
     fun onFailure(t: Throwable)
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/Futures.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/Futures.kt
index 0005982..1830574 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/Futures.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/concurrent/Futures.kt
@@ -220,4 +220,4 @@
         )
         "ListenableFutureHelper#convertToListenableFuture for '$tag'"
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/converters/FieldBinding.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/converters/FieldBinding.kt
index 9ca198c..490b74a 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/converters/FieldBinding.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/converters/FieldBinding.kt
@@ -34,4 +34,4 @@
             return FieldBinding(name, valueGetter, valueSetter)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecBuilder.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecBuilder.kt
index 4392e73..50aa83d 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecBuilder.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecBuilder.kt
@@ -223,4 +223,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistry.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistry.kt
index 057aef0..662e2f1 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistry.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistry.kt
@@ -54,4 +54,4 @@
   fun getActionSpecForOutput(output: Any): ActionSpec<*, Any>? {
     return outputClassToActionSpec[output.javaClass]
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/task/AppGroundingResult.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/task/AppGroundingResult.kt
index f2463cd..638c212e 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/task/AppGroundingResult.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/task/AppGroundingResult.kt
@@ -37,4 +37,4 @@
         fun ofFailure(currentValue: CurrentValue) =
             AppGroundingResult(Kind.FAILURE, null, currentValue)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/utils/CallbackUtils.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/utils/CallbackUtils.kt
index edd0a30..2f27a8b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/utils/CallbackUtils.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/impl/utils/CallbackUtils.kt
@@ -121,4 +121,4 @@
             throw t
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/properties/StringValue.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/properties/StringValue.kt
index 6e9a319..550dbcf 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/properties/StringValue.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/properties/StringValue.kt
@@ -48,4 +48,4 @@
 
     override fun toString(): String =
         "StringValue(name='$name', alternateNames=[${alternateNames.joinToString(",")}])"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TextFilter.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TextFilter.kt
index f632cc8..3ff45db 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TextFilter.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TextFilter.kt
@@ -43,4 +43,4 @@
             "at least one of 'startsWith' and 'contains' must be non-null"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TimeFilter.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TimeFilter.kt
index 169bdb4..e72b003 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TimeFilter.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/filters/TimeFilter.kt
@@ -45,4 +45,4 @@
       "at least one of 'minTime' and 'maxTime' must be non-null"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/AlarmSerializer.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/AlarmSerializer.kt
index 2e46f1d..c1c1d7f 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/AlarmSerializer.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/AlarmSerializer.kt
@@ -67,4 +67,4 @@
   Alarm.Builder<*>::setIdentifier
 ).bindIdentifier {
   it.identifier
-}.build()
\ No newline at end of file
+}.build()
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializer.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializer.kt
index ad57f19..2872151 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializer.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializer.kt
@@ -40,4 +40,4 @@
       "failed to deserialize DayOfWeek with canonicalUrl=$str"
     )
   }
-)
\ No newline at end of file
+)
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 f564983..f6e083e 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
@@ -47,4 +47,4 @@
         assertThat(version).isNull()
         assertThat(exceptionMsg).isEqualTo("Can not parse version: 1A")
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/entity/AlarmProvider.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/entity/AlarmProvider.kt
index 901bf40..d5d6016 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/entity/AlarmProvider.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/entity/AlarmProvider.kt
@@ -26,4 +26,4 @@
 ) : EntityProvider<Alarm>(ALARM_TYPE_SPEC) {
     override suspend fun lookup(request: EntityLookupRequest<Alarm>):
         EntityLookupResponse<Alarm> = response
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/converters/UnionTypeSpecTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/converters/UnionTypeSpecTest.kt
index 1aaa4a3..f3e41f6 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/converters/UnionTypeSpecTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/converters/UnionTypeSpecTest.kt
@@ -57,4 +57,4 @@
     assertThat(ALARM_OR_TIMER_TYPE_SPEC.getIdentifier(timerUnion)).isEqualTo("timerId")
     assertThat(ALARM_OR_TIMER_TYPE_SPEC.getIdentifier(timerUnionWithoutId)).isNull()
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistryTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistryTest.kt
index 6248ac0..85747d4 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistryTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/impl/spec/ActionSpecRegistryTest.kt
@@ -117,4 +117,4 @@
       )
     }
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/properties/StringValueTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/properties/StringValueTest.kt
index d7a9d94..4bfeb8a 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/properties/StringValueTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/properties/StringValueTest.kt
@@ -50,4 +50,4 @@
             "StringValue(name='abcd', alternateNames=[alt1])"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Arguments.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Arguments.kt
index e700f8e..2cd52cd 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Arguments.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Arguments.kt
@@ -64,4 +64,4 @@
         fun build(): Arguments =
             Arguments(requiredStringField, optionalStringField, repeatedStringField)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityTwoStrings.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityTwoStrings.kt
index a8f174c..3667ff4 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityTwoStrings.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityTwoStrings.kt
@@ -90,4 +90,4 @@
             )
             .build()
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Confirmation.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Confirmation.kt
index c66fce5..a7834a5 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Confirmation.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Confirmation.kt
@@ -45,4 +45,4 @@
 
         fun build(): Confirmation = Confirmation(optionalStringField)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/GenericEntityArguments.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/GenericEntityArguments.kt
index d150ee3..c91c594 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/GenericEntityArguments.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/GenericEntityArguments.kt
@@ -64,4 +64,4 @@
         fun build(): GenericEntityArguments =
             GenericEntityArguments(singularField, optionalField, repeatedField)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Output.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Output.kt
index 1cc424f..198a91b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Output.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Output.kt
@@ -55,4 +55,4 @@
 
         fun build(): Output = Output(optionalStringField, repeatedStringField)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/TestEntity.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/TestEntity.kt
index 62005c7..254552b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/TestEntity.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/TestEntity.kt
@@ -72,4 +72,4 @@
 
         fun build(): TestEntity = TestEntity(id, name, duration, zonedDateTime, entity)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializerTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializerTest.kt
index 195b70e..2cd82d1 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializerTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/serializers/types/DayOfWeekSerializerTest.kt
@@ -32,4 +32,4 @@
     assertThat(DAY_OF_WEEK_TYPE_SPEC.toValue(DayOfWeek.MONDAY)).isEqualTo(MONDAY_VALUE)
     assertThat(DAY_OF_WEEK_TYPE_SPEC.fromValue(MONDAY_VALUE)).isSameInstanceAs(DayOfWeek.MONDAY)
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/AlarmReference.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/AlarmReference.kt
index 4cfb585..6231c59 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/AlarmReference.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/AlarmReference.kt
@@ -65,4 +65,4 @@
                 .build()
         internal val PARAM_VALUE_CONVERTER = ParamValueConverter.of(TYPE_SPEC)
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarm.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarm.kt
index f783e57..61e677f 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarm.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarm.kt
@@ -252,4 +252,4 @@
             ActionSpecRegistry.registerActionSpec(Arguments::class, Output::class, ACTION_SPEC)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarm.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarm.kt
index b649310..73d5d69 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarm.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarm.kt
@@ -162,4 +162,4 @@
             ActionSpecRegistry.registerActionSpec(Arguments::class, Output::class, ACTION_SPEC)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/GetAlarm.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/GetAlarm.kt
index 344b3bb..42474ba 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/GetAlarm.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/GetAlarm.kt
@@ -99,4 +99,4 @@
             ActionSpecRegistry.registerActionSpec(Arguments::class, Output::class, ACTION_SPEC)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarm.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarm.kt
index ab6c117..7f8fb62 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarm.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarm.kt
@@ -205,4 +205,4 @@
             ActionSpecRegistry.registerActionSpec(Arguments::class, Output::class, ACTION_SPEC)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarm.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarm.kt
index 82b6e40..ec5cae4 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarm.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarm.kt
@@ -553,4 +553,4 @@
     companion object {
         const val CAPABILITY_NAME = "actions.intent.UPDATE_ALARM"
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimer.kt b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimer.kt
index 36f4a06..48e41df6 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimer.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/main/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimer.kt
@@ -806,4 +806,4 @@
     companion object {
         const val CAPABILITY_NAME = "actions.intent.UPDATE_TIMER"
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarmTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarmTest.kt
index 8afcf65..512fcba 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarmTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/CreateAlarmTest.kt
@@ -140,4 +140,4 @@
             ).build()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarmTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarmTest.kt
index e61d69b..01315e6 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarmTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/DismissAlarmTest.kt
@@ -84,4 +84,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/GetAlarmTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/GetAlarmTest.kt
index ffb0700..6bd6cc3 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/GetAlarmTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/GetAlarmTest.kt
@@ -86,4 +86,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/PauseTimerTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/PauseTimerTest.kt
index 5fa08e8..60302a5 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/PauseTimerTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/PauseTimerTest.kt
@@ -108,4 +108,4 @@
             ).build()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResetTimerTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResetTimerTest.kt
index e63f8c3..99764e7 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResetTimerTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResetTimerTest.kt
@@ -86,4 +86,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResumeTimerTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResumeTimerTest.kt
index 4ff0b72..e9871ad 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResumeTimerTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/ResumeTimerTest.kt
@@ -86,4 +86,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarmTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarmTest.kt
index 086babf..0097725 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarmTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/SnoozeAlarmTest.kt
@@ -88,4 +88,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/StopTimerTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/StopTimerTest.kt
index 8415191..ee0b6c2 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/StopTimerTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/StopTimerTest.kt
@@ -86,4 +86,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteAlarmScheduleTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteAlarmScheduleTest.kt
index 549a81e..4bb9bc6 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteAlarmScheduleTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteAlarmScheduleTest.kt
@@ -151,4 +151,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteNameTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteNameTest.kt
index 94b84ee..6f8083b 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteNameTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateAlarmOverwriteNameTest.kt
@@ -111,4 +111,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerIncrementRemainingDurationTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerIncrementRemainingDurationTest.kt
index 8a1ae83..59544fe 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerIncrementRemainingDurationTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerIncrementRemainingDurationTest.kt
@@ -118,4 +118,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteNameTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteNameTest.kt
index 32f4fda..0e55c0c 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteNameTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteNameTest.kt
@@ -118,4 +118,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteRemainingDurationTest.kt b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteRemainingDurationTest.kt
index 28519cc..a94c361 100644
--- a/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteRemainingDurationTest.kt
+++ b/appactions/interaction/interaction-capabilities-productivity/src/test/java/androidx/appactions/interaction/capabilities/productivity/UpdateTimerOverwriteRemainingDurationTest.kt
@@ -118,4 +118,4 @@
                     .build()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/EmergencySharingInProgress.kt b/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/EmergencySharingInProgress.kt
index 4fc874c..0062e26 100644
--- a/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/EmergencySharingInProgress.kt
+++ b/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/EmergencySharingInProgress.kt
@@ -61,4 +61,4 @@
         EmergencySharingInProgressBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "EmergencySharingInProgress"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyAccountNotLoggedIn.kt b/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyAccountNotLoggedIn.kt
index fed52ff..048f0e4 100644
--- a/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyAccountNotLoggedIn.kt
+++ b/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyAccountNotLoggedIn.kt
@@ -61,4 +61,4 @@
         SafetyAccountNotLoggedInBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "SafetyAccountNotLoggedIn"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyFeatureNotOnboarded.kt b/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyFeatureNotOnboarded.kt
index 46d84ab..8c3474d 100644
--- a/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyFeatureNotOnboarded.kt
+++ b/appactions/interaction/interaction-capabilities-safety/src/main/java/androidx/appactions/interaction/capabilities/safety/executionstatus/SafetyFeatureNotOnboarded.kt
@@ -61,4 +61,4 @@
         SafetyFeatureNotOnboardedBuilderImpl().setIdentifier(identifier).setName(name)
 
     override fun toString(): String = "SafetyFeatureNotOnboarded"
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityRequest.kt b/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityRequest.kt
index 4dcf208..16e276d 100644
--- a/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityRequest.kt
+++ b/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityRequest.kt
@@ -43,4 +43,4 @@
       ).build()
     )
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityResponse.kt b/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityResponse.kt
index 17b40dc..36a0a88 100644
--- a/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityResponse.kt
+++ b/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityResponse.kt
@@ -28,4 +28,4 @@
 constructor(
   @get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
   val fulfillmentResponse: FulfillmentResponse
-)
\ No newline at end of file
+)
diff --git a/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityTestUtils.kt b/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityTestUtils.kt
index b5f25895..c2e01c7 100644
--- a/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityTestUtils.kt
+++ b/appactions/interaction/interaction-capabilities-testing/src/main/java/androidx/appactions/interaction/capabilities/testing/CapabilityTestUtils.kt
@@ -62,4 +62,4 @@
       ).build()
     )
   }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionGrpcMetadata.kt b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionGrpcMetadata.kt
index 9b81b60..6bdcb10 100644
--- a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionGrpcMetadata.kt
+++ b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionGrpcMetadata.kt
@@ -89,4 +89,4 @@
         )
         return metadata
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImpl.kt b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImpl.kt
index 4ad41c9..e8ffe9a 100644
--- a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImpl.kt
+++ b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/AppInteractionServiceGrpcImpl.kt
@@ -607,4 +607,4 @@
         )
         "executing action capability"
     }
-}
\ No newline at end of file
+}
diff --git a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/CapabilityExecutionException.kt b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/CapabilityExecutionException.kt
index 243c469..6f7b5ff 100644
--- a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/CapabilityExecutionException.kt
+++ b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/CapabilityExecutionException.kt
@@ -22,4 +22,4 @@
 internal class CapabilityExecutionException(
     val errorStatus: ErrorStatusInternal,
     message: String?
-) : RuntimeException(message)
\ No newline at end of file
+) : RuntimeException(message)
diff --git a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/RemoteViewsInternal.kt b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/RemoteViewsInternal.kt
index 4f5cb78..7d300c3 100644
--- a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/RemoteViewsInternal.kt
+++ b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/RemoteViewsInternal.kt
@@ -29,4 +29,4 @@
     val remoteViews: RemoteViews,
     val size: SizeF,
     val collectionViewFactories: Map<Int, RemoteViewsFactory> = mapOf()
-)
\ No newline at end of file
+)
diff --git a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiResponse.kt b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiResponse.kt
index 89290d3..ec2dded 100644
--- a/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiResponse.kt
+++ b/appactions/interaction/interaction-service/src/main/java/androidx/appactions/interaction/service/UiResponse.kt
@@ -83,4 +83,4 @@
                 RemoteViewsInternal(remoteViews!!, size!!, collectionViewFactories)
             )
     }
-}
\ No newline at end of file
+}
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 27d4b5a..4e15652 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
@@ -38,4 +38,4 @@
             EntityLookupResponse.SUCCESS
         ).build()
     }
-}
\ No newline at end of file
+}
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 e4e6f44..64f145f 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
@@ -28,4 +28,4 @@
     override var registeredEntityProviders: List<EntityProvider<*>> = listOf()
     override val securityPolicy: SecurityPolicy = SecurityPolicies.internalOnly()
     override val allowedApps: List<AppVerificationInfo> = listOf()
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-benchmark/src/androidTest/java/androidx/appcompat/benchmark/ViewInflationBenchmark.kt b/appcompat/appcompat-benchmark/src/androidTest/java/androidx/appcompat/benchmark/ViewInflationBenchmark.kt
index 24e689d..8a153fa 100644
--- a/appcompat/appcompat-benchmark/src/androidTest/java/androidx/appcompat/benchmark/ViewInflationBenchmark.kt
+++ b/appcompat/appcompat-benchmark/src/androidTest/java/androidx/appcompat/benchmark/ViewInflationBenchmark.kt
@@ -48,4 +48,4 @@
             inflater.inflate(R.layout.twelve_key_entry, root, false)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/app/SetActionBarDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/app/SetActionBarDetector.kt
index af31239..a7508fe 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/app/SetActionBarDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/app/SetActionBarDetector.kt
@@ -46,4 +46,4 @@
             Implementation(SetActionBarDetector::class.java, Scope.JAVA_FILE_SCOPE)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListAlphaDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListAlphaDetector.kt
index d23391df..f178cf2 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListAlphaDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListAlphaDetector.kt
@@ -68,4 +68,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListLoadingDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListLoadingDetector.kt
index 35a4b49..34e10b729 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListLoadingDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ColorStateListLoadingDetector.kt
@@ -56,4 +56,4 @@
             Implementation(ColorStateListLoadingDetector::class.java, Scope.JAVA_FILE_SCOPE)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/DrawableLoadingDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/DrawableLoadingDetector.kt
index 2a07c64..38e49b0 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/DrawableLoadingDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/DrawableLoadingDetector.kt
@@ -59,4 +59,4 @@
             Implementation(DrawableLoadingDetector::class.java, Scope.JAVA_FILE_SCOPE)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ImageViewTintDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ImageViewTintDetector.kt
index e397e71..1efd15b 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ImageViewTintDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/res/ImageViewTintDetector.kt
@@ -64,4 +64,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/SwitchUsageXmlDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/SwitchUsageXmlDetector.kt
index 21c9b96..ad7f027 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/SwitchUsageXmlDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/SwitchUsageXmlDetector.kt
@@ -49,4 +49,4 @@
             "Use `SwitchCompat` from AppCompat or `SwitchMaterial` from Material library"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesApiDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesApiDetector.kt
index 9446f05..da0acd9 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesApiDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesApiDetector.kt
@@ -60,4 +60,4 @@
             Implementation(TextViewCompoundDrawablesApiDetector::class.java, Scope.JAVA_FILE_SCOPE)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesXmlDetector.kt b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesXmlDetector.kt
index 6ba2361..cc03549 100644
--- a/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesXmlDetector.kt
+++ b/appcompat/appcompat-lint/src/main/kotlin/androidx/appcompat/widget/TextViewCompoundDrawablesXmlDetector.kt
@@ -82,4 +82,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/integ/IntegrationTestHelper.kt b/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/integ/IntegrationTestHelper.kt
index d7fa30d..f986b51 100644
--- a/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/integ/IntegrationTestHelper.kt
+++ b/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/integ/IntegrationTestHelper.kt
@@ -65,4 +65,4 @@
     val url = TestFiles::class.java.getResource(path)
         ?: throw IllegalArgumentException("Failed to load source for $resName")
     return TestFiles.xml(path, url.readText())
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/widget/SwitchUsageCodeDetectorTest.kt b/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/widget/SwitchUsageCodeDetectorTest.kt
index aeb8cc6..bd89439 100644
--- a/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/widget/SwitchUsageCodeDetectorTest.kt
+++ b/appcompat/appcompat-lint/src/test/kotlin/androidx/appcompat/lint/widget/SwitchUsageCodeDetectorTest.kt
@@ -92,4 +92,4 @@
             )
         /* ktlint-enable max-line-length */
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompatTest.kt b/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompatTest.kt
index 1277cba..4b93f40 100644
--- a/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompatTest.kt
+++ b/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompatTest.kt
@@ -254,4 +254,4 @@
         private val STATE_EMPTY = intArrayOf()
         private val STATE_FOCUSED = intArrayOf(android.R.attr.state_focused)
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/MyDrawable.kt b/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/MyDrawable.kt
index baf764d..b439a7f 100644
--- a/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/MyDrawable.kt
+++ b/appcompat/appcompat-resources/src/androidTest/java/androidx/appcompat/graphics/drawable/MyDrawable.kt
@@ -56,4 +56,4 @@
     override fun getOpacity(): Int {
         return PixelFormat.OPAQUE
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/Orientation.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/Orientation.kt
index c9461c5..fce0245 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/Orientation.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/Orientation.kt
@@ -31,4 +31,4 @@
     } finally {
         setOrientationNatural()
     }
-}
\ No newline at end of file
+}
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 050577f..c60faa2 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatActivityViewTreeTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatActivityViewTreeTest.kt
@@ -60,4 +60,4 @@
             activityRule.activity.window.decorView.findViewTreeOnBackPressedDispatcherOwner()
         assertThat(bpOwner).isEqualTo(activityRule.activity)
     }
-}
\ No newline at end of file
+}
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 c82b2ce..c77b374 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatDialogTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/AppCompatDialogTest.kt
@@ -64,4 +64,4 @@
                 .isNotSameInstanceAs(lifecycle)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/LocalesSetUsingFrameworkApiTestCase.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/LocalesSetUsingFrameworkApiTestCase.kt
index b0db522..4fb8011 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/LocalesSetUsingFrameworkApiTestCase.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/LocalesSetUsingFrameworkApiTestCase.kt
@@ -112,4 +112,4 @@
             LocaleList.getEmptyLocaleList()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeLocalBeforeAttachBaseActivity.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeLocalBeforeAttachBaseActivity.kt
index ed85ada..549dcd1 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeLocalBeforeAttachBaseActivity.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeLocalBeforeAttachBaseActivity.kt
@@ -28,4 +28,4 @@
 
         super.attachBaseContext(newBase)
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoDisplayAppCompatTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoDisplayAppCompatTest.kt
index a5e2068..d40005a 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoDisplayAppCompatTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoDisplayAppCompatTest.kt
@@ -35,4 +35,4 @@
             fail("launching AppCompatActivity with NoDisplay theme should not throw error")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatTest.kt
index 5614e37..e632e7a 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NoThemeAppCompatTest.kt
@@ -35,4 +35,4 @@
             fail("launching AppCompatActivity with no theme should not throw error")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/SupportActionBarTestCase.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/SupportActionBarTestCase.kt
index e77dd7d..def7443 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/SupportActionBarTestCase.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/SupportActionBarTestCase.kt
@@ -58,4 +58,4 @@
         val now: Long = SystemClock.uptimeMillis()
         return MotionEvent.obtain(now, now, action, 0f, 0f, 0)
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/g3/NavDrawerActivityTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/g3/NavDrawerActivityTest.kt
index c759808..ce19bae 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/g3/NavDrawerActivityTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/g3/NavDrawerActivityTest.kt
@@ -109,4 +109,4 @@
             assertThat(UITestUtils.verifyPressBackAndExit()).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesActivityTestRule.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesActivityTestRule.kt
index 976fac7..70e2a6a 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesActivityTestRule.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesActivityTestRule.kt
@@ -41,4 +41,4 @@
         // Reset locales persisted in static storage.
         LocalesUpdateActivity.teardown()
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesUtils.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesUtils.kt
index 5b21295..f15815c 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesUtils.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/LocalesUtils.kt
@@ -170,4 +170,4 @@
     ) = AppCompatDelegate.setApplicationLocales(locales)
 
     private fun getLocales(): LocaleListCompat = AppCompatDelegate.getApplicationLocales()
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/NightModeActivityTestRule.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/NightModeActivityTestRule.kt
index 1a9d477..8114dc3 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/NightModeActivityTestRule.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/testutils/NightModeActivityTestRule.kt
@@ -39,4 +39,4 @@
             AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
         }
     }
-}
\ No newline at end of file
+}
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 aa2e0f5..af93309 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAttributeTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAttributeTest.kt
@@ -200,4 +200,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatIconsTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatIconsTest.kt
index 37a1584..b887bfd 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatIconsTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatIconsTest.kt
@@ -109,4 +109,4 @@
             assertNotNull(drawableShare)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/ToolbarMenuHostTest.kt b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/ToolbarMenuHostTest.kt
index 547bc7c..48bccd6 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/ToolbarMenuHostTest.kt
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/ToolbarMenuHostTest.kt
@@ -321,4 +321,4 @@
         assertThat(toolbar.menu.findItem(R.id.item3)).isNotNull()
         assertThat(toolbar.menu.findItem(R.id.item4)).isNotNull()
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/Allocator.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/Allocator.kt
index 0b312c7..f865453 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/Allocator.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/Allocator.kt
@@ -41,4 +41,4 @@
  */
 fun allocate(objectsToAllocate: Int) {
     Allocator.allocate(objectsToAllocate)
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt
index 99f775b..7931916 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ArgumentInjectingApplication.kt
@@ -63,4 +63,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt
index 605df73..9a67dde 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricNameUtilsTest.kt
@@ -45,4 +45,4 @@
             "frameTime90thPercentileMs".toOutputMetricName()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricsContainerTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricsContainerTest.kt
index 81efcfa..fbcffdc 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricsContainerTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/MetricsContainerTest.kt
@@ -104,4 +104,4 @@
             container.captureFinished(2) // divide measurements by 2
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
index 1ffe3b6..439a395 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
@@ -183,4 +183,4 @@
             file.delete()
         }
     }
-}
\ No newline at end of file
+}
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 7aa7c6e..4df7561 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoHelperTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoHelperTest.kt
@@ -82,4 +82,4 @@
 
         validateStopAllPerfettoProcesses(unbundled = true)
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellBehaviorTest.kt b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellBehaviorTest.kt
index 493611c..43be7a1 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellBehaviorTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellBehaviorTest.kt
@@ -135,4 +135,4 @@
          */
         val psLabelRowRegex = Regex("USER\\s+PID.+NAME\\s*")
     }
-}
\ No newline at end of file
+}
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 8b8bfb0..20f264f 100644
--- a/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/UserspaceTracingTest.kt
+++ b/benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/UserspaceTracingTest.kt
@@ -124,4 +124,4 @@
         .open(prefix + suffix)
         .copyTo(file.outputStream())
     return file
-}
\ No newline at end of file
+}
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 749c4f5..8377e85 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
@@ -87,4 +87,4 @@
     fun shellSession_unroot() {
         Assume.assumeFalse(shellSessionRooted)
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api24.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api24.kt
index 78184d0..a8577d6 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api24.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Api24.kt
@@ -31,4 +31,4 @@
 
 internal fun Activity.setSustainedPerformanceMode(enable: Boolean) {
     window.setSustainedPerformanceMode(enable)
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/DeviceInfo.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/DeviceInfo.kt
index 81cad8c..9b81627 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/DeviceInfo.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/DeviceInfo.kt
@@ -134,4 +134,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/ExperimentalBenchmarkStateApi.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ExperimentalBenchmarkStateApi.kt
index 33eca57..8ea9d01 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/ExperimentalBenchmarkStateApi.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ExperimentalBenchmarkStateApi.kt
@@ -22,4 +22,4 @@
  */
 @RequiresOptIn
 @Retention(AnnotationRetention.BINARY)
-public annotation class ExperimentalBenchmarkStateApi
\ No newline at end of file
+public annotation class ExperimentalBenchmarkStateApi
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/IsolationActivity.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/IsolationActivity.kt
index f445df2..14f048c 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/IsolationActivity.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/IsolationActivity.kt
@@ -195,4 +195,4 @@
             override fun onActivityResumed(activity: Activity) {}
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/MemInfo.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MemInfo.kt
index b644bbe..d301877 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/MemInfo.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MemInfo.kt
@@ -26,4 +26,4 @@
         val memTotalLine = memInfo.readLines().firstOrNull { it.matches(Regex("MemTotal:.*")) }
         memTotalBytes = memTotalLine?.split(Regex("\\s+"))?.get(1)?.toLong()?.times(1024) ?: -1
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricNameUtils.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricNameUtils.kt
index 438812f..cd1ed74 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricNameUtils.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/MetricNameUtils.kt
@@ -32,4 +32,4 @@
 internal fun String.toOutputMetricName() = this
     .toSnakeCase()
     .replace(Regex("_ns$"), "_nanos")
-    .replace(Regex("_ms$"), "_millis")
\ No newline at end of file
+    .replace(Regex("_ms$"), "_millis")
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/PropOverride.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/PropOverride.kt
index bf57294..cb587de 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/PropOverride.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/PropOverride.kt
@@ -56,4 +56,4 @@
             Log.d(BenchmarkState.TAG, "resetting $propName to $resetValue")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/ThreadPriority.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ThreadPriority.kt
index a4e1cd2..3d1b9f1 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/ThreadPriority.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/ThreadPriority.kt
@@ -166,4 +166,4 @@
     fun get(): Int {
         return Process.getThreadPriority(Process.myTid())
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/AtraceTag.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/AtraceTag.kt
index d897d5d..ecfdba3 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/AtraceTag.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/AtraceTag.kt
@@ -90,4 +90,4 @@
             return values().toSet() - supported(api, rooted)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/ExperimentalPerfettoCaptureApi.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/ExperimentalPerfettoCaptureApi.kt
index 28d3e1f..7981803 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/ExperimentalPerfettoCaptureApi.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/ExperimentalPerfettoCaptureApi.kt
@@ -22,4 +22,4 @@
 @RequiresOptIn
 @Retention(AnnotationRetention.BINARY)
 @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
-public annotation class ExperimentalPerfettoCaptureApi
\ No newline at end of file
+public annotation class ExperimentalPerfettoCaptureApi
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoTrace.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoTrace.kt
index 411db99..3b98d0f 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoTrace.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoTrace.kt
@@ -172,4 +172,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-darwin-core/src/darwinMain/kotlin/androidx/benchmark/darwin/Placeholder.kt b/benchmark/benchmark-darwin-core/src/darwinMain/kotlin/androidx/benchmark/darwin/Placeholder.kt
index fe52a27..1810071 100644
--- a/benchmark/benchmark-darwin-core/src/darwinMain/kotlin/androidx/benchmark/darwin/Placeholder.kt
+++ b/benchmark/benchmark-darwin-core/src/darwinMain/kotlin/androidx/benchmark/darwin/Placeholder.kt
@@ -16,4 +16,4 @@
 
 package androidx.benchmark.darwin
 // empty file to trigger klib creation
-// see: https://youtrack.jetbrains.com/issue/KT-52344
\ No newline at end of file
+// see: https://youtrack.jetbrains.com/issue/KT-52344
diff --git a/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt
index 9f3e849..0757b67 100644
--- a/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt
+++ b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/ArgumentInjectingApplication.kt
@@ -52,4 +52,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt
index 4100a22..fc57f68 100644
--- a/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt
+++ b/benchmark/benchmark-junit4/src/androidTest/java/androidx/benchmark/junit4/BenchmarkRuleNotUsedTest.kt
@@ -37,4 +37,4 @@
     @Test
     public fun testWithoutMeasurement() {
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt
index 9ad9b62..76e1ede 100644
--- a/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt
+++ b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/AndroidBenchmarkRunner.kt
@@ -95,4 +95,4 @@
         super.waitForActivitiesToComplete()
         super.onDestroy()
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
index 008462d..024b80e 100644
--- a/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
+++ b/benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
@@ -291,4 +291,4 @@
 
 internal inline fun Statement(crossinline evaluate: () -> Unit) = object : Statement() {
     override fun evaluate() = evaluate()
-}
\ No newline at end of file
+}
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 db192f8..32837e2 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
@@ -39,4 +39,4 @@
     ) {
         resultBundle.putAll(InstrumentationResults.runEndResultBundle)
     }
-}
\ No newline at end of file
+}
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 337128e..03de19f 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
@@ -159,4 +159,4 @@
     companion object {
         const val TRACE_LABEL = "MacrobencharkTestTraceLabel"
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/Packages.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/Packages.kt
index 3580685..65ada92 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/Packages.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/Packages.kt
@@ -30,4 +30,4 @@
      * Preferably use this app/package if not killing/compiling target.
      */
     const val TEST = "androidx.benchmark.macro.test"
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PerfettoTraceRuleTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PerfettoTraceRuleTest.kt
index 6c10384..b8b2819 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PerfettoTraceRuleTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PerfettoTraceRuleTest.kt
@@ -82,4 +82,4 @@
         trace(UNIQUE_SLICE_NAME) {}
         throw IllegalStateException()
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
index ccefa64..7f1fa9a 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/PowerMetricTest.kt
@@ -171,4 +171,4 @@
             threshold = 0.1
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AudioUnderrunQueryTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AudioUnderrunQueryTest.kt
index 2588611..d3990f2 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AudioUnderrunQueryTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/AudioUnderrunQueryTest.kt
@@ -46,4 +46,4 @@
 
         assertEquals(expectedMetrics, subMetrics)
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/BatteryDischargeQueryTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/BatteryDischargeQueryTest.kt
index 59411dc..db3bea2 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/BatteryDischargeQueryTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/BatteryDischargeQueryTest.kt
@@ -61,4 +61,4 @@
             )
         ), actualMetrics)
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
index 6dfc931..be313c4 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
@@ -153,4 +153,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
index 385b460..e772ff9 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/PerfettoTraceProcessorTest.kt
@@ -274,4 +274,4 @@
             getTraceMetrics("android_startup")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/RowTest.kt b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/RowTest.kt
index c5007eb..d40ccf9 100644
--- a/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/RowTest.kt
+++ b/benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/perfetto/RowTest.kt
@@ -61,4 +61,4 @@
         assertNull(row.nullableDouble("null"))
         assertNull(row.nullableLong("null"))
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Api29.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Api29.kt
index 2acdf10..bd8350e 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Api29.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Api29.kt
@@ -23,4 +23,4 @@
 
 internal fun ApplicationInfo.isNotProfileableByShell(): Boolean {
     return !isProfileableByShell
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BatteryCharge.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BatteryCharge.kt
index fbec844..63072a2 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BatteryCharge.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BatteryCharge.kt
@@ -45,4 +45,4 @@
 
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
index dee66797..d0add4f 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
@@ -161,4 +161,4 @@
             iterationData = values
         )
     }.sortedBy { it.name }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/PowerCategoryDisplayLevel.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/PowerCategoryDisplayLevel.kt
index 03060cf..f73c926 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/PowerCategoryDisplayLevel.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/PowerCategoryDisplayLevel.kt
@@ -20,4 +20,4 @@
 enum class PowerCategoryDisplayLevel {
     BREAKDOWN,
     TOTAL
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/ProfileInstallBroadcast.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/ProfileInstallBroadcast.kt
index f81127b..4997763 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/ProfileInstallBroadcast.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/ProfileInstallBroadcast.kt
@@ -218,4 +218,4 @@
         packageName,
         "DROP_SHADER_CACHE"
     )
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/StartupMode.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/StartupMode.kt
index 12f33d6..6c4574f 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/StartupMode.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/StartupMode.kt
@@ -42,4 +42,4 @@
      * [Hot startup documentation](https://developer.android.com/topic/performance/vitals/launch-time#hot)
      */
     HOT
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Tag.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Tag.kt
index bf742ce..5536ca7 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Tag.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Tag.kt
@@ -16,4 +16,4 @@
 
 package androidx.benchmark.macro
 
-internal const val TAG: String = "Benchmark"
\ No newline at end of file
+internal const val TAG: String = "Benchmark"
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/AudioUnderrunQuery.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/AudioUnderrunQuery.kt
index cdb0f15..692175f 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/AudioUnderrunQuery.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/AudioUnderrunQuery.kt
@@ -78,4 +78,4 @@
     private const val VAL_VALUE = "value"
     private const val VAL_TS = "ts"
     private const val EXPECTED_COLUMN_COUNT = 3
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/BatteryDischargeQuery.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/BatteryDischargeQuery.kt
index 00973a0..ffad47c 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/BatteryDischargeQuery.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/BatteryDischargeQuery.kt
@@ -70,4 +70,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
index d0446bc..624fe55 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
@@ -237,4 +237,4 @@
                 map { frame -> frame.get(subMetric) }
             }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PowerQuery.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PowerQuery.kt
index b1f47b9..5f1d9c9 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PowerQuery.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PowerQuery.kt
@@ -195,4 +195,4 @@
             "Missing power categories in categoryToSubsystem"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StartupTimingQuery.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StartupTimingQuery.kt
index 4ac199d..13876b5 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StartupTimingQuery.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StartupTimingQuery.kt
@@ -196,4 +196,4 @@
             fullDisplayTs = reportFullyDrawnEndTs,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StringHelper.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StringHelper.kt
index cb268cc..667a76c 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StringHelper.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/StringHelper.kt
@@ -37,4 +37,4 @@
         }
     }
     return case
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
index e62dbec..2f74b4c 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/server/PerfettoHttpServer.kt
@@ -300,4 +300,4 @@
     @DoNotInline
     fun isCleartextTrafficPermittedForLocalhost() =
         NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted("localhost")
-}
\ No newline at end of file
+}
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Slice.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Slice.kt
index 1a45d7d..fd823e9 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Slice.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/perfetto/Slice.kt
@@ -39,4 +39,4 @@
 internal fun Sequence<Row>.toSlices(): List<Slice> =
     map {
         Slice(name = it.string("name"), ts = it.long("ts"), dur = it.long("dur"))
-    }.toList()
\ No newline at end of file
+    }.toList()
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 e78a7a0..813406f 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
@@ -101,4 +101,4 @@
 
         return ProcessResult(process.exitValue(), stdout, stderr)
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/ArgumentInjectingApplication.kt b/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/ArgumentInjectingApplication.kt
index 6059c07..9b49833 100644
--- a/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/ArgumentInjectingApplication.kt
+++ b/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/ArgumentInjectingApplication.kt
@@ -46,4 +46,4 @@
             putString("androidx.benchmark.profiling.mode", "none") // noop, tests "none" arg parsing
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/DryRunBenchmark.kt b/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/DryRunBenchmark.kt
index ffed91e..d0454fb 100644
--- a/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/DryRunBenchmark.kt
+++ b/benchmark/integration-tests/dry-run-benchmark/src/androidTest/java/androidx/benchmark/integration/dryrun/benchmark/DryRunBenchmark.kt
@@ -51,4 +51,4 @@
         // dry run mode always runs 1 loops
         assertEquals(1, iterationCount)
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/AudioActivity.kt b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/AudioActivity.kt
index 752e908..0fd36d9 100644
--- a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/AudioActivity.kt
+++ b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/AudioActivity.kt
@@ -97,4 +97,4 @@
 
         return buffer
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/NoOpWorker.kt b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/NoOpWorker.kt
index 37e868f..6a7bf51 100644
--- a/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/NoOpWorker.kt
+++ b/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/benchmark/integration/macrobenchmark/target/NoOpWorker.kt
@@ -28,4 +28,4 @@
     override suspend fun doWork(): Result {
         return Result.success()
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/AudioUnderrunBenchmark.kt b/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/AudioUnderrunBenchmark.kt
index 3da5875..80ae058 100644
--- a/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/AudioUnderrunBenchmark.kt
+++ b/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/benchmark/integration/macrobenchmark/AudioUnderrunBenchmark.kt
@@ -72,4 +72,4 @@
         private const val ACTION = "$PACKAGE_NAME.AUDIO_ACTIVITY"
         private const val DURATION_MS = 2000
     }
-}
\ No newline at end of file
+}
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 daff320..96a9ea5 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
@@ -92,4 +92,4 @@
         private const val ACTION = "$PACKAGE_NAME.SINGLE_COLOR_ACTIVITY"
         private const val DURATION_MS = 5000
     }
-}
\ No newline at end of file
+}
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 abd49e50..fcf6522 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
@@ -222,4 +222,4 @@
         private const val ACTION = "$PACKAGE_NAME.BACKGROUND_WORK_ACTIVITY"
         private const val DURATION_MS = 5000
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/ArgumentInjectingApplication.kt b/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/ArgumentInjectingApplication.kt
index f4317b0..a3f0914 100644
--- a/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/ArgumentInjectingApplication.kt
+++ b/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/ArgumentInjectingApplication.kt
@@ -42,4 +42,4 @@
             putString("androidx.benchmark.startupMode.enable", "true")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/EmptyTest.kt b/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/EmptyTest.kt
index 675ff5e..6d2a332 100644
--- a/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/EmptyTest.kt
+++ b/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/EmptyTest.kt
@@ -25,4 +25,4 @@
      */
     @Test
     fun emptyTest() {}
-}
\ No newline at end of file
+}
diff --git a/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/StartupBenchmark.kt b/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/StartupBenchmark.kt
index 1e0525f..7802afc 100644
--- a/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/StartupBenchmark.kt
+++ b/benchmark/integration-tests/startup-benchmark/src/androidTest/java/androidx/benchmark/integration/startup/benchmark/StartupBenchmark.kt
@@ -48,4 +48,4 @@
         // startup mode always runs 10 loops
         assertEquals(10, iterationCount)
     }
-}
\ No newline at end of file
+}
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 d37eb21..e3a8124 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
@@ -204,4 +204,4 @@
     description: CharSequence?
 ): CredentialAuthPrompt = CredentialAuthPrompt.Builder(title)
     .apply { description?.let { setDescription(it) } }
-    .build()
\ No newline at end of file
+    .build()
diff --git a/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/BiometricPromptEnrolledTest.kt b/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/BiometricPromptEnrolledTest.kt
index 86a3a81..2faa940 100644
--- a/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/BiometricPromptEnrolledTest.kt
+++ b/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/BiometricPromptEnrolledTest.kt
@@ -151,4 +151,4 @@
         onView(withId(R.id.allow_device_credential_checkbox)).perform(click())
         testBiometricOnlyAuth_SendsError_WhenActivityBackgrounded()
     }
-}
\ No newline at end of file
+}
diff --git a/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/TestUtils.kt b/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/TestUtils.kt
index 6b82eaa..a7b40a2 100644
--- a/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/TestUtils.kt
+++ b/biometric/integration-tests/testapp/src/androidTest/java/androidx/biometric/integration/testapp/TestUtils.kt
@@ -103,4 +103,4 @@
 internal fun navigateToHomeScreen(device: UiDevice) {
     device.pressHome()
     device.waitForIdle(IDLE_TIMEOUT_MS)
-}
\ No newline at end of file
+}
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 ef20273..ac89d6f 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
@@ -311,4 +311,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/CryptoUtils.kt b/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/CryptoUtils.kt
index 1eb141d..a9da761 100644
--- a/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/CryptoUtils.kt
+++ b/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/CryptoUtils.kt
@@ -177,4 +177,4 @@
     fun buildKeyGenParameterSpec(builder: KeyGenParameterSpec.Builder): KeyGenParameterSpec {
         return builder.build()
     }
-}
\ No newline at end of file
+}
diff --git a/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/LoggingUtils.kt b/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/LoggingUtils.kt
index 8ba8acb..c74ec4e 100644
--- a/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/LoggingUtils.kt
+++ b/biometric/integration-tests/testapp/src/main/java/androidx/biometric/integration/testapp/LoggingUtils.kt
@@ -64,4 +64,4 @@
 @SuppressLint("SetTextI18n")
 internal fun TextView.prependLogMessage(message: CharSequence) {
     text = "$message\n$text"
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricAdvertiseTest.kt b/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricAdvertiseTest.kt
index 2a60f6f..8fb6552 100644
--- a/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricAdvertiseTest.kt
+++ b/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricAdvertiseTest.kt
@@ -63,4 +63,4 @@
             Assert.assertEquals(AdvertiseResult.ADVERTISE_FAILED_DATA_TOO_LARGE, result)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricScanTest.kt b/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricScanTest.kt
index b1201c1..f7a4349 100644
--- a/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricScanTest.kt
+++ b/bluetooth/bluetooth-testing/src/test/kotlin/androidx/bluetooth/testing/RobolectricScanTest.kt
@@ -50,4 +50,4 @@
             // expected
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothAddressTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothAddressTest.kt
index e2984ae..beaa6f1 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothAddressTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothAddressTest.kt
@@ -80,4 +80,4 @@
             BluetoothAddress(invalidAddress, BluetoothAddress.ADDRESS_TYPE_UNKNOWN)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothDeviceTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothDeviceTest.kt
index f182513..98eeb61 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothDeviceTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/BluetoothDeviceTest.kt
@@ -60,4 +60,4 @@
         assertEquals(bluetoothDevice.bondState, fwkBluetoothDevice.bondState)
         assertEquals(bluetoothDevice.name, fwkBluetoothDevice.name)
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattCharacteristicTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattCharacteristicTest.kt
index 0dbc5e5..5ec0dbd 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattCharacteristicTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattCharacteristicTest.kt
@@ -99,4 +99,4 @@
         Assert.assertEquals(properties, characteristic.properties)
         Assert.assertEquals(permissions, characteristic.permissions)
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattServiceTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattServiceTest.kt
index 319e72d..59801ed 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattServiceTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/GattServiceTest.kt
@@ -76,4 +76,4 @@
         characteristics.add(char3)
         assertEquals(2, gattService.characteristics.size)
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanFilterTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanFilterTest.kt
index 0280ca3..920eb02 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanFilterTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanFilterTest.kt
@@ -134,4 +134,4 @@
             ScanFilter(serviceUuidMask = serviceUuidMask)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanResultTest.kt b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanResultTest.kt
index b687e5a..9df2442 100644
--- a/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanResultTest.kt
+++ b/bluetooth/bluetooth/src/androidTest/java/androidx/bluetooth/ScanResultTest.kt
@@ -64,4 +64,4 @@
         assertEquals(scanResult.serviceUuids, emptyList<UUID>())
         assertEquals(scanResult.getServiceData(serviceUuid), null)
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothAddress.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothAddress.kt
index ce16ba3..c289bdb 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothAddress.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothAddress.kt
@@ -68,4 +68,4 @@
             else -> ADDRESS_TYPE_UNKNOWN
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothDevice.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothDevice.kt
index 3ee9cb4..2cc4340 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothDevice.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/BluetoothDevice.kt
@@ -57,4 +57,4 @@
     )
     val bondState: Int
         get() = fwkDevice.bondState
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattCharacteristic.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattCharacteristic.kt
index e31b651..c198dc9 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattCharacteristic.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattCharacteristic.kt
@@ -115,4 +115,4 @@
 fun GattCharacteristic(uuid: UUID, properties: Int, permissions: Int): GattCharacteristic {
     val fwkCharacteristic = BluetoothGattCharacteristic(uuid, properties, permissions)
     return GattCharacteristic(fwkCharacteristic)
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattService.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattService.kt
index 5676953..6a8407f 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattService.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/GattService.kt
@@ -47,4 +47,4 @@
     val fwkService = BluetoothGattService(uuid, BluetoothGattService.SERVICE_TYPE_PRIMARY)
     characteristics.forEach { fwkService.addCharacteristic(it.fwkCharacteristic) }
     return GattService(fwkService, characteristics)
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanFilter.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanFilter.kt
index 8969db2..b194c96 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanFilter.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanFilter.kt
@@ -87,4 +87,4 @@
             throw IllegalArgumentException("uuid is null while uuidMask is not null")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanResult.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanResult.kt
index dc2dd2f..a43c58b 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanResult.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanResult.kt
@@ -87,4 +87,4 @@
     fun isConnectable(): Boolean {
         return fwkScanResult.isConnectable
     }
-}
\ No newline at end of file
+}
diff --git a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanType.kt b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanType.kt
index e26a338..1012041 100644
--- a/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanType.kt
+++ b/bluetooth/bluetooth/src/main/java/androidx/bluetooth/ScanType.kt
@@ -47,4 +47,4 @@
          */
         public const val MATCH_LOST: Int = ScanSettings.CALLBACK_TYPE_MATCH_LOST
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/plugins/src/main/kotlin/androidx/build/AndroidXPaparazziPlugin.kt b/buildSrc/plugins/src/main/kotlin/androidx/build/AndroidXPaparazziPlugin.kt
index f327627..12824f4 100644
--- a/buildSrc/plugins/src/main/kotlin/androidx/build/AndroidXPaparazziPlugin.kt
+++ b/buildSrc/plugins/src/main/kotlin/androidx/build/AndroidXPaparazziPlugin.kt
@@ -33,4 +33,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeLintIssues.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeLintIssues.kt
index 4f039ec..364fc49 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeLintIssues.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeLintIssues.kt
@@ -42,4 +42,4 @@
     "ReturnFromAwaitPointerEventScope",
     "UseOfNonLambdaOffsetOverload",
     "MultipleAwaitPointerEventScopes",
-)
\ No newline at end of file
+)
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/FtlRunner.kt b/buildSrc/private/src/main/kotlin/androidx/build/FtlRunner.kt
index d2c8f17..1f21a61 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/FtlRunner.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/FtlRunner.kt
@@ -216,4 +216,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/Ktfmt.kt b/buildSrc/private/src/main/kotlin/androidx/build/Ktfmt.kt
index 5c23c37..36d7f58 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/Ktfmt.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/Ktfmt.kt
@@ -178,4 +178,4 @@
     fun runCheck() {
         runKtfmt(format = false)
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt b/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt
index 111b4d1..c264097 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/Ktlint.kt
@@ -58,8 +58,6 @@
 }
 
 private val DisabledRules = listOf(
-    // not useful for our projects
-    "final-newline",
     // TODO: reenable when https://github.com/pinterest/ktlint/issues/1221 is resolved
     "indent",
     // TODO: reenable when 'indent' is also enabled, meanwhile its to keep the status-quo
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt b/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt
index 5c6a88c..fd51702 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/ProjectExt.kt
@@ -64,4 +64,4 @@
             onConfigure(it)
         }.also(onRegister)
     } ?: tasks.named(name) as TaskProvider<T>
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/buildInfo/VariantPublishPlan.kt b/buildSrc/private/src/main/kotlin/androidx/build/buildInfo/VariantPublishPlan.kt
index 1429b2e..9ad3fed 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/buildInfo/VariantPublishPlan.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/buildInfo/VariantPublishPlan.kt
@@ -33,4 +33,4 @@
     val taskSuffix: String = "",
     val dependencies: Provider<List<Dependency>>,
     val dependencyConstraints: Provider<List<DependencyConstraint>>
-)
\ No newline at end of file
+)
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/dackka/DokkaInputModels.kt b/buildSrc/private/src/main/kotlin/androidx/build/dackka/DokkaInputModels.kt
index 96ba6eae..973e956 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/dackka/DokkaInputModels.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/dackka/DokkaInputModels.kt
@@ -96,4 +96,4 @@
         @get:Input
         val packageListUrl: String?
     )
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/dackka/MetadataEntry.kt b/buildSrc/private/src/main/kotlin/androidx/build/dackka/MetadataEntry.kt
index d450f18..85228cc 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/dackka/MetadataEntry.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/dackka/MetadataEntry.kt
@@ -33,4 +33,4 @@
 
     @SerializedName("jarContents")
     val jarContents: List<String>,
-)
\ No newline at end of file
+)
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/dependencyallowlist/DependencyAllowlist.kt b/buildSrc/private/src/main/kotlin/androidx/build/dependencyallowlist/DependencyAllowlist.kt
index 06fb204..38d1f8d 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/dependencyallowlist/DependencyAllowlist.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/dependencyallowlist/DependencyAllowlist.kt
@@ -67,4 +67,4 @@
 private fun String.containsBug() =
     contains("b/") || contains("github.com") && contains("issues")
 
-private fun NodeList.toList() = (0 until length).map { item(it) }
\ No newline at end of file
+private fun NodeList.toList() = (0 until length).map { item(it) }
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 9101dc7..5f05520 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/libabigail/NativeApiTasks.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/libabigail/NativeApiTasks.kt
@@ -116,4 +116,4 @@
         project.addToCheckTask(checkNativeApi)
         project.addToBuildOnServer(checkNativeApi)
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/UnzipPaparazziNativeTransform.kt b/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/UnzipPaparazziNativeTransform.kt
index 0af7ef7..9d7e8c6 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/UnzipPaparazziNativeTransform.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/paparazzi/UnzipPaparazziNativeTransform.kt
@@ -57,4 +57,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/releasenotes/Markdown.kt b/buildSrc/private/src/main/kotlin/androidx/build/releasenotes/Markdown.kt
index 498e836..db0c3c1 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/releasenotes/Markdown.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/releasenotes/Markdown.kt
@@ -93,4 +93,4 @@
     fun print() {
         println(toString())
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/GenerateTestConfigurationTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/GenerateTestConfigurationTask.kt
index 6e2ac84..72815c8 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/GenerateTestConfigurationTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/GenerateTestConfigurationTask.kt
@@ -184,4 +184,4 @@
         }
     }
     return resolvedFile
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestApkSha256Report.kt b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestApkSha256Report.kt
index 7fd7d05..cf8f637 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestApkSha256Report.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/testConfiguration/TestApkSha256Report.kt
@@ -31,4 +31,4 @@
     return BaseEncoding.base16().lowerCase().encode(
         hasher.hash().asBytes()
     )
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt b/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt
index 1b04cf7..7edbb27 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt
@@ -64,4 +64,4 @@
         TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE,
         project.objects.named(TargetJvmEnvironment::class.java, TargetJvmEnvironment.ANDROID)
     )
-}
\ No newline at end of file
+}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/transform/IdentityTransform.kt b/buildSrc/private/src/main/kotlin/androidx/build/transform/IdentityTransform.kt
index d662963..9ddbcb9 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/transform/IdentityTransform.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/transform/IdentityTransform.kt
@@ -41,4 +41,4 @@
                 "File/directory does not exist: ${input.absolutePath}")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfig.kt b/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfig.kt
index f51e0e9..1e8e5fe 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfig.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfig.kt
@@ -135,4 +135,4 @@
             File(getSdkPath(), "platforms/$compileSdk/optional/android.test.runner.jar")
         )
     )
-}
\ No newline at end of file
+}
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt b/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt
index c73ff70..0f09b4f 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/OperatingSystem.kt
@@ -35,4 +35,4 @@
         os.startsWith("linux") -> OperatingSystem.LINUX
         else -> throw GradleException("Unsupported operating system $os")
     }
-}
\ No newline at end of file
+}
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/SdkHelper.kt b/buildSrc/public/src/main/kotlin/androidx/build/SdkHelper.kt
index b159b36..f952524 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/SdkHelper.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/SdkHelper.kt
@@ -168,4 +168,4 @@
  */
 fun Project.getKonanPrebuiltsFolder(): File {
     return getPrebuiltsRoot().resolve("androidx/konan")
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/Camera2CameraControlDeviceTest.kt b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/Camera2CameraControlDeviceTest.kt
index fc3bf34..ad18e9d 100644
--- a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/Camera2CameraControlDeviceTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/Camera2CameraControlDeviceTest.kt
@@ -496,4 +496,4 @@
         )
         camera2CameraControl = Camera2CameraControl.from(camera.cameraControl)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/CaptureConfigAdapterDeviceTest.kt b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/CaptureConfigAdapterDeviceTest.kt
index c8d8825a..f8e93c7 100644
--- a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/CaptureConfigAdapterDeviceTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/CaptureConfigAdapterDeviceTest.kt
@@ -185,4 +185,4 @@
             surfaceTexture.release()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EncoderProfilesProviderAdapterDeviceTest.kt b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EncoderProfilesProviderAdapterDeviceTest.kt
index 9a81718..3f7c01e 100644
--- a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EncoderProfilesProviderAdapterDeviceTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EncoderProfilesProviderAdapterDeviceTest.kt
@@ -204,4 +204,4 @@
         return Build.MODEL.contains("Cuttlefish", true) &&
             (Build.ID.startsWith("TP1A", true) || Build.ID.startsWith("TSE4", true))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EvCompDeviceTest.kt b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EvCompDeviceTest.kt
index 1c7730d..262a338 100644
--- a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EvCompDeviceTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/EvCompDeviceTest.kt
@@ -270,4 +270,4 @@
         )
         cameraControl = camera.cameraControl.toCameraControlAdapter()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/InitializationTest.kt b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/InitializationTest.kt
index d093292..5e28362 100644
--- a/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/InitializationTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/androidTest/java/androidx/camera/camera2/pipe/integration/InitializationTest.kt
@@ -47,4 +47,4 @@
         cameraProvider.shutdown().await()
         return@runBlocking
     }
-}
\ No newline at end of file
+}
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 80eed7d..46a90fc 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
@@ -124,4 +124,4 @@
             verifyBlock(captureRequests, captureResults)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/CameraPipeConfig.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/CameraPipeConfig.kt
index 4196f2f..520974c 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/CameraPipeConfig.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/CameraPipeConfig.kt
@@ -61,4 +61,4 @@
                 .build()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryAdapter.kt
index 1aaab34..eb8dcb1 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryAdapter.kt
@@ -135,4 +135,4 @@
     }
 
     override fun getCameraManager(): Any = appComponent
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryProvider.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryProvider.kt
index 91cc123..d24697b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryProvider.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraFactoryProvider.kt
@@ -102,4 +102,4 @@
         Debug.traceStop()
         return cameraPipe
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapter.kt
index 268c9a4..8372c38 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapter.kt
@@ -261,4 +261,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraSurfaceAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraSurfaceAdapter.kt
index f920bed..e8b59257 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraSurfaceAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/CameraSurfaceAdapter.kt
@@ -147,4 +147,4 @@
             newUseCaseConfigsSupportedSizeMap
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EncoderProfilesProviderAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EncoderProfilesProviderAdapter.kt
index d16071e9..f2250d1 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EncoderProfilesProviderAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EncoderProfilesProviderAdapter.kt
@@ -141,4 +141,4 @@
     companion object {
         private const val TAG = "EncoderProfilesProviderAdapter"
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EvCompValue.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EvCompValue.kt
index ef218f0..99c93d4 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EvCompValue.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/EvCompValue.kt
@@ -41,4 +41,4 @@
     internal fun updateIndex(newIndex: Int): EvCompValue {
         return copy(index = newIndex)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/ExposureStateAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/ExposureStateAdapter.kt
index 3b4ae6a..b891648 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/ExposureStateAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/ExposureStateAdapter.kt
@@ -53,4 +53,4 @@
         return cameraProperties.metadata[CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE]
             ?: EMPTY_RANGE
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/GuaranteedConfigurationsUtil.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/GuaranteedConfigurationsUtil.kt
index b383e7a..ce74b04 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/GuaranteedConfigurationsUtil.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/GuaranteedConfigurationsUtil.kt
@@ -724,4 +724,4 @@
         surfaceCombinations.addAll(getConcurrentSupportedCombinationList())
         return surfaceCombinations
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SessionConfigAdapter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SessionConfigAdapter.kt
index 13ec899..09ea465 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SessionConfigAdapter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/adapter/SessionConfigAdapter.kt
@@ -208,4 +208,4 @@
             return Camera2ImplConfig(implementationOptions)
         }
     }
-}
\ No newline at end of file
+}
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 8ba00e1..daa54a8 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
@@ -772,4 +772,4 @@
     companion object {
         private const val TAG = "SupportedSurfaceCombination"
     }
-}
\ No newline at end of file
+}
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 907d4e5..e7b63a3 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
@@ -174,4 +174,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/EvCompCompat.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/EvCompCompat.kt
index 3dafac7..d880775 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/EvCompCompat.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/EvCompCompat.kt
@@ -161,4 +161,4 @@
 
         return signal
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompat.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompat.kt
index 5eb3edb..5b963d5 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompat.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompat.kt
@@ -153,4 +153,4 @@
          */
         fun unwrap(): StreamConfigurationMap?
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompatApi23Impl.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompatApi23Impl.kt
index 53b126f..342eb6b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompatApi23Impl.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/StreamConfigurationMapCompatApi23Impl.kt
@@ -30,4 +30,4 @@
     override fun getHighResolutionOutputSizes(format: Int): Array<Size>? {
         return streamConfigurationMap?.getHighResolutionOutputSizes(format)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AeFpsRangeLegacyQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AeFpsRangeLegacyQuirk.kt
index e8c12f7..3feee08 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AeFpsRangeLegacyQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AeFpsRangeLegacyQuirk.kt
@@ -103,4 +103,4 @@
             return level == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AspectRatioLegacyApi21Quirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AspectRatioLegacyApi21Quirk.kt
index 3634002..b45fc4c2 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AspectRatioLegacyApi21Quirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/AspectRatioLegacyApi21Quirk.kt
@@ -53,4 +53,4 @@
                 Build.VERSION.SDK_INT == 21
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CameraNoResponseWhenEnablingFlashQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CameraNoResponseWhenEnablingFlashQuirk.kt
index 92d37e5..b594466 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CameraNoResponseWhenEnablingFlashQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CameraNoResponseWhenEnablingFlashQuirk.kt
@@ -66,4 +66,4 @@
                 cameraMetadata[CameraCharacteristics.LENS_FACING] == LENS_FACING_BACK
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionOnClosedNotCalledQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionOnClosedNotCalledQuirk.kt
index c97a228..371f58f 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionOnClosedNotCalledQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionOnClosedNotCalledQuirk.kt
@@ -43,4 +43,4 @@
          */
         fun isEnabled(): Boolean = false
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionStuckQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionStuckQuirk.kt
index 9d3ba9e..cd201ec 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionStuckQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CaptureSessionStuckQuirk.kt
@@ -43,4 +43,4 @@
          */
         fun isEnabled(): Boolean = false
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCameraDeviceOnCameraGraphCloseQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCameraDeviceOnCameraGraphCloseQuirk.kt
index f3ebd6b..d1c3dc1 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCameraDeviceOnCameraGraphCloseQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCameraDeviceOnCameraGraphCloseQuirk.kt
@@ -43,4 +43,4 @@
             return Build.HARDWARE == "samsungexynos7870"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnDisconnectQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnDisconnectQuirk.kt
index 5e70155..b68e948 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnDisconnectQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnDisconnectQuirk.kt
@@ -75,4 +75,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnVideoQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnVideoQuirk.kt
index caad5f5..7a111e5 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnVideoQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CloseCaptureSessionOnVideoQuirk.kt
@@ -39,4 +39,4 @@
     companion object {
         fun isEnabled(): Boolean = true
     }
-}
\ No newline at end of file
+}
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 969985f..e325619 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
@@ -46,4 +46,4 @@
             return level == INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CrashWhenTakingPhotoWithAutoFlashAEModeQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CrashWhenTakingPhotoWithAutoFlashAEModeQuirk.kt
index 09bbda7..3f941bd 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CrashWhenTakingPhotoWithAutoFlashAEModeQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/CrashWhenTakingPhotoWithAutoFlashAEModeQuirk.kt
@@ -63,4 +63,4 @@
             return AFFECTED_MODELS.contains(Build.MODEL.uppercase())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/DeviceQuirks.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/DeviceQuirks.kt
index a46eb22..b0a1998 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/DeviceQuirks.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/DeviceQuirks.kt
@@ -47,4 +47,4 @@
     operator fun <T : Quirk?> get(quirkClass: Class<T>): T? {
         return all.get(quirkClass)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExcludedSupportedSizesQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExcludedSupportedSizesQuirk.kt
index 4f6107d..d2fd771 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExcludedSupportedSizesQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExcludedSupportedSizesQuirk.kt
@@ -240,4 +240,4 @@
                     (Build.VERSION.SDK_INT >= 27))
             }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirk.kt
index 2e9b935..876c408 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirk.kt
@@ -96,4 +96,4 @@
                 return apiLevelRange?.contains(Build.VERSION.SDK_INT) ?: true
             }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedOutputSizeQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedOutputSizeQuirk.kt
index fc4e622..8f78da2 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedOutputSizeQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedOutputSizeQuirk.kt
@@ -88,4 +88,4 @@
                 Build.MODEL, ignoreCase = true
             )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirk.kt
index 83a2a88..0c22433 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirk.kt
@@ -349,4 +349,4 @@
             return surfaceCombination
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FinalizeSessionOnCloseQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FinalizeSessionOnCloseQuirk.kt
index eeec375..a3cb4c7 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FinalizeSessionOnCloseQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FinalizeSessionOnCloseQuirk.kt
@@ -67,4 +67,4 @@
                 FinalizeSessionOnCloseBehavior.OFF
             }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FlashAvailabilityBufferUnderflowQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FlashAvailabilityBufferUnderflowQuirk.kt
index bc50a37..d6a3237 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FlashAvailabilityBufferUnderflowQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/FlashAvailabilityBufferUnderflowQuirk.kt
@@ -60,4 +60,4 @@
                 DeviceInfo(manufacturer.lowercase(Locale.US), model.lowercase(Locale.US))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFailWithAutoFlashQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFailWithAutoFlashQuirk.kt
index 1b6a41f..21d7e219 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFailWithAutoFlashQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFailWithAutoFlashQuirk.kt
@@ -52,4 +52,4 @@
                 cameraMetadata[LENS_FACING] == LENS_FACING_FRONT
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFlashNotFireQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFlashNotFireQuirk.kt
index 7ddffbb..66a8f07 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFlashNotFireQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureFlashNotFireQuirk.kt
@@ -54,4 +54,4 @@
             return isFrontCameraAffected || isAffected
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWashedOutImageQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWashedOutImageQuirk.kt
index 64cd4ab..2c9ece1 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWashedOutImageQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWashedOutImageQuirk.kt
@@ -62,4 +62,4 @@
                 cameraMetadata[LENS_FACING] == LENS_FACING_BACK
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWithFlashUnderexposureQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWithFlashUnderexposureQuirk.kt
index d6c1817..8af6c6b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWithFlashUnderexposureQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/ImageCaptureWithFlashUnderexposureQuirk.kt
@@ -56,4 +56,4 @@
                 cameraMetadata[LENS_FACING] == LENS_FACING_BACK
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/InvalidVideoProfilesQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/InvalidVideoProfilesQuirk.kt
index dac86b9..4c2c27a 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/InvalidVideoProfilesQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/InvalidVideoProfilesQuirk.kt
@@ -86,4 +86,4 @@
             return Build.ID.startsWith("TD1A", true)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/Nexus4AndroidLTargetAspectRatioQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/Nexus4AndroidLTargetAspectRatioQuirk.kt
index 9833eb1..5a02af2 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/Nexus4AndroidLTargetAspectRatioQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/Nexus4AndroidLTargetAspectRatioQuirk.kt
@@ -58,4 +58,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewOrientationIncorrectQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewOrientationIncorrectQuirk.kt
index 7428f9a..98faa45 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewOrientationIncorrectQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewOrientationIncorrectQuirk.kt
@@ -46,4 +46,4 @@
             return level == INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewPixelHDRnetQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewPixelHDRnetQuirk.kt
index 655f21b..b161f45 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewPixelHDRnetQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/PreviewPixelHDRnetQuirk.kt
@@ -52,4 +52,4 @@
                 Build.DEVICE.lowercase(Locale.getDefault())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/RepeatingStreamConstraintForVideoRecordingQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/RepeatingStreamConstraintForVideoRecordingQuirk.kt
index 8235b0b..710e9e1 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/RepeatingStreamConstraintForVideoRecordingQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/RepeatingStreamConstraintForVideoRecordingQuirk.kt
@@ -40,4 +40,4 @@
             "Huawei".equals(Build.BRAND, ignoreCase = true) &&
             "mha-l29".equals(Build.MODEL, ignoreCase = true)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/SurfaceOrderQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/SurfaceOrderQuirk.kt
index 4778a85..846704c 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/SurfaceOrderQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/SurfaceOrderQuirk.kt
@@ -56,4 +56,4 @@
             ))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TextureViewIsClosedQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TextureViewIsClosedQuirk.kt
index 136e3c6..31c05f8 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TextureViewIsClosedQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TextureViewIsClosedQuirk.kt
@@ -42,4 +42,4 @@
             return Build.VERSION.SDK_INT <= Build.VERSION_CODES.M
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TorchIsClosedAfterImageCapturingQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TorchIsClosedAfterImageCapturingQuirk.kt
index 52c7c81..836663e 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TorchIsClosedAfterImageCapturingQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/TorchIsClosedAfterImageCapturingQuirk.kt
@@ -46,4 +46,4 @@
             return BUILD_MODELS.contains(Build.MODEL.lowercase())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/UseTorchAsFlashQuirk.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/UseTorchAsFlashQuirk.kt
index bc57376..e72272b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/UseTorchAsFlashQuirk.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/quirk/UseTorchAsFlashQuirk.kt
@@ -27,4 +27,4 @@
  * pre-capture.
  */
 @RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java
-interface UseTorchAsFlashQuirk : Quirk
\ No newline at end of file
+interface UseTorchAsFlashQuirk : Quirk
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRange.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRange.kt
index 8f1c132..d5c8b0c 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRange.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRange.kt
@@ -43,4 +43,4 @@
     fun getTargetAeFpsRange(): Range<Int>? {
         return aeTargetFpsRange
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/CapturePipelineTorchCorrection.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/CapturePipelineTorchCorrection.kt
index 0525273..713d6c4 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/CapturePipelineTorchCorrection.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/CapturePipelineTorchCorrection.kt
@@ -103,4 +103,4 @@
         val isEnabled = DeviceQuirks[TorchIsClosedAfterImageCapturingQuirk::class.java] != null
         private val stillCaptureTemplate = RequestTemplate(CameraDevice.TEMPLATE_STILL_CAPTURE)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/FlashAvailabilityChecker.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/FlashAvailabilityChecker.kt
index febe978..fbb8072 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/FlashAvailabilityChecker.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/FlashAvailabilityChecker.kt
@@ -72,4 +72,4 @@
         }
     }
     return flashAvailable ?: false
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ImageCapturePixelHDRPlus.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ImageCapturePixelHDRPlus.kt
index 52aff5a..2adfbee 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ImageCapturePixelHDRPlus.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ImageCapturePixelHDRPlus.kt
@@ -50,4 +50,4 @@
         ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY ->
             setCaptureRequestOption(CaptureRequest.CONTROL_ENABLE_ZSL, false)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/InactiveSurfaceCloser.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/InactiveSurfaceCloser.kt
index d08bbb9..315c205 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/InactiveSurfaceCloser.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/InactiveSurfaceCloser.kt
@@ -131,4 +131,4 @@
     override fun closeAll() {
         // Nothing to do.
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/MaxPreviewSize.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/MaxPreviewSize.kt
index 93a724e..c65a9db 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/MaxPreviewSize.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/MaxPreviewSize.kt
@@ -50,4 +50,4 @@
             defaultMaxPreviewResolution.width * defaultMaxPreviewResolution.height)
         return if (isSelectResolutionLarger) selectResolution else defaultMaxPreviewResolution
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/PreviewPixelHDRnet.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/PreviewPixelHDRnet.kt
index 496e17e..0ee62c5 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/PreviewPixelHDRnet.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/PreviewPixelHDRnet.kt
@@ -54,4 +54,4 @@
     aspectRatio: Rational
 ): Boolean {
     return aspectRatio == Rational(resolution.width, resolution.height)
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ResolutionCorrector.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ResolutionCorrector.kt
index c3cee29..57407fd 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ResolutionCorrector.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/ResolutionCorrector.kt
@@ -60,4 +60,4 @@
         }
         return newResolutions
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/TargetAspectRatio.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/TargetAspectRatio.kt
index 99c6d19..6c84ed3 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/TargetAspectRatio.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/TargetAspectRatio.kt
@@ -80,4 +80,4 @@
         /** No correction is needed.  */
         const val RATIO_ORIGINAL = 3
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlash.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlash.kt
index 4522456..74a1086 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlash.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlash.kt
@@ -52,4 +52,4 @@
 
 object NotUseTorchAsFlash : UseTorchAsFlash {
     override fun shouldUseTorchAsFlash() = false
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/config/UseCaseCameraConfig.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/config/UseCaseCameraConfig.kt
index 01bdd6e..566b875 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/config/UseCaseCameraConfig.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/config/UseCaseCameraConfig.kt
@@ -264,4 +264,4 @@
         fun config(config: UseCaseCameraConfig): Builder
         fun build(): UseCaseCameraComponent
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfig.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfig.kt
index 691c70a..ab6853b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfig.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfig.kt
@@ -300,4 +300,4 @@
     }
 
     return parameters
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraCallbackMap.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraCallbackMap.kt
index dfb4e41..315e653 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraCallbackMap.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraCallbackMap.kt
@@ -262,4 +262,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraInteropStateCallbackRepository.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraInteropStateCallbackRepository.kt
index 02b7507..36b9381 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraInteropStateCallbackRepository.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraInteropStateCallbackRepository.kt
@@ -174,4 +174,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraProperties.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraProperties.kt
index 2e06fbf..4da3b4b 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraProperties.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/CameraProperties.kt
@@ -44,4 +44,4 @@
     override val metadata: CameraMetadata by lazy {
         checkNotNull(cameraPipe.cameras().awaitCameraMetadata(cameraId))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Sizes.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Sizes.kt
index 929c199..7dbf84f 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Sizes.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/Sizes.kt
@@ -32,4 +32,4 @@
 fun maxByArea(left: Size, right: Size) = if (left.area() > right.area()) left else right
 
 fun Point.area(): Int = this.x * this.y
-fun Point.toSize() = Size(this.x, this.y)
\ No newline at end of file
+fun Point.toSize() = Size(this.x, this.y)
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/TorchControl.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/TorchControl.kt
index fad5c9a..683ef5f 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/TorchControl.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/TorchControl.kt
@@ -149,4 +149,4 @@
         @IntoSet
         abstract fun provideControls(torchControl: TorchControl): UseCaseCameraControl
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseCameraControl.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseCameraControl.kt
index 260b7d7..436ad39 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseCameraControl.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseCameraControl.kt
@@ -22,4 +22,4 @@
 interface UseCaseCameraControl {
     var useCaseCamera: UseCaseCamera?
     fun reset()
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManager.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManager.kt
index 94f1484..223c075 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManager.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManager.kt
@@ -226,4 +226,4 @@
         // Surface was not retrieved from the ListenableFuture.
         return isNotEmpty() && !contains(null)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilter.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilter.kt
index 763675f..014101e 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilter.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilter.kt
@@ -80,4 +80,4 @@
 
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizer.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizer.kt
index 5179c88..dcd64a7 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizer.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizer.kt
@@ -132,4 +132,4 @@
             return skippedCameraId
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControl.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControl.kt
index 9159825..a733d72 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControl.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControl.kt
@@ -200,4 +200,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2Interop.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2Interop.kt
index e12fbdc..e1076d2 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2Interop.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/Camera2Interop.kt
@@ -232,4 +232,4 @@
             return this
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/CaptureRequestOptions.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/CaptureRequestOptions.kt
index 0d720da..da59baf 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/CaptureRequestOptions.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/CaptureRequestOptions.kt
@@ -162,4 +162,4 @@
             return CaptureRequestOptions(OptionsBundle.from(mutableOptionsBundle))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/ExperimentalCamera2Interop.kt b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/ExperimentalCamera2Interop.kt
index 53ad7dd..53b9cd3 100644
--- a/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/ExperimentalCamera2Interop.kt
+++ b/camera/camera-camera2-pipe-integration/src/main/java/androidx/camera/camera2/pipe/integration/interop/ExperimentalCamera2Interop.kt
@@ -33,4 +33,4 @@
  */
 @Retention(AnnotationRetention.BINARY)
 @RequiresOptIn
-annotation class ExperimentalCamera2Interop
\ No newline at end of file
+annotation class ExperimentalCamera2Interop
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapterTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapterTest.kt
index bc7dddf..9d54d25 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapterTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CameraStateAdapterTest.kt
@@ -330,4 +330,4 @@
         assertThat(cameraState.type).isEqualTo(CameraState.Type.CLOSING)
         assertThat(cameraState.error?.code).isEqualTo(ERROR_OTHER_RECOVERABLE_ERROR)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureConfigAdapterTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureConfigAdapterTest.kt
index b6ff946..4b1602e 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureConfigAdapterTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureConfigAdapterTest.kt
@@ -288,4 +288,4 @@
             val template = request.template
             assertThat(template).isEqualTo(RequestTemplate(CameraDevice.TEMPLATE_VIDEO_SNAPSHOT))
         }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureResultAdapterTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureResultAdapterTest.kt
index 3449f14..e2ef85b 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureResultAdapterTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CaptureResultAdapterTest.kt
@@ -486,4 +486,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CoroutineAdapterTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CoroutineAdapterTest.kt
index 87533ee..9b27a11 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CoroutineAdapterTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/adapter/CoroutineAdapterTest.kt
@@ -74,4 +74,4 @@
         // Assert.
         assertThat(resultDeferred.getCompletionExceptionOrNull()).isSameInstanceAs(testThrowable)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/CamcorderProfileResolutionQuirkTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/CamcorderProfileResolutionQuirkTest.kt
index 5f0a226..eeeb64a 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/CamcorderProfileResolutionQuirkTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/CamcorderProfileResolutionQuirkTest.kt
@@ -106,4 +106,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirkTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirkTest.kt
index 9f7e6c3..03a3b85 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirkTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraCroppingQuirkTest.kt
@@ -94,4 +94,4 @@
         Truth.assertThat(quirk.getVerifiedResolution(SurfaceConfig.ConfigType.JPEG))
             .isEqualTo(Size(3264, 1836))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirkTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirkTest.kt
index e48b3fb..cb3d569 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirkTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/quirk/ExtraSupportedSurfaceCombinationsQuirkTest.kt
@@ -311,4 +311,4 @@
         val hardwareLevel: Int,
         val expectedSupportedSurfaceCombinations: Array<SurfaceCombination> = arrayOf()
     )
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRangeTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRangeTest.kt
index 1f0626e..ec9a852 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRangeTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AeFpsRangeTest.kt
@@ -149,4 +149,4 @@
     private fun getAeFpsRange(aeFpsRange: AeFpsRange): Range<Int>? {
         return aeFpsRange.getTargetAeFpsRange()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AutoFlashAEModeDisablerTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AutoFlashAEModeDisablerTest.kt
index f7ad78c..943704d 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AutoFlashAEModeDisablerTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/AutoFlashAEModeDisablerTest.kt
@@ -121,4 +121,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlashTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlashTest.kt
index 4322730..0a55e43b 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlashTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/compat/workaround/UseTorchAsFlashTest.kt
@@ -93,4 +93,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfigTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfigTest.kt
index f258ffd..d695dd9 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfigTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/Camera2ImplConfigTest.kt
@@ -166,4 +166,4 @@
 
     // TODO: After porting CameraEventCallback (used for extension) to CameraUseCaseAdapter,
     //  also porting canExtendWithCameraEventCallback
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/EvCompControlTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/EvCompControlTest.kt
index 59d5f6e..87cc58c 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/EvCompControlTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/EvCompControlTest.kt
@@ -217,4 +217,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManagerTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManagerTest.kt
index 0472eed..f845e33 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManagerTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/impl/UseCaseSurfaceManagerTest.kt
@@ -324,4 +324,4 @@
     private fun createTestDeferrableSurface() = TestDeferrableSurface().also {
         it.terminationFuture.addListener({ it.cleanUp() }, useCaseThreads.backgroundExecutor)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilterTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilterTest.kt
index 6af4773..e9a0f23 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilterTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraCompatibilityFilterTest.kt
@@ -145,4 +145,4 @@
                 .getSystemService(Context.CAMERA_SERVICE)
         ) as ShadowCameraManager).addCamera(cameraId, characteristics)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizerTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizerTest.kt
index f22f016..6a08158 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizerTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/internal/CameraSelectionOptimizerTest.kt
@@ -241,4 +241,4 @@
         ) as ShadowCameraManager)
             .addCamera(cameraId, characteristics)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControlTest.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControlTest.kt
index f4d0a96..8cd09c9 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControlTest.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/interop/Camera2CameraControlTest.kt
@@ -198,4 +198,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/testing/FakeCapturePipeline.kt b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/testing/FakeCapturePipeline.kt
index 2323e14..66ac8ac 100644
--- a/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/testing/FakeCapturePipeline.kt
+++ b/camera/camera-camera2-pipe-integration/src/test/java/androidx/camera/camera2/pipe/integration/testing/FakeCapturePipeline.kt
@@ -36,4 +36,4 @@
             CompletableDeferred<Void?>(null).apply { complete(null) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraControllerSimulator.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraControllerSimulator.kt
index 5ce8070..ae4763a 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraControllerSimulator.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraControllerSimulator.kt
@@ -196,4 +196,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraGraphSimulator.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraGraphSimulator.kt
index bf2264c..ba087f3 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraGraphSimulator.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/CameraGraphSimulator.kt
@@ -323,4 +323,4 @@
             extraMetadata = extraMetadata.toMap()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraBackend.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraBackend.kt
index 7300290..52325db 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraBackend.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraBackend.kt
@@ -90,4 +90,4 @@
         val FAKE_CAMERA_BACKEND_ID =
             CameraBackendId("androidx.camera.camera2.pipe.testing.FakeCameraBackend")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraDevices.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraDevices.kt
index 268f1bd..26fcc47 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraDevices.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCameraDevices.kt
@@ -96,4 +96,4 @@
     )
     override fun awaitMetadata(camera: CameraId): CameraMetadata =
         checkNotNull(awaitCameraMetadata(camera))
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequence.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequence.kt
index 0fc23f2..5ab483e 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequence.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequence.kt
@@ -55,4 +55,4 @@
         invokeOnRequests { requestMetadata, _, listener ->
             listener.onRequestSequenceCompleted(requestMetadata, frameNumber)
         }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequenceListener.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequenceListener.kt
index f56f154..ee515b7 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequenceListener.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeCaptureSequenceListener.kt
@@ -30,4 +30,4 @@
     override fun onCaptureSequenceComplete(captureSequence: CaptureSequence<*>) {
         isComplete = true
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeThreads.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeThreads.kt
index c1c23e0..4626816 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeThreads.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeThreads.kt
@@ -58,4 +58,4 @@
             camera2Executor = { executor }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeTimeSource.kt b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeTimeSource.kt
index 8b033c1..e67408e 100644
--- a/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeTimeSource.kt
+++ b/camera/camera-camera2-pipe-testing/src/main/java/androidx/camera/camera2/pipe/testing/FakeTimeSource.kt
@@ -25,4 +25,4 @@
     public var currentTimestamp = TimestampNs(0L)
 
     override fun now() = currentTimestamp
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe-testing/src/test/java/androidx/camera/camera2/pipe/testing/FakeCameraDevicesTest.kt b/camera/camera-camera2-pipe-testing/src/test/java/androidx/camera/camera2/pipe/testing/FakeCameraDevicesTest.kt
index f709049..d76f46d 100644
--- a/camera/camera-camera2-pipe-testing/src/test/java/androidx/camera/camera2/pipe/testing/FakeCameraDevicesTest.kt
+++ b/camera/camera-camera2-pipe-testing/src/test/java/androidx/camera/camera2/pipe/testing/FakeCameraDevicesTest.kt
@@ -86,4 +86,4 @@
             )
         ).isSameInstanceAs(metadata3)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraError.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraError.kt
index 93701f4..bd9a6b9 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraError.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraError.kt
@@ -179,4 +179,4 @@
 
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
 // An exception indicating that the CameraDevice.close() call has stalled.
-class CameraCloseStallException(message: String) : RuntimeException(message)
\ No newline at end of file
+class CameraCloseStallException(message: String) : RuntimeException(message)
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraGraph.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraGraph.kt
index f9b7c7b..581aeac 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraGraph.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraGraph.kt
@@ -513,4 +513,4 @@
         override fun toString(): String =
             super.toString() + "(cameraError = $cameraError, willAttemptRetry = $willAttemptRetry)"
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraMetadata.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraMetadata.kt
index c8c4d47..57e6259 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraMetadata.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/CameraMetadata.kt
@@ -137,4 +137,4 @@
                     availableAfModes.contains(CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_VIDEO)
             }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/Frames.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/Frames.kt
index bdbf8d7..6d10262 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/Frames.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/Frames.kt
@@ -108,4 +108,4 @@
             related: List<FrameInfo?>
         ): Map<*, Any?> = emptyMap<Any, Any?>()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/AndroidCaptureFailure.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/AndroidCaptureFailure.kt
index 7b22375..e0c1a2c 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/AndroidCaptureFailure.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/AndroidCaptureFailure.kt
@@ -35,4 +35,4 @@
     override val wasImageCaptured: Boolean,
     override val frameNumber: FrameNumber,
     override val reason: Int
-) : RequestFailureWrapper
\ No newline at end of file
+) : RequestFailureWrapper
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CameraStatusMonitor.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CameraStatusMonitor.kt
index 0ab7e59..0bd244e 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CameraStatusMonitor.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CameraStatusMonitor.kt
@@ -70,4 +70,4 @@
 
         awaitClose { manager.unregisterAvailabilityCallback(availabilityCallback) }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CaptureCallback.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CaptureCallback.kt
index 4fbaac1..ac083de 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CaptureCallback.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2CaptureCallback.kt
@@ -55,4 +55,4 @@
     fun onCaptureSequenceCompleted(captureSequenceId: Int, captureFrameNumber: Long)
 
     fun onCaptureSequenceAborted(captureSequenceId: Int)
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2DeviceCloser.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2DeviceCloser.kt
index c63ea2b..abf3a2f 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2DeviceCloser.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2DeviceCloser.kt
@@ -146,4 +146,4 @@
         }
         sessionConfigured.await()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2Quirks.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2Quirks.kt
index a56125a..c9ad6e2 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2Quirks.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/Camera2Quirks.kt
@@ -85,4 +85,4 @@
             CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL]
         return level == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraDeviceWrapper.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraDeviceWrapper.kt
index 6a4b1eb..3cd3934 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraDeviceWrapper.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraDeviceWrapper.kt
@@ -525,4 +525,4 @@
     internal fun disconnect() = synchronized(lock) {
         disconnected = true
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraPipeKeys.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraPipeKeys.kt
index 8d2008a..2792db89 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraPipeKeys.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/CameraPipeKeys.kt
@@ -62,4 +62,4 @@
      * quality under low light conditions. See [CameraExtensionCharacteristics.EXTENSION_NIGHT]
      */
     const val CAMERA2_EXTENSION_MODE_NIGHT = 4
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/ExtensionSessionState.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/ExtensionSessionState.kt
index c603507..9a61581 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/ExtensionSessionState.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/ExtensionSessionState.kt
@@ -51,4 +51,4 @@
     override fun onClosed(session: CameraExtensionSessionWrapper) {
         captureSessionState.onClosed(session as CameraCaptureSessionWrapper)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/OnSessionFinalized.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/OnSessionFinalized.kt
index 67aa9a5..5bc42ee 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/OnSessionFinalized.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/compat/OnSessionFinalized.kt
@@ -33,4 +33,4 @@
      * See b/249258992 for more details.
      */
     fun onSessionFinalized()
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/core/Threading.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/core/Threading.kt
index 184b6ac..9327e1a 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/core/Threading.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/core/Threading.kt
@@ -79,4 +79,4 @@
             block()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/CameraErrorListener.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/CameraErrorListener.kt
index 19b6018..c0a6076 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/CameraErrorListener.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/CameraErrorListener.kt
@@ -29,4 +29,4 @@
         cameraError: CameraError,
         willAttemptRetry: Boolean = false
     )
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/GraphLifecycleManager.kt b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/GraphLifecycleManager.kt
index ee876bf..1355137 100644
--- a/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/GraphLifecycleManager.kt
+++ b/camera/camera-camera2-pipe/src/main/java/androidx/camera/camera2/pipe/internal/GraphLifecycleManager.kt
@@ -129,4 +129,4 @@
             }
         }?.tryRestart(cameraStatus)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2-pipe/src/test/java/androidx/camera/camera2/pipe/testing/FakeCamera2DeviceCloser.kt b/camera/camera-camera2-pipe/src/test/java/androidx/camera/camera2/pipe/testing/FakeCamera2DeviceCloser.kt
index ca52b9b..7b6cc46 100644
--- a/camera/camera-camera2-pipe/src/test/java/androidx/camera/camera2/pipe/testing/FakeCamera2DeviceCloser.kt
+++ b/camera/camera-camera2-pipe/src/test/java/androidx/camera/camera2/pipe/testing/FakeCamera2DeviceCloser.kt
@@ -30,4 +30,4 @@
     ) {
         cameraDeviceWrapper?.onDeviceClosed()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/AsyncCameraDevice.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/AsyncCameraDevice.kt
index ca939dd..027664e 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/AsyncCameraDevice.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/AsyncCameraDevice.kt
@@ -124,4 +124,4 @@
         }
         return closeFuture
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt
index c62fed7..2b3d16c 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt
@@ -233,4 +233,4 @@
             cameraHandlerThread.quitSafely()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt
index c1f0759..f847cec 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt
@@ -527,4 +527,4 @@
             cameraHandlerThread.quitSafely()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2EncoderProfilesProviderTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2EncoderProfilesProviderTest.kt
index 81c3054..a293c09 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2EncoderProfilesProviderTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2EncoderProfilesProviderTest.kt
@@ -199,4 +199,4 @@
         return Build.MODEL.contains("Cuttlefish", true) &&
             (Build.ID.startsWith("TP1A", true) || Build.ID.startsWith("TSE4", true))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt
index 693f94e..e306537 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt
@@ -574,4 +574,4 @@
         override fun onCaptureSequenceAborted(sequenceId: Int) {
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/FovDeviceTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/FovDeviceTest.kt
index 220bc32..df11ed2 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/FovDeviceTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/FovDeviceTest.kt
@@ -95,4 +95,4 @@
         assumeTrue(DEFAULT_CAMERA_ID_GROUP.contains(cameraId))
         assertThat(cameraUseCaseAdapter.cameraInfo.intrinsicZoomRatio).isEqualTo(1.0F)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt
index 201f1c5..ddbccb6 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt
@@ -956,4 +956,4 @@
             closeOutputSurfaces()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt
index b4b2411..46bf3a6 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt
@@ -152,4 +152,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt
index 36a2bec..ab379bc 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt
@@ -383,4 +383,4 @@
             assertThat(latch.await(timeout, TimeUnit.MILLISECONDS)).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/CameraStateMachineTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/CameraStateMachineTest.kt
index 4ea8c60..850a673 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/CameraStateMachineTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/CameraStateMachineTest.kt
@@ -202,4 +202,4 @@
             assertThat(index).isEqualTo(states.size)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/DisplayInfoManagerTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/DisplayInfoManagerTest.kt
index 980dfe6..dfe737a 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/DisplayInfoManagerTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/DisplayInfoManagerTest.kt
@@ -213,4 +213,4 @@
             .getInstance(ApplicationProvider.getApplicationContext())
         assertThat(displayInfoManager.previewSize).isEqualTo(Size(1600, 720))
     }
-}
\ No newline at end of file
+}
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 83defcab..9a9de1c 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
@@ -104,4 +104,4 @@
             CAMERA_ID_0
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/DisplaySizeCorrectorTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/DisplaySizeCorrectorTest.kt
index e50212b..22ce30b 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/DisplaySizeCorrectorTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/DisplaySizeCorrectorTest.kt
@@ -43,4 +43,4 @@
         // See SmallDisplaySizeQuirk for the device display size
         assertThat(DisplaySizeCorrector().displaySize).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/OverrideAeModeForStillCaptureTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/OverrideAeModeForStillCaptureTest.kt
index 7288b26..1ecc319 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/OverrideAeModeForStillCaptureTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/OverrideAeModeForStillCaptureTest.kt
@@ -103,4 +103,4 @@
         assertThat(overrideAeModeForStillCapture.shouldSetAeModeAlwaysFlash(FLASH_MODE_ON))
             .isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/SupportedRepeatingSurfaceSizeTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/SupportedRepeatingSurfaceSizeTest.kt
index 3a69119..dfa49ab 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/SupportedRepeatingSurfaceSizeTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/compat/workaround/SupportedRepeatingSurfaceSizeTest.kt
@@ -67,4 +67,4 @@
             SupportedRepeatingSurfaceSize().getSupportedSizes(input_sizes).asList()
         ).containsExactlyElementsIn(result_sizes)
     }
-}
\ No newline at end of file
+}
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 5354bb1..6b7de32 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
@@ -212,4 +212,4 @@
             return mCameraManagerImpl.cameraManager
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraControlTest.kt b/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraControlTest.kt
index bdf3f1e..75d73db 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraControlTest.kt
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/interop/Camera2CameraControlTest.kt
@@ -37,4 +37,4 @@
             CameraControlInternal.DEFAULT_EMPTY_INSTANCE
         Camera2CameraControl.from(wrongCameraControl)
     }
-}
\ No newline at end of file
+}
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 eafedc5..f42b888 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
@@ -123,4 +123,4 @@
             assertThat(wrappedPlanes[i].buffer).isEqualTo(originalPlanes[i].buffer)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/SurfaceRequestTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/SurfaceRequestTest.kt
index 156dfe0..6dd0b4f 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/SurfaceRequestTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/SurfaceRequestTest.kt
@@ -417,4 +417,4 @@
             Surface::class.java
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseTest.kt
index cbb7e2e..9850f20 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/UseCaseTest.kt
@@ -355,4 +355,4 @@
             StreamSpec.builder(SURFACE_RESOLUTION).build()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Bitmap2JpegBytesTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Bitmap2JpegBytesTest.kt
index 6a5cdde..5fc1f51 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Bitmap2JpegBytesTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Bitmap2JpegBytesTest.kt
@@ -65,4 +65,4 @@
         assertThat(getAverageDiff(bitmap, restoredBitmap)).isEqualTo(0)
         assertThat(output.cameraCaptureResult).isEqualTo(CAMERA_CAPTURE_RESULT)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/BitmapEffectDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/BitmapEffectDeviceTest.kt
index be488a6..efc723c 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/BitmapEffectDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/BitmapEffectDeviceTest.kt
@@ -75,4 +75,4 @@
         assertThat(getAverageDiff(output.data, Rect(0, 240, 320, 480), 0X555555)).isEqualTo(0)
         assertThat(getAverageDiff(output.data, Rect(321, 240, WIDTH, 480), 0XAAAAAA)).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt
index 8aa7647..6eae218 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt
@@ -84,4 +84,4 @@
             onDiskResultCont = cont
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallbackDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallbackDeviceTest.kt
index e7cb20b..50c9346 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallbackDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/FakeTakePictureCallbackDeviceTest.kt
@@ -53,4 +53,4 @@
         // Act.
         assertThat(fakeTakePictureCallback.getInMemoryResult()).isEqualTo(inMemoryResult)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Image2JpegBytesDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Image2JpegBytesDeviceTest.kt
index c431343..d78da09 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Image2JpegBytesDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Image2JpegBytesDeviceTest.kt
@@ -89,4 +89,4 @@
         // Assert: capture result
         assertThat(output.cameraCaptureResult).isEqualTo(CAMERA_CAPTURE_RESULT)
     }
-}
\ No newline at end of file
+}
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 1a60fa7..0366954 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
@@ -124,4 +124,4 @@
         val input = JpegBytes2Disk.In.of(inputPacket, options)
         return operation.apply(input).savedUri!!.path!!
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2ImageDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2ImageDeviceTest.kt
index 106df81..1ffc67b 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2ImageDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/JpegBytes2ImageDeviceTest.kt
@@ -79,4 +79,4 @@
         assertThat(output.sensorToBufferTransform).isEqualTo(matrix)
         assertThat(output.cameraCaptureResult).isEqualTo(CAMERA_CAPTURE_RESULT)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/RgbaImageProxyDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/RgbaImageProxyDeviceTest.kt
index 13f89bd..ccfe7a2 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/RgbaImageProxyDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/RgbaImageProxyDeviceTest.kt
@@ -138,4 +138,4 @@
         }
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Utils.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Utils.kt
index 1e37add..385f7c7 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Utils.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/imagecapture/Utils.kt
@@ -47,4 +47,4 @@
     internal val CAMERA_CAPTURE_RESULT = FakeCameraCaptureResult().also {
         it.timestamp = TIMESTAMP
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ConstantObservableTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ConstantObservableTest.kt
index b5d0248..63af27c 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ConstantObservableTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ConstantObservableTest.kt
@@ -80,4 +80,4 @@
 
         assertThat(deferredValue.await()).isEqualTo(MAGIC_STRING)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/LiveDataObservableTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/LiveDataObservableTest.kt
index 79413be..e1da6f2 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/LiveDataObservableTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/LiveDataObservableTest.kt
@@ -117,4 +117,4 @@
     }
 }
 
-internal class TestError(message: String) : Exception(message)
\ No newline at end of file
+internal class TestError(message: String) : Exception(message)
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/StateObservableTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/StateObservableTest.kt
index 0052b91..6f7b501 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/StateObservableTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/StateObservableTest.kt
@@ -192,4 +192,4 @@
         // Ensure receiveJob completes
         receiveJob.join()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ViewPortsTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ViewPortsTest.kt
index 5a63cf5..f45c019 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ViewPortsTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/ViewPortsTest.kt
@@ -967,4 +967,4 @@
                 }
         }
     }
-}
\ No newline at end of file
+}
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 5945f0a..dcf65da 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
@@ -75,4 +75,4 @@
             .isEqualTo(0)
         assertThat(withoutExif.getAttribute(ExifInterface.TAG_EXPOSURE_TIME)).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt
index 61c2f9d..7310d63 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ArrayRingBufferTest.kt
@@ -84,4 +84,4 @@
             ArrayRingBuffer(5)
         assertThrows(NoSuchElementException::class.java, testBuffer::dequeue)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ImageUtilDeviceTest.kt b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ImageUtilDeviceTest.kt
index 3627d63..35a5ba9 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ImageUtilDeviceTest.kt
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/internal/utils/ImageUtilDeviceTest.kt
@@ -220,4 +220,4 @@
             ImageUtil.createBitmapFromImageProxy(image)
         }
     }
-}
\ No newline at end of file
+}
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 63fcf61..08a233b 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
@@ -106,4 +106,4 @@
         verify(onRemoveCallback, times(3)).onRemove(any())
         assertThat(ringBuffer.dequeue()).isEqualTo(imageProxy1)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/CameraSelectorTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/CameraSelectorTest.kt
index 621932c..c7710f5 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/CameraSelectorTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/CameraSelectorTest.kt
@@ -187,4 +187,4 @@
         val filteredCameraInfos = backCameraSelector.filter(cameraInfos)
         assertThat(filteredCameraInfos).isEmpty()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/UseCaseGroupTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/UseCaseGroupTest.kt
index 7250e35..39dbbb6 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/UseCaseGroupTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/UseCaseGroupTest.kt
@@ -105,4 +105,4 @@
         }
         return message
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/CaptureNodeTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/CaptureNodeTest.kt
index ffcd64c..fa2fc24 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/CaptureNodeTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/CaptureNodeTest.kt
@@ -168,4 +168,4 @@
         captureNode.onRequestAvailable(requestA)
         captureNode.onRequestAvailable(requestB)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeRetryControl.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeRetryControl.kt
index e58d031..e638fee0 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeRetryControl.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeRetryControl.kt
@@ -28,4 +28,4 @@
     override fun retryRequest(takePictureRequest: TakePictureRequest) {
         retriedRequest = takePictureRequest
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt
index 6f17fe5..6baa103 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/FakeTakePictureCallback.kt
@@ -55,4 +55,4 @@
     override fun isAborted(): Boolean {
         return aborted
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/Image2JpegBytesTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/Image2JpegBytesTest.kt
index 8ae0894..c305c68 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/Image2JpegBytesTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/Image2JpegBytesTest.kt
@@ -79,4 +79,4 @@
         assertThat(output.sensorToBufferTransform).isEqualTo(SENSOR_TO_BUFFER)
         assertThat(output.cameraCaptureResult).isEqualTo(CAMERA_CAPTURE_RESULT)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ImagePipelineTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ImagePipelineTest.kt
index eb21888..52b780a 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ImagePipelineTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ImagePipelineTest.kt
@@ -399,4 +399,4 @@
         // Assert: The failure is propagated.
         assertThat(CALLBACK.captureFailure).isEqualTo(FAILURE)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2CroppedBitmapTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2CroppedBitmapTest.kt
index cccbff0..e4ef33b 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2CroppedBitmapTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2CroppedBitmapTest.kt
@@ -84,4 +84,4 @@
         output.sensorToBufferTransform.mapPoints(points)
         assertThat(points).usingTolerance(1E-4).containsExactly(0, 240)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2DiskTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2DiskTest.kt
index 8750c0b..ccf4c18 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2DiskTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegBytes2DiskTest.kt
@@ -140,4 +140,4 @@
         val input = JpegBytes2Disk.In.of(inputPacket, options)
         return operation.apply(input).savedUri!!.path!!
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegImage2ResultTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegImage2ResultTest.kt
index 5822469..9c05b11 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegImage2ResultTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/JpegImage2ResultTest.kt
@@ -76,4 +76,4 @@
         assertThat(output.imageInfo.rotationDegrees).isEqualTo(ROTATION_DEGREES)
         assertThat(output.imageInfo.sensorToBufferTransformMatrix).isEqualTo(SENSOR_TO_BUFFER)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ProcessingInput2PacketTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ProcessingInput2PacketTest.kt
index 4d024c5..7f920f1 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ProcessingInput2PacketTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/ProcessingInput2PacketTest.kt
@@ -158,4 +158,4 @@
         assertThat(output.size).isEqualTo(Size(WIDTH, HEIGHT))
         assertThat(output.sensorToBufferTransform).isEqualTo(SENSOR_TO_BUFFER)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/RequestWithCallbackTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/RequestWithCallbackTest.kt
index 425cdef..581ead6 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/RequestWithCallbackTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/RequestWithCallbackTest.kt
@@ -202,4 +202,4 @@
         assertThat(request.imageReceived).isNull()
         assertThat(captureRequestFuture.isCancelled).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/SingleBundlingNodeTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/SingleBundlingNodeTest.kt
index a99697e..71d08ad 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/SingleBundlingNodeTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/imagecapture/SingleBundlingNodeTest.kt
@@ -89,4 +89,4 @@
         assertThat(packetB.imageProxy).isEqualTo(imageB1)
         assertThat(packetB.processingRequest).isEqualTo(requestB)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/AttachedSurfaceInfoTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/AttachedSurfaceInfoTest.kt
index 8a3d600..30a9e35 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/AttachedSurfaceInfoTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/AttachedSurfaceInfoTest.kt
@@ -127,4 +127,4 @@
         )
         Truth.assertThat(attachedSurfaceInfo2.targetFrameRate).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInfoInternalTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInfoInternalTest.kt
index 7c083c9..8ae50cc 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInfoInternalTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/CameraInfoInternalTest.kt
@@ -52,4 +52,4 @@
     private fun createCamerasWithIds(ids: Array<Int>): List<CameraInternal> {
         return ids.map { FakeCamera(it.toString()) }
     }
-}
\ No newline at end of file
+}
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 5299376..80102f8 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
@@ -46,4 +46,4 @@
         val camera = FakeCamera(null, FakeCameraInfoInternal(0, CameraSelector.LENS_FACING_BACK))
         assertThat(camera.isFrontFacing).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/EncoderProfilesResolutionValidatorTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/EncoderProfilesResolutionValidatorTest.kt
index 57b9338..3aa6c83 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/EncoderProfilesResolutionValidatorTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/EncoderProfilesResolutionValidatorTest.kt
@@ -73,4 +73,4 @@
             return supportedResolutions.toMutableList()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/StreamSpecTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/StreamSpecTest.kt
index b7b122c..ea839c49 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/StreamSpecTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/StreamSpecTest.kt
@@ -99,4 +99,4 @@
         private val TEST_IMPLEMENTATION_OPTION =
             FakeUseCaseConfig.Builder(CaptureType.PREVIEW, TEST_INPUT_FORMAT).useCaseConfig.config
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/UseCaseConfigTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/UseCaseConfigTest.kt
index 778fbfc..89c1cad 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/UseCaseConfigTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/UseCaseConfigTest.kt
@@ -45,4 +45,4 @@
         useCaseBuilder.mutableConfig.insertOption(UseCaseConfig.OPTION_ZSL_DISABLED, true)
         Truth.assertThat(useCaseBuilder.useCaseConfig.isZslDisabled(false)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/AspectRatioUtilTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/AspectRatioUtilTest.kt
index 7b527fa..7d3fe1a 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/AspectRatioUtilTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/AspectRatioUtilTest.kt
@@ -174,4 +174,4 @@
 
         assertThat(aspectRatios == expectedResult).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/ExifDataTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/ExifDataTest.kt
index 01bd6ee..98c1bda 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/ExifDataTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/impl/utils/ExifDataTest.kt
@@ -169,4 +169,4 @@
         assertThat(exifDataDefault.getAttribute(ExifInterface.TAG_MODEL))
             .isEqualTo(Build.MODEL)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/internal/compat/workaround/CaptureFailedRetryEnablerTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/internal/compat/workaround/CaptureFailedRetryEnablerTest.kt
index 74b8ffe..26c01c1 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/internal/compat/workaround/CaptureFailedRetryEnablerTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/internal/compat/workaround/CaptureFailedRetryEnablerTest.kt
@@ -64,4 +64,4 @@
     fun shouldRetry() {
         assertThat(CaptureFailedRetryEnabler().retryCount).isEqualTo(expectedResult)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/DefaultSurfaceProcessorTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/DefaultSurfaceProcessorTest.kt
index 016de19..6813752 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/DefaultSurfaceProcessorTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/DefaultSurfaceProcessorTest.kt
@@ -53,4 +53,4 @@
         assertThat(DefaultSurfaceProcessor.Factory.newInstance(DynamicRange.SDR))
             .isSameInstanceAs(noOpProcessor)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/EdgeTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/EdgeTest.kt
index a2458aa..c67bde8 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/EdgeTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/EdgeTest.kt
@@ -54,4 +54,4 @@
     fun acceptDataWithoutListener_throwsException() {
         Edge<String>().accept(DATA)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/InternalImageProcessorTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/InternalImageProcessorTest.kt
index 8e80f42..cecbc94 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/InternalImageProcessorTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/InternalImageProcessorTest.kt
@@ -104,4 +104,4 @@
         assertThat(outputImage).isEqualTo(imageFromEffect)
         assertThat(calledThreadName).isEqualTo(THREAD_NAME)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/PacketTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/PacketTest.kt
index f785077..5f47228 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/PacketTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/PacketTest.kt
@@ -61,4 +61,4 @@
         assertThat(bitmapPacket.size).isEqualTo(Size(100, 200))
         assertThat(bitmapPacket.format).isEqualTo(ImageFormat.FLEX_RGBA_8888)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceEdgeTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceEdgeTest.kt
index ad6dbd7..cbf9c1e 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceEdgeTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceEdgeTest.kt
@@ -568,4 +568,4 @@
             /*mirroring=*/false,
             FakeCamera()
         )
-}
\ No newline at end of file
+}
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 2603f35..c51251b3 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
@@ -191,4 +191,4 @@
     ).apply {
         surfaceOutputsToCleanup.add(this)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceProcessorWithExecutorTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceProcessorWithExecutorTest.kt
index 333d92d..39071bf 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceProcessorWithExecutorTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/SurfaceProcessorWithExecutorTest.kt
@@ -130,4 +130,4 @@
         assertThat(onInputSurfaceInvokedThread).isEqualTo(executorThread)
         assertThat(onOutputSurfaceInvokedThread).isEqualTo(executorThread)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/processing/TargetUtilsTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/processing/TargetUtilsTest.kt
index 624814b..6e1764a 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/processing/TargetUtilsTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/processing/TargetUtilsTest.kt
@@ -51,4 +51,4 @@
         assertThat(getHumanReadableName(PREVIEW or VIDEO_CAPTURE or IMAGE_CAPTURE))
             .isEqualTo("IMAGE_CAPTURE|PREVIEW|VIDEO_CAPTURE")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/StreamSharingTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/StreamSharingTest.kt
index ed08929..9052ca6 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/StreamSharingTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/StreamSharingTest.kt
@@ -383,4 +383,4 @@
         assertThat(config.captureTypes[0]).isEqualTo(CaptureType.PREVIEW)
         assertThat(config.captureTypes[1]).isEqualTo(CaptureType.PREVIEW)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraCaptureResultTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraCaptureResultTest.kt
index ff0e72e..88fc8de 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraCaptureResultTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraCaptureResultTest.kt
@@ -78,4 +78,4 @@
         assertThat(result.flashState).isEqualTo(baseCameraCaptureResult.flashState)
         assertThat(result.afMode).isEqualTo(baseCameraCaptureResult.afMode)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraTest.kt
index 03c3d5c..590a4ab 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/streamsharing/VirtualCameraTest.kt
@@ -330,4 +330,4 @@
         assertThat(childrenEdges[child]!!.deferrableSurfaceForTesting.isClosed).isEqualTo(isClosed)
         assertThat(childrenEdges[child]!!.hasProvider()).isEqualTo(hasProvider)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageAnalysisTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageAnalysisTest.kt
index 5ca9ee9..b8d0cd2 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageAnalysisTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageAnalysisTest.kt
@@ -272,4 +272,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt
index 91fefed..74c34a9 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt
@@ -196,4 +196,4 @@
 
         assertThat(imageCapture.currentConfig.isHigResolutionDisabled(false)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt
index 0896f12..bcc0a07 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt
@@ -213,4 +213,4 @@
                 }
             }
         }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt
index f630c9c..0b356f1 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt
@@ -696,4 +696,4 @@
     override fun getTemplateId(): Int {
         return templateId
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt
index c883e81..e0bce46 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt
@@ -29,4 +29,4 @@
     override fun isAdvancedExtenderSupportedInternal(): Boolean = isAdvancedExtenderSupported
 
     override fun getVersionObject(): Version = version
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/compat/workaround/OnEnableDisableSessionDurationCheckTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/compat/workaround/OnEnableDisableSessionDurationCheckTest.kt
index d8a730b..abd3bda 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/compat/workaround/OnEnableDisableSessionDurationCheckTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/compat/workaround/OnEnableDisableSessionDurationCheckTest.kt
@@ -94,4 +94,4 @@
         // 3. Assert
         assertThat(elapsedTime).isLessThan(TOLERANCE)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt
index 66cc03e..de57389 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt
@@ -1033,4 +1033,4 @@
         override fun stopRepeating() {
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/StillCaptureProcessorTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/StillCaptureProcessorTest.kt
index 8e2a3c9..70e269c 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/StillCaptureProcessorTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/StillCaptureProcessorTest.kt
@@ -447,4 +447,4 @@
             imageWriter?.close()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/YuvToJpegConverterTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/YuvToJpegConverterTest.kt
index b459806..f4e3e4e 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/YuvToJpegConverterTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/YuvToJpegConverterTest.kt
@@ -118,4 +118,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMaximumCompatibleTest.kt b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMaximumCompatibleTest.kt
index 74a649e3..519c6f0 100644
--- a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMaximumCompatibleTest.kt
+++ b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMaximumCompatibleTest.kt
@@ -77,4 +77,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMinimumCompatibleTest.kt b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMinimumCompatibleTest.kt
index b39e854..c2c3e89 100644
--- a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMinimumCompatibleTest.kt
+++ b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/ExtensionVersionMinimumCompatibleTest.kt
@@ -76,4 +76,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/SupportedCameraOperationsTest.kt b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/SupportedCameraOperationsTest.kt
index 3b6be71..ce25a89 100644
--- a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/SupportedCameraOperationsTest.kt
+++ b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/SupportedCameraOperationsTest.kt
@@ -452,4 +452,4 @@
             throw UnsupportedOperationException("Not supported")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/compat/workaround/AvailableKeysRetrieverTest.kt b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/compat/workaround/AvailableKeysRetrieverTest.kt
index 816aaf4..7b527b8 100644
--- a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/compat/workaround/AvailableKeysRetrieverTest.kt
+++ b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/compat/workaround/AvailableKeysRetrieverTest.kt
@@ -134,4 +134,4 @@
         override fun onDisableSession(): CaptureStageImpl? = null
         override fun onSessionType(): Int = SessionConfiguration.SESSION_REGULAR
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/sessionprocessor/Camera2SessionConfigBuilderTest.kt b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/sessionprocessor/Camera2SessionConfigBuilderTest.kt
index 4b878b1..9ed654b2 100644
--- a/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/sessionprocessor/Camera2SessionConfigBuilderTest.kt
+++ b/camera/camera-extensions/src/test/java/androidx/camera/extensions/internal/sessionprocessor/Camera2SessionConfigBuilderTest.kt
@@ -82,4 +82,4 @@
         assertThat(sessionConfig.sessionParameters[CaptureRequest.CONTROL_AF_MODE])
             .isEqualTo(CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_VIDEO)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-lifecycle/src/androidTest/java/androidx/camera/lifecycle/TestMetaDataConfigProvider.kt b/camera/camera-lifecycle/src/androidTest/java/androidx/camera/lifecycle/TestMetaDataConfigProvider.kt
index 9d1e243..b0a57df 100644
--- a/camera/camera-lifecycle/src/androidTest/java/androidx/camera/lifecycle/TestMetaDataConfigProvider.kt
+++ b/camera/camera-lifecycle/src/androidTest/java/androidx/camera/lifecycle/TestMetaDataConfigProvider.kt
@@ -36,4 +36,4 @@
         count += 1
         return FakeAppConfig.create()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeDetector.kt b/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeDetector.kt
index b7a38c1..ce6bb42 100644
--- a/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeDetector.kt
+++ b/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeDetector.kt
@@ -69,4 +69,4 @@
     override fun process(p0: ByteBuffer, p1: Int, p2: Int, p3: Int, p4: Int): Task<String> {
         TODO("Not yet implemented")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeTask.kt b/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeTask.kt
index 2eda9cf..39f031e 100644
--- a/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeTask.kt
+++ b/camera/camera-mlkit-vision/src/test/java/androidx/camera/mlkit/vision/FakeTask.kt
@@ -103,4 +103,4 @@
     ): Task<T> {
         TODO("Not yet implemented")
     }
-}
\ No newline at end of file
+}
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 7b69b03..02428ec 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
@@ -70,4 +70,4 @@
         )
         assertThat(diff).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/Camera2Util.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/Camera2Util.kt
index cbee160..a861e3a 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/Camera2Util.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/Camera2Util.kt
@@ -164,4 +164,4 @@
             Handler(Looper.getMainLooper())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt
index 05be1ee..9b02ac3 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/CameraPipeConfigTestRule.kt
@@ -121,4 +121,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/EncoderProfilesUtil.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/EncoderProfilesUtil.kt
index c344c6c..28fbc51 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/EncoderProfilesUtil.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/EncoderProfilesUtil.kt
@@ -210,4 +210,4 @@
             DEFAULT_AUDIO_PROFILE
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/IdlingResourceUtil.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/IdlingResourceUtil.kt
index f44e640..64b05f4 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/IdlingResourceUtil.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/IdlingResourceUtil.kt
@@ -26,4 +26,4 @@
         Espresso.onIdle()
         IdlingRegistry.getInstance().unregister(this)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreAudioProblematicDeviceRule.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreAudioProblematicDeviceRule.kt
index 1d1713e..0afb82c 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreAudioProblematicDeviceRule.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreAudioProblematicDeviceRule.kt
@@ -46,4 +46,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreProblematicDeviceRule.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreProblematicDeviceRule.kt
index 99214e5..4a98b78 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreProblematicDeviceRule.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/IgnoreProblematicDeviceRule.kt
@@ -76,4 +76,4 @@
             "Pixel2", ignoreCase = true
         ) && Build.VERSION.SDK_INT == Build.VERSION_CODES.O
     }
-}
\ No newline at end of file
+}
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 79b54b7..a5c2cc3 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
@@ -48,4 +48,4 @@
     addObserver(producerDispatcher.asExecutor(), observer)
 
     awaitClose { removeObserver(observer) }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/RequiresDevice.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/RequiresDevice.kt
index 116a7d3..5314e58 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/RequiresDevice.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/RequiresDevice.kt
@@ -35,4 +35,4 @@
 @CustomFilter(filterClass = RequiresDeviceFilter::class)
 @Retention(AnnotationRetention.RUNTIME)
 @Target(AnnotationTarget.FUNCTION)
-annotation class RequiresDevice
\ No newline at end of file
+annotation class RequiresDevice
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/StressTestRule.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/StressTestRule.kt
index 4e4568c..fbabbed 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/StressTestRule.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/StressTestRule.kt
@@ -41,4 +41,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/WakelockEmptyActivityRule.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/WakelockEmptyActivityRule.kt
index 036c35f..39512c4 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/WakelockEmptyActivityRule.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/WakelockEmptyActivityRule.kt
@@ -97,4 +97,4 @@
     fun Activity.setTurnScreenOn() {
         setTurnScreenOn(true)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/activity/EmptyActivity.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/activity/EmptyActivity.kt
index 01d6002..f131192 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/activity/EmptyActivity.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/activity/EmptyActivity.kt
@@ -21,4 +21,4 @@
 /**
  * An empty Activity.
  */
-class EmptyActivity : AppCompatActivity()
\ No newline at end of file
+class EmptyActivity : AppCompatActivity()
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeEncoderInfo.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeEncoderInfo.kt
index 99c0791..35e9431 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeEncoderInfo.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeEncoderInfo.kt
@@ -20,4 +20,4 @@
 
 open class FakeEncoderInfo(var _name: String = "fake.encoder") : EncoderInfo {
     override fun getName(): String = _name
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeVideoEncoderInfo.kt b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeVideoEncoderInfo.kt
index ac8b164..13e0492 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeVideoEncoderInfo.kt
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/fakes/FakeVideoEncoderInfo.kt
@@ -59,4 +59,4 @@
     override fun getSupportedBitrateRange(): Range<Int> {
         return supportedBitrateRange
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-testing/src/test/java/androidx/camera/testing/ExifUtilTest.kt b/camera/camera-testing/src/test/java/androidx/camera/testing/ExifUtilTest.kt
index fde19de..f0bf2d7 100644
--- a/camera/camera-testing/src/test/java/androidx/camera/testing/ExifUtilTest.kt
+++ b/camera/camera-testing/src/test/java/androidx/camera/testing/ExifUtilTest.kt
@@ -52,4 +52,4 @@
         val exif = createFromInputStream(ByteArrayInputStream(jpegWithExif))
         assertThat(exif.description).isEqualTo(DESCRIPTION)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioChecker.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioChecker.kt
index cf47384..ea7095a 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioChecker.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioChecker.kt
@@ -76,4 +76,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioSpecTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioSpecTest.kt
index 9ba2f4a..ae07924 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioSpecTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioSpecTest.kt
@@ -38,4 +38,4 @@
         assertThat(audioSpec.channelCount).isEqualTo(AudioSpec.CHANNEL_COUNT_AUTO)
         assertThat(audioSpec.sampleRate).isEqualTo(AudioSpec.SAMPLE_RATE_RANGE_AUTO)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioVideoSyncTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioVideoSyncTest.kt
index c200bfb..4f4f927 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioVideoSyncTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/AudioVideoSyncTest.kt
@@ -235,4 +235,4 @@
             arrayOf(CameraPipeConfig::class.simpleName, CameraPipeConfig.defaultConfig())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/MediaSpecTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/MediaSpecTest.kt
index b4a979f..105da27 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/MediaSpecTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/MediaSpecTest.kt
@@ -65,4 +65,4 @@
 
         assertThat(mediaSpec.audioSpec.channelCount).isEqualTo(AudioSpec.CHANNEL_COUNT_NONE)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/OutputOptionsTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/OutputOptionsTest.kt
index 12ef8da..ec69e6e 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/OutputOptionsTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/OutputOptionsTest.kt
@@ -189,4 +189,4 @@
             this.latitude = latitude
             this.longitude = longitude
         }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
index 969868a..9e55bd6 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
@@ -111,4 +111,4 @@
 
         return isNokia2Point1 || isMotoE5Play
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
index 85fd4aa..50c98d0 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
@@ -273,4 +273,4 @@
         ).start(
             CameraXExecutors.directExecutor(), eventListener
         )
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoOutputTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoOutputTest.kt
index f7ffbfc..4f61051 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoOutputTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoOutputTest.kt
@@ -50,4 +50,4 @@
         val mediaSpec = videoOutput.mediaSpec.asFlow().first()
         assertThat(mediaSpec).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt
index 1b0eb61..d7a446f 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt
@@ -405,4 +405,4 @@
         val recording = start(CameraXExecutors.directExecutor(), eventListener)
         recording.use { it.apply { block(eventFlow) } }
     }
-}
\ No newline at end of file
+}
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 19ba003..6787df1 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
@@ -1404,4 +1404,4 @@
     } else {
         assumeTrue(msg, Camera2DeviceQuirks.get(Camera2ExtraCroppingQuirk::class.java) == null)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoSpecTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoSpecTest.kt
index b6edfbf..21b39de 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoSpecTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoSpecTest.kt
@@ -38,4 +38,4 @@
         assertThat(videoSpec.frameRate).isEqualTo(VideoSpec.FRAME_RATE_RANGE_AUTO)
         assertThat(videoSpec.aspectRatio).isEqualTo(RATIO_DEFAULT)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
index d5500c4..0558c63 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
@@ -184,4 +184,4 @@
         assertThat(backupVideoProfiles.last().hdrFormat).isEqualTo(HDR_HLG)
         assertThat(backupVideoProfiles.last().bitDepth).isEqualTo(BIT_DEPTH_10)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/SharedByteBufferTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/SharedByteBufferTest.kt
index 58e7d60..a811e43 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/SharedByteBufferTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/SharedByteBufferTest.kt
@@ -336,4 +336,4 @@
     }
 
     private fun isModel(model: String) = model.equals(Build.MODEL, true)
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigAudioProfileResolverTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigAudioProfileResolverTest.kt
index e1af002..69a6f18 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigAudioProfileResolverTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigAudioProfileResolverTest.kt
@@ -255,4 +255,4 @@
             ).get().bitrate
         ).isEqualTo(lowerBitrate)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigDefaultResolverTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigDefaultResolverTest.kt
index 2f3cc89..d3ae838 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigDefaultResolverTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioEncoderConfigDefaultResolverTest.kt
@@ -154,4 +154,4 @@
             ).get().bitrate
         ).isEqualTo(lowerBitrate)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsAudioProfileResolverTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsAudioProfileResolverTest.kt
index 553e0a2..0b75e53 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsAudioProfileResolverTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsAudioProfileResolverTest.kt
@@ -260,4 +260,4 @@
 
         assertThat(resolvedAudioSourceFormat).isNotEqualTo(AudioFormat.ENCODING_INVALID)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsDefaultResolverTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsDefaultResolverTest.kt
index 02eae65..04cacdc 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsDefaultResolverTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/AudioSettingsDefaultResolverTest.kt
@@ -74,4 +74,4 @@
 
         assertThat(resolvedAudioSourceFormat).isNotEqualTo(AudioFormat.ENCODING_INVALID)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigDefaultResolverTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigDefaultResolverTest.kt
index ea11ae8..ce85ee2 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigDefaultResolverTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigDefaultResolverTest.kt
@@ -408,4 +408,4 @@
             expectedDataSpace
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigVideoProfileResolverTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigVideoProfileResolverTest.kt
index 9a321d4..55d4322 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigVideoProfileResolverTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/config/VideoEncoderConfigVideoProfileResolverTest.kt
@@ -383,4 +383,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
index 16c14bb..a1098fd 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
@@ -193,4 +193,4 @@
         ) ?: return false
         return quirk.isUnSupportMediaCodecInfo(mediaFormat)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
index d260eae..8412d7b 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
@@ -100,4 +100,4 @@
             it
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/DynamicRangeMatchedEncoderProfilesProviderTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/DynamicRangeMatchedEncoderProfilesProviderTest.kt
index d9f0af8..71da559 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/DynamicRangeMatchedEncoderProfilesProviderTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/DynamicRangeMatchedEncoderProfilesProviderTest.kt
@@ -210,4 +210,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/audio/BufferedAudioStreamTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/audio/BufferedAudioStreamTest.kt
index 8b8ce98..0b6bc89 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/audio/BufferedAudioStreamTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/audio/BufferedAudioStreamTest.kt
@@ -214,4 +214,4 @@
         val timestampNs = (index + SOURCE_TIMESTAMP_OFFSET)
         FakeAudioStream.AudioData(byteBuffer, timestampNs)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/config/VideoConfigUtilTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/config/VideoConfigUtilTest.kt
index 1b7a609..c28ff98 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/config/VideoConfigUtilTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/config/VideoConfigUtilTest.kt
@@ -198,4 +198,4 @@
             videoBitDepth = VideoProfileProxy.BIT_DEPTH_10
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/BufferCopiedEncodedDataTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/BufferCopiedEncodedDataTest.kt
index 7037076..ef55d94 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/BufferCopiedEncodedDataTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/BufferCopiedEncodedDataTest.kt
@@ -126,4 +126,4 @@
     fun getIsKeyFrame_returnCorrectResult() {
         assertThat(copiedEncodedData.isKeyFrame).isEqualTo(fakeEncodedData.isKeyFrame)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/FakeEncodedData.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/FakeEncodedData.kt
index f0fa204..4a5ae1a 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/FakeEncodedData.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/FakeEncodedData.kt
@@ -57,4 +57,4 @@
     override fun getClosedFuture(): ListenableFuture<Void> {
         return terminationFuture
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/VideoEncoderDataSpaceTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/VideoEncoderDataSpaceTest.kt
index a7ef9c0..f58429a 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/VideoEncoderDataSpaceTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/encoder/VideoEncoderDataSpaceTest.kt
@@ -46,4 +46,4 @@
         assertThat(dataSpace.transfer).isEqualTo(TEST_TRANSFER_FN)
         assertThat(dataSpace.range).isEqualTo(TEST_COLOR_RANGE)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-video/src/test/java/androidx/camera/video/internal/workaround/QualityValidatedEncoderProfilesProviderTest.kt b/camera/camera-video/src/test/java/androidx/camera/video/internal/workaround/QualityValidatedEncoderProfilesProviderTest.kt
index ab489a2..f2082c9 100644
--- a/camera/camera-video/src/test/java/androidx/camera/video/internal/workaround/QualityValidatedEncoderProfilesProviderTest.kt
+++ b/camera/camera-video/src/test/java/androidx/camera/video/internal/workaround/QualityValidatedEncoderProfilesProviderTest.kt
@@ -142,4 +142,4 @@
             return canBeWorkaround
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt
index 429a03c..58e8452 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt
@@ -379,4 +379,4 @@
         })
         assertThat(countDownLatch.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.kt
index c4bfa90..b8f61b6 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.kt
@@ -378,4 +378,4 @@
             arrayOf(CameraPipeConfig::class.simpleName, CameraPipeConfig.defaultConfig())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt
index f1c1e02..11e39e6 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt
@@ -1121,4 +1121,4 @@
             arrayOf(CameraPipeConfig::class.simpleName, CameraPipeConfig.defaultConfig())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewMeteringPointFactoryDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewMeteringPointFactoryDeviceTest.kt
index ae5acc6..4e31333 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewMeteringPointFactoryDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewMeteringPointFactoryDeviceTest.kt
@@ -227,4 +227,4 @@
         assertThat(meteringPoint.x).isWithin(FLOAT_ERROR).of(expectedMeteringPoint.x)
         assertThat(meteringPoint.y).isWithin(FLOAT_ERROR).of(expectedMeteringPoint.y)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt
index 4dac7b4..f4bff40 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt
@@ -238,4 +238,4 @@
 
         const val TIMEOUT_SECONDS = 10L
     }
-}
\ No newline at end of file
+}
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 f5fdfb6..8792e9b 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
@@ -175,4 +175,4 @@
         surfaceRequest.deferrableSurface.surface.get(1000, TimeUnit.MILLISECONDS)
         surfaceRequest.deferrableSurface.close()
     }
-}
\ No newline at end of file
+}
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 25e1814..503e520 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
@@ -303,4 +303,4 @@
         private const val ANY_HEIGHT = 1200
         private val ANY_SIZE: Size by lazy { Size(ANY_WIDTH, ANY_HEIGHT) }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/VideoCaptureDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/VideoCaptureDeviceTest.kt
index fc7bc7d..f7731e9 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/VideoCaptureDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/VideoCaptureDeviceTest.kt
@@ -681,4 +681,4 @@
             Build.MODEL.contains("Cuttlefish") && Build.VERSION.SDK_INT == 30
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/transform/FileTransformFactoryDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/transform/FileTransformFactoryDeviceTest.kt
index aee04dc..06ac1ee 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/transform/FileTransformFactoryDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/transform/FileTransformFactoryDeviceTest.kt
@@ -147,4 +147,4 @@
     private fun createBitmap(): Bitmap {
         return Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/test/java/androidx/camera/view/PendingValueTest.kt b/camera/camera-view/src/test/java/androidx/camera/view/PendingValueTest.kt
index 06d7972..91263d6 100644
--- a/camera/camera-view/src/test/java/androidx/camera/view/PendingValueTest.kt
+++ b/camera/camera-view/src/test/java/androidx/camera/view/PendingValueTest.kt
@@ -53,4 +53,4 @@
         assertThat(future2.isCancelled).isFalse()
         assertThat(future2.isDone).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/test/java/androidx/camera/view/RotationProviderTest.kt b/camera/camera-view/src/test/java/androidx/camera/view/RotationProviderTest.kt
index 24030e3..b6b7533 100644
--- a/camera/camera-view/src/test/java/androidx/camera/view/RotationProviderTest.kt
+++ b/camera/camera-view/src/test/java/androidx/camera/view/RotationProviderTest.kt
@@ -107,4 +107,4 @@
         assertThat(RotationProvider.orientationToSurfaceRotation(270))
             .isEqualTo(Surface.ROTATION_90)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/test/java/androidx/camera/view/internal/compat/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt b/camera/camera-view/src/test/java/androidx/camera/view/internal/compat/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt
index e0f3019..f690b13 100644
--- a/camera/camera-view/src/test/java/androidx/camera/view/internal/compat/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt
+++ b/camera/camera-view/src/test/java/androidx/camera/view/internal/compat/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt
@@ -47,4 +47,4 @@
         // Assert.
         assertThat(quirk).isNotNull()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt b/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt
index 31153d8..b3a1aec 100644
--- a/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt
+++ b/camera/camera-view/src/test/java/androidx/camera/view/transform/CoordinateTransformTest.kt
@@ -193,4 +193,4 @@
         coordinateTransform.mapPoints(point)
         assertThat(point).isEqualTo(floatArrayOf(8f, 6f))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-view/src/test/java/androidx/camera/view/transform/ImageProxyTransformFactoryTest.kt b/camera/camera-view/src/test/java/androidx/camera/view/transform/ImageProxyTransformFactoryTest.kt
index 19747bc..7f7c5c8 100644
--- a/camera/camera-view/src/test/java/androidx/camera/view/transform/ImageProxyTransformFactoryTest.kt
+++ b/camera/camera-view/src/test/java/androidx/camera/view/transform/ImageProxyTransformFactoryTest.kt
@@ -109,4 +109,4 @@
         transform.matrix.mapPoints(point)
         assertThat(point).isEqualTo(floatArrayOf(6f, 4f))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/SurfaceViewImplementationTest.kt b/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/SurfaceViewImplementationTest.kt
index 7e0012c..4074c5e 100644
--- a/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/SurfaceViewImplementationTest.kt
+++ b/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/SurfaceViewImplementationTest.kt
@@ -101,4 +101,4 @@
     private fun setContentView(view: View) {
         mActivityScenario.onActivity { activity -> activity.setContentView(view) }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/TextureViewImplementationTest.kt b/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/TextureViewImplementationTest.kt
index dbb8587..cf9b4aa 100644
--- a/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/TextureViewImplementationTest.kt
+++ b/camera/camera-viewfinder/src/androidTest/java/androidx/camera/viewfinder/TextureViewImplementationTest.kt
@@ -265,4 +265,4 @@
         private const val ANY_HEIGHT = 1200
         private val ANY_SIZE: Size by lazy { Size(ANY_WIDTH, ANY_HEIGHT) }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/ViewfinderSurfaceRequestExt.kt b/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/ViewfinderSurfaceRequestExt.kt
index 4b8112e..8353647 100644
--- a/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/ViewfinderSurfaceRequestExt.kt
+++ b/camera/camera-viewfinder/src/main/java/androidx/camera/viewfinder/ViewfinderSurfaceRequestExt.kt
@@ -43,4 +43,4 @@
         setImplementationMode(ImplementationMode.COMPATIBLE)
     }
     return this
-}
\ No newline at end of file
+}
diff --git a/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/internal/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt b/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/internal/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt
index 6a9499a..744b22d 100644
--- a/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/internal/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt
+++ b/camera/camera-viewfinder/src/test/java/androidx/camera/viewfinder/internal/quirk/SurfaceViewNotCroppedByParentQuirkTest.kt
@@ -47,4 +47,4 @@
         // Assert.
         assertThat(quirk).isNotNull()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/SignalGeneratorViewModelTest.kt b/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/SignalGeneratorViewModelTest.kt
index 870c376..ce07922 100644
--- a/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/SignalGeneratorViewModelTest.kt
+++ b/camera/integration-tests/avsynctestapp/src/androidTest/java/androidx/camera/integration/avsync/SignalGeneratorViewModelTest.kt
@@ -195,4 +195,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 75e45364..d7cc856 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
@@ -76,4 +76,4 @@
         assertThat(audioGenerator.audioTrack!!.state).isEqualTo(AudioTrack.STATE_INITIALIZED)
         assertThat(audioGenerator.audioTrack!!.playbackHeadPosition).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/MainActivity.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/MainActivity.kt
index 4d86552..0686a3f 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/MainActivity.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/MainActivity.kt
@@ -107,4 +107,4 @@
     MaterialTheme {
         SignalGeneratorScreen(beepFrequency, beepEnabled)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorScreen.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorScreen.kt
index a4daab7..eabc522b 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorScreen.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorScreen.kt
@@ -209,4 +209,4 @@
 @Composable
 private fun Preview_SignalGeneratorPage() {
     MainContent()
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorViewModel.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorViewModel.kt
index 9931e68..4e56a8d 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorViewModel.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/SignalGeneratorViewModel.kt
@@ -191,4 +191,4 @@
     private fun stopBeepSound() {
         audioGenerator.stop()
     }
-}
\ No newline at end of file
+}
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 76a8be0..edbee1a 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
@@ -188,4 +188,4 @@
 
         return res
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/CameraHelper.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/CameraHelper.kt
index 161095e..d0ddf6f 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/CameraHelper.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/model/CameraHelper.kt
@@ -162,4 +162,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/theme/Color.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/theme/Color.kt
index b3ca452..db8b314 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/theme/Color.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/theme/Color.kt
@@ -19,4 +19,4 @@
 import androidx.compose.ui.graphics.Color
 
 val LightOn = Color.White
-val LightOff = Color.Black
\ No newline at end of file
+val LightOff = Color.Black
diff --git a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/widget/Button.kt b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/widget/Button.kt
index 0189901..fb57929 100644
--- a/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/widget/Button.kt
+++ b/camera/integration-tests/avsynctestapp/src/main/java/androidx/camera/integration/avsync/ui/widget/Button.kt
@@ -68,4 +68,4 @@
 
     @Composable
     override fun rippleAlpha(): RippleAlpha = RippleAlpha(0f, 0f, 0f, 0f)
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/avsynctestapp/src/test/java/androidx/camera/integration/avsync/model/AudioGeneratorTest.kt b/camera/integration-tests/avsynctestapp/src/test/java/androidx/camera/integration/avsync/model/AudioGeneratorTest.kt
index b017a55..4adc899 100644
--- a/camera/integration-tests/avsynctestapp/src/test/java/androidx/camera/integration/avsync/model/AudioGeneratorTest.kt
+++ b/camera/integration-tests/avsynctestapp/src/test/java/androidx/camera/integration/avsync/model/AudioGeneratorTest.kt
@@ -131,4 +131,4 @@
             assertThat(5311.toBytes(2)).isEqualTo(expected)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraMetadataKey.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraMetadataKey.kt
index b922907..d8a945d 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraMetadataKey.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraMetadataKey.kt
@@ -32,4 +32,4 @@
     SENSOR_SENSITIVITY,
     SCALAR_CROP_REGION,
     STATISTICS_FACES,
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPermissionActivity.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPermissionActivity.kt
index 1d0fe6d..bf7d4bc 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPermissionActivity.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPermissionActivity.kt
@@ -222,4 +222,4 @@
       lastPermissionRequestNumber
     )
   }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeActivity.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeActivity.kt
index a7977aa..d4755ef 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeActivity.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeActivity.kt
@@ -213,4 +213,4 @@
         // When we reach the end of the list of cameras, loop.
         return cameraIdGroups[(lastCamerasIndex + 1) % cameraIdGroups.size]
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeApplication.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeApplication.kt
index c6ea7d1..4e78839 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeApplication.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeApplication.kt
@@ -51,4 +51,4 @@
             Log.i("CXCP-App", "Application (${Process.myPid()}) created.")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeUi.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeUi.kt
index 8aa0eb8..960ab24 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeUi.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/CameraPipeUi.kt
@@ -85,4 +85,4 @@
         button.isEnabled = true
         button.alpha = 1.0f
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerationDefaults.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerationDefaults.kt
index e4c3800..7d83d83 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerationDefaults.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerationDefaults.kt
@@ -262,4 +262,4 @@
 
     /** Once in this many times, the value changes from what it was before */
     val changeModeOnceInHowMany: Int
-)
\ No newline at end of file
+)
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerator.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerator.kt
index 9440d76b..f195061 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerator.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataGenerator.kt
@@ -66,4 +66,4 @@
             it.join()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataManager.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataManager.kt
index b336cc6..f0bb0e2 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataManager.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataManager.kt
@@ -71,4 +71,4 @@
         if (dataHolder != null) graphDataHolders[key]?.addPoint(dataPoint)
         else throw IllegalArgumentException("A graph data holder for $key does not exist.")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataVisualizations.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataVisualizations.kt
index 858a3cd..cc49115 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataVisualizations.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/DataVisualizations.kt
@@ -197,4 +197,4 @@
 //            graphs.addView(graphLayout)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/VisualizationDefaults.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/VisualizationDefaults.kt
index 1c54ddf..43cf10c5 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/VisualizationDefaults.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/VisualizationDefaults.kt
@@ -90,4 +90,4 @@
             2 to "HIGH_QUALITY"
         )
     )
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolder.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolder.kt
index fa237cf..533109e 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolder.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolder.kt
@@ -37,4 +37,4 @@
             timeWindowLengthNanos,
             timeWindowEndNanos
         )
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderStateImpl.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderStateImpl.kt
index 557c84b..7ef44e5 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderStateImpl.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderStateImpl.kt
@@ -36,4 +36,4 @@
     fun getNumStates() = stateMap.size
 
     fun getStrings(): List<String> = stateMap.values.toList()
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderValueImpl.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderValueImpl.kt
index d1ee6c0..828a18c 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderValueImpl.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataHolderValueImpl.kt
@@ -49,4 +49,4 @@
     fun getMax(): Number = absoluteMax
 
     fun getRange(): Number = absoluteRange
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataPoint.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataPoint.kt
index f1f5bff..860471d 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataPoint.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataPoint.kt
@@ -35,4 +35,4 @@
     override fun compareTo(other: GraphDataPoint): Int =
         if (frameNumber != other.frameNumber) frameNumber.compareTo(other.frameNumber)
         else timestampNanos.compareTo(timestampNanos)
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataSortedRingBuffer.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataSortedRingBuffer.kt
index 189f014..f422e6f 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataSortedRingBuffer.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/GraphDataSortedRingBuffer.kt
@@ -71,4 +71,4 @@
         /** 2000 is roughly the number of points added after 1 min if points are added at 30 FPS. */
         const val CAPACITY = 2000
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/KeyValueDataHolder.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/KeyValueDataHolder.kt
index 29970c1..930ffbe 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/KeyValueDataHolder.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/dataholders/KeyValueDataHolder.kt
@@ -27,4 +27,4 @@
     fun updateValue(newValue: String?) {
         value = newValue
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/DataGenerationFunctions.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/DataGenerationFunctions.kt
index 29e5da8..258db4b 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/DataGenerationFunctions.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/DataGenerationFunctions.kt
@@ -108,4 +108,4 @@
             e.printStackTrace()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/NumberOperators.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/NumberOperators.kt
index 7fbe7ec..90eb9dc 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/NumberOperators.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/extensions/NumberOperators.kt
@@ -43,4 +43,4 @@
                 "${otherNum.javaClass.simpleName} is not supported"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformations1D.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformations1D.kt
index 5dca4a0..6a6452d 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformations1D.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformations1D.kt
@@ -119,4 +119,4 @@
                 " not supported"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformationsKeyValue.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformationsKeyValue.kt
index 42a3b41..f04818b 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformationsKeyValue.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/transformations/DataTransformationsKeyValue.kt
@@ -84,4 +84,4 @@
                 " not supported"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/GraphView.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/GraphView.kt
index ee106f9..a81f607 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/GraphView.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/GraphView.kt
@@ -202,4 +202,4 @@
         /** Length of the time window of points being drawn - arbitrarily set at 4 seconds */
         const val TIME_INTERVAL_LENGTH_NANOS: Long = 3000000000
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/KeyValueView.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/KeyValueView.kt
index 00d0b74..767b5a7 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/KeyValueView.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/KeyValueView.kt
@@ -63,4 +63,4 @@
         canvas.drawText(valueString, widthFloat, bottom, paint)
         postInvalidate()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/Paints.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/Paints.kt
index a3823fe..eea9dbc 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/Paints.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/Paints.kt
@@ -61,4 +61,4 @@
         textSize = ResourcesCompat.getFloat(context.resources, R.dimen.keyValueValueTextSize)
         textAlign = Paint.Align.RIGHT
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/StateGraphView.kt b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/StateGraphView.kt
index c11ee5d..4560e4c 100644
--- a/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/StateGraphView.kt
+++ b/camera/integration-tests/camerapipetestapp/src/main/java/androidx/camera/integration/camera2/pipe/visualizations/StateGraphView.kt
@@ -53,4 +53,4 @@
             h += unitHeight
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataManagerTest.kt b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataManagerTest.kt
index cecbf75..ef5d8fb 100644
--- a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataManagerTest.kt
+++ b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataManagerTest.kt
@@ -85,4 +85,4 @@
         dataManager.initializeDataHolders()
         dataManager.updateGraphDataHolder(SCALAR_CROP_REGION, dataPoint)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataTransformations1DTests.kt b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataTransformations1DTests.kt
index 76e314c..9b0c7d5 100644
--- a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataTransformations1DTests.kt
+++ b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/DataTransformations1DTests.kt
@@ -129,4 +129,4 @@
     fun lensFocalLength_booleanTest() {
         DataTransformations1D.convert(LENS_FOCAL_LENGTH, true)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderStateImplTest.kt b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderStateImplTest.kt
index 25ecfb3..64c0bb8 100644
--- a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderStateImplTest.kt
+++ b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataHolderStateImplTest.kt
@@ -65,4 +65,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 9b2b13e..91fde59 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
@@ -59,4 +59,4 @@
             )
         assertThat(graphDataHolderValueImpl.getRange()).isEqualTo(967)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataSortedRingBufferTest.kt b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataSortedRingBufferTest.kt
index cf49e43..839fb6b 100644
--- a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataSortedRingBufferTest.kt
+++ b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/GraphDataSortedRingBufferTest.kt
@@ -405,4 +405,4 @@
         Truth.assertThat(pointList).isEqualTo(listOf(p1, p2, p3, p4, p5))
         Truth.assertThat(pointList.size).isEqualTo(5)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/VisualizationDefaultsTest.kt b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/VisualizationDefaultsTest.kt
index b393db1..f3693f8 100644
--- a/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/VisualizationDefaultsTest.kt
+++ b/camera/integration-tests/camerapipetestapp/src/test/java/androidx/camera/integration/camera2/pipe/VisualizationDefaultsTest.kt
@@ -34,4 +34,4 @@
             assertThat(ValueRanges.absoluteRanges.containsKey(it)).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.kt
index b2f1751..198f35b 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.kt
@@ -202,4 +202,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXActivityTestExtensions.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXActivityTestExtensions.kt
index d13c4c4..7463876 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXActivityTestExtensions.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraXActivityTestExtensions.kt
@@ -136,4 +136,4 @@
         IdlingRegistry.getInstance().unregister(idlingResource)
         withActivity { deleteSessionVideos() }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt
index 4b963f7..225e0a5 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt
@@ -475,4 +475,4 @@
             image.imageInfo.rotationDegrees
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureLatencyTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureLatencyTest.kt
index 88e709e..1022e81 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureLatencyTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureLatencyTest.kt
@@ -169,4 +169,4 @@
         Logger.d(TAG,
             "Image capture performance profiling, duration: [$duration] capture mode: $captureMode")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt
index 4586b00..269098b 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt
@@ -138,4 +138,4 @@
 
         assertTrue(countDownLatch.await(60, TimeUnit.SECONDS))
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt
index ef5f4da..b020728 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt
@@ -143,4 +143,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/PreviewTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/PreviewTest.kt
index 569a333..83f0e57 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/PreviewTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/PreviewTest.kt
@@ -676,4 +676,4 @@
         } while (totalCheckTime < timeoutMs)
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/SurfaceOrientedMeteringPointFactoryTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/SurfaceOrientedMeteringPointFactoryTest.kt
index 4a3759a..f0b6393 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/SurfaceOrientedMeteringPointFactoryTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/camera2/SurfaceOrientedMeteringPointFactoryTest.kt
@@ -158,4 +158,4 @@
             arrayOf(CameraPipeConfig::class.simpleName, CameraPipeConfig.defaultConfig())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/ImageCaptureStressTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/ImageCaptureStressTest.kt
index 578ae88..971b57d 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/ImageCaptureStressTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/ImageCaptureStressTest.kt
@@ -293,4 +293,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/LifecycleStatusChangeStressTestBase.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/LifecycleStatusChangeStressTestBase.kt
index 3c59a34..5424f2c 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/LifecycleStatusChangeStressTestBase.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/LifecycleStatusChangeStressTestBase.kt
@@ -242,4 +242,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/SwitchCameraStressTestBase.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/SwitchCameraStressTestBase.kt
index f710cab8..59f9139 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/SwitchCameraStressTestBase.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/stresstest/SwitchCameraStressTestBase.kt
@@ -267,4 +267,4 @@
         // Checks whether the camera of the other lens facing can support the use case combination
         assumeCameraSupportUseCaseCombination(otherLensFacingCamera, useCaseCombination)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/CameraPipeUtil.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/CameraPipeUtil.kt
index c89ede759..2738bfc2 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/CameraPipeUtil.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/CameraPipeUtil.kt
@@ -133,4 +133,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/StressTestUtil.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/StressTestUtil.kt
index fed1f5b..6995464 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/StressTestUtil.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/util/StressTestUtil.kt
@@ -221,4 +221,4 @@
      * Constant to specify that the verification target is [ImageAnalysis].
      */
     const val VERIFICATION_TARGET_IMAGE_ANALYSIS = 0x8
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Calibration.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Calibration.kt
index 5a457ed..18f2ae8 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Calibration.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Calibration.kt
@@ -160,4 +160,4 @@
         private const val TAG = "Calibration"
         private const val THRESHOLD = 4F
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/CollectDeviceInfoTask.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/CollectDeviceInfoTask.kt
index 2382efe..6f893e1 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/CollectDeviceInfoTask.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/CollectDeviceInfoTask.kt
@@ -45,4 +45,4 @@
         dataStore.appendText("Version SDK: ${Build.VERSION.SDK_INT}")
         dataStore.appendText("Fingerprint: ${Build.FINGERPRINT}")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DataStore.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DataStore.kt
index e20d1c9..02d09f5 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DataStore.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DataStore.kt
@@ -112,4 +112,4 @@
         }
         return File(dir, filename)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Diagnosis.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Diagnosis.kt
index 71625af..a5afc1e 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Diagnosis.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/Diagnosis.kt
@@ -56,4 +56,4 @@
     companion object {
         private const val TAG = "Diagnosis"
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DiagnosisTask.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DiagnosisTask.kt
index b2c0cf9..7bf3ec0 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DiagnosisTask.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/DiagnosisTask.kt
@@ -38,4 +38,4 @@
         dataStore: DataStore,
         context: Context
     )
-}
\ No newline at end of file
+}
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 b032578..e44a8ba 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
@@ -93,4 +93,4 @@
                 }
             })
     }
-}
\ No newline at end of file
+}
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 5abea5c..dfd1d5a 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
@@ -382,4 +382,4 @@
                 }
             }.toTypedArray()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/OverlayView.kt b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/OverlayView.kt
index 000c98c..c440d5aa 100644
--- a/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/OverlayView.kt
+++ b/camera/integration-tests/diagnosetestapp/src/main/java/androidx/camera/integration/diagnose/OverlayView.kt
@@ -101,4 +101,4 @@
     companion object {
         private const val TAG = "OverlayView"
     }
-}
\ No newline at end of file
+}
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 b2ca7af..842487c 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
@@ -108,4 +108,4 @@
         private const val TEST_STRING_FILE = "test_string_file"
         private const val TEST_BITMAP_FILE = "test_bitmap_file"
     }
-}
\ No newline at end of file
+}
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 e6af322..769198a 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
@@ -155,4 +155,4 @@
         private const val FAKE_TEXT_SAVING_TASK_STRING = "This is a fake test 1.Line 2."
         private const val FAKE_TEXT_AND_IMAGE_SAVING_TASK_STRING = "This is fake task 2."
     }
-}
\ No newline at end of file
+}
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 f5837dc..99e025f 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
@@ -37,4 +37,4 @@
         }
         dataStore.flushBitmapToFile("FakeImage", bitmap)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextSavingTask.kt b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextSavingTask.kt
index 51bb314..611bb61 100644
--- a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextSavingTask.kt
+++ b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/FakeTextSavingTask.kt
@@ -30,4 +30,4 @@
         dataStore.appendText("This is a fake test 1.")
         dataStore.appendText("Line 2.")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/TestUtils.kt b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/TestUtils.kt
index 6c25c61..f530803 100644
--- a/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/TestUtils.kt
+++ b/camera/integration-tests/diagnosetestapp/src/test/java/androidx/camera/integration/diagnose/TestUtils.kt
@@ -51,4 +51,4 @@
         lines.append(br.readLine())
     }
     return lines.toString()
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidation.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidation.kt
index d615435..b406d30 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidation.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidation.kt
@@ -444,4 +444,4 @@
         assertThat(captureSession).isNotNull()
         addTearDown { captureSession.close() }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidationTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidationTest.kt
index 5fbc9a3..9f25dcc 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidationTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/AdvancedExtenderValidationTest.kt
@@ -100,4 +100,4 @@
     @Test
     fun initSessionWithAnalysis_medianSize_canConfigureSession() =
         validation.initSessionWithAnalysis_medianSize_canConfigureSession()
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ClientVersionBackwardCompatibilityTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ClientVersionBackwardCompatibilityTest.kt
index 5b4f7b2..dd81b9a 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ClientVersionBackwardCompatibilityTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ClientVersionBackwardCompatibilityTest.kt
@@ -167,4 +167,4 @@
     fun previewImageCaptureWork_clientVersion_1_4_0() = runBlocking {
         assertPreviewAndImageCaptureWorking(clientVersion = "1.4.0")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt
index 941ad66..73f9355 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt
@@ -123,4 +123,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/LifecycleStatusChangeStressTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/LifecycleStatusChangeStressTest.kt
index 04404e4..428b73a 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/LifecycleStatusChangeStressTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/LifecycleStatusChangeStressTest.kt
@@ -213,4 +213,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt
index 8154c16..2734269 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt
@@ -155,4 +155,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsActivityTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsActivityTest.kt
index f689467..fb79a40 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsActivityTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsActivityTest.kt
@@ -215,4 +215,4 @@
 
         return activityScenario
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsImageCaptureStressTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsImageCaptureStressTest.kt
index f9d8b9d..b26f587 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsImageCaptureStressTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsImageCaptureStressTest.kt
@@ -133,4 +133,4 @@
             image!!.close()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsOpenCloseStressTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsOpenCloseStressTest.kt
index 8c9f89d..769ee4f 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsOpenCloseStressTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsOpenCloseStressTest.kt
@@ -76,4 +76,4 @@
             verifyOutput = true
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchCameraStressTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchCameraStressTest.kt
index bc0dfdd..cb47160 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchCameraStressTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchCameraStressTest.kt
@@ -81,4 +81,4 @@
             verifyOutput = true
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchModeStressTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchModeStressTest.kt
index 6cffd8f..87192bc 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchModeStressTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/camera2extensions/Camera2ExtensionsSwitchModeStressTest.kt
@@ -91,4 +91,4 @@
             verifyOutput = true
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsActivityTestExtensions.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsActivityTestExtensions.kt
index 13cfeb4..7fcc418 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsActivityTestExtensions.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsActivityTestExtensions.kt
@@ -79,4 +79,4 @@
         IdlingRegistry.getInstance().unregister(idlingResource)
         withActivity { deleteSessionImages() }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsTestUtil.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsTestUtil.kt
index 2b39b56..5200916 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsTestUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/Camera2ExtensionsTestUtil.kt
@@ -384,4 +384,4 @@
         }
         return EXTENSION_NOT_FOUND
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsActivityTestExtensions.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsActivityTestExtensions.kt
index 082aa68..9994192 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsActivityTestExtensions.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsActivityTestExtensions.kt
@@ -112,4 +112,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsTestUtil.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsTestUtil.kt
index 09a7be9..0754f07 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsTestUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/CameraXExtensionsTestUtil.kt
@@ -310,4 +310,4 @@
      * Constant to specify that the verification target is [ImageAnalysis].
      */
     const val VERIFICATION_TARGET_IMAGE_ANALYSIS = 0x4
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/ImageCaptureTestUtil.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/ImageCaptureTestUtil.kt
index 1875421..af16196 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/ImageCaptureTestUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/ImageCaptureTestUtil.kt
@@ -58,4 +58,4 @@
     buffer.get(data)
     buffer.rewind()
     return data
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/TestContants.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/TestContants.kt
index b3ab2a4..62e47d8 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/TestContants.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/util/TestContants.kt
@@ -24,4 +24,4 @@
 /**
  * Timeout duration to wait for idle after pressing HOME key
  */
-const val HOME_TIMEOUT_MS = 3000L
\ No newline at end of file
+const val HOME_TIMEOUT_MS = 3000L
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/Camera2ExtensionsActivity.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/Camera2ExtensionsActivity.kt
index 7ffa4e5..4ddf059 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/Camera2ExtensionsActivity.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/Camera2ExtensionsActivity.kt
@@ -1196,4 +1196,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/Camera2ExtensionsUtil.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/Camera2ExtensionsUtil.kt
index 9fbc9fc..bc7738d 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/Camera2ExtensionsUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/Camera2ExtensionsUtil.kt
@@ -202,4 +202,4 @@
 
         return Pair(stillCaptureSize, stillFormat)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/CameraSelectorUtil.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/CameraSelectorUtil.kt
index 9a15a66..29d47c2 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/CameraSelectorUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/CameraSelectorUtil.kt
@@ -72,4 +72,4 @@
         }
         return null
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ExtensionModeUtil.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ExtensionModeUtil.kt
index 1757d06..13c6ad8 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ExtensionModeUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ExtensionModeUtil.kt
@@ -57,4 +57,4 @@
         ExtensionMode.FACE_RETOUCH,
         ExtensionMode.AUTO
     )
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/FileUtil.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/FileUtil.kt
index 0bdb22e..1fb8db9 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/FileUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/FileUtil.kt
@@ -188,4 +188,4 @@
         }
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ImageUtil.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ImageUtil.kt
index 70c1cb5..dd31ecb 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ImageUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/ImageUtil.kt
@@ -142,4 +142,4 @@
         }
         return nv21
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/TransformUtil.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/TransformUtil.kt
index fb3c5ef..48dcd67 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/TransformUtil.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/utils/TransformUtil.kt
@@ -252,4 +252,4 @@
         }
         throw IllegalArgumentException("Invalid rotation degrees: $rotationDegrees")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/validation/PhotoFragment.kt b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/validation/PhotoFragment.kt
index f58b75e..c27c9d9 100644
--- a/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/validation/PhotoFragment.kt
+++ b/camera/integration-tests/extensionstestapp/src/main/java/androidx/camera/integration/extensions/validation/PhotoFragment.kt
@@ -114,4 +114,4 @@
             return Bitmap.createBitmap(bitmap, 0, 0, bitmap.width, bitmap.height, matrix, true)
         }
     }
-}
\ No newline at end of file
+}
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 0b87c9a..5594bf0 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
@@ -742,4 +742,4 @@
 
         return ""
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/RepeatRule.kt b/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/RepeatRule.kt
index 728fefb..c101d6d 100644
--- a/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/RepeatRule.kt
+++ b/camera/integration-tests/timingtestapp/src/androidTest/java/androidx/camera/integration/antelope/RepeatRule.kt
@@ -65,4 +65,4 @@
             base
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitSurfaceView.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitSurfaceView.kt
index e996710..eeda45a 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitSurfaceView.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitSurfaceView.kt
@@ -68,4 +68,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitTextureView.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitTextureView.kt
index 7f814b5..2ce9993 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitTextureView.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/AutoFitTextureView.kt
@@ -68,4 +68,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CamViewModel.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CamViewModel.kt
index f5b86dd..a71000c 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CamViewModel.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CamViewModel.kt
@@ -70,4 +70,4 @@
     fun getHumanReadableReport(): MutableLiveData<String> {
         return humanReadableReport
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraParams.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraParams.kt
index e8cf6c8..41d78965 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraParams.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraParams.kt
@@ -113,4 +113,4 @@
     // Testing variables
     internal var timer: CameraTimer = CameraTimer()
     internal var autoFocusStuckCounter = 0
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraTimer.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraTimer.kt
index 17ab0fd..1d41bab 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraTimer.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/CameraTimer.kt
@@ -68,4 +68,4 @@
         imageSaveEnd = 0L
         isHDRPlus = false
     }
-}
\ No newline at end of file
+}
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 a68e4f2..5c35763 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
@@ -105,4 +105,4 @@
     fun isFinished(): Boolean {
         return (Lifecycle.State.DESTROYED == lifecycleRegistry.currentState)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/DeviceInfo.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/DeviceInfo.kt
index dbbd722..46aceb5 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/DeviceInfo.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/DeviceInfo.kt
@@ -31,4 +31,4 @@
 
     /** Short string with device information */
     val deviceShort: String = android.os.Build.DEVICE
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
index ab9f1a2..ed7f3d2 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
@@ -459,4 +459,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/MeasureUtils.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/MeasureUtils.kt
index d0b1a6a..91781f3 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/MeasureUtils.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/MeasureUtils.kt
@@ -57,4 +57,4 @@
         Log.e(MainActivity.LOG_TAG, "Couldn't find any suitable preview size")
         return choices[0]
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/PrefHelper.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/PrefHelper.kt
index 9194ee3..b257c24 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/PrefHelper.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/PrefHelper.kt
@@ -309,4 +309,4 @@
             return -1
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SettingsDialog.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SettingsDialog.kt
index b7f03b7..c5b13e9 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SettingsDialog.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SettingsDialog.kt
@@ -157,4 +157,4 @@
             return settingsDialog
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SingleTestSettingsFragment.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SingleTestSettingsFragment.kt
index 6196051..32f69df 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SingleTestSettingsFragment.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/SingleTestSettingsFragment.kt
@@ -105,4 +105,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestConfig.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestConfig.kt
index 1e25989..232420f 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestConfig.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestConfig.kt
@@ -82,4 +82,4 @@
         testResults.imageCaptureSize = imageCaptureSize
         testResults.focusMode = focusMode
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestResults.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestResults.kt
index 03eaa24..686f2e3 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestResults.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TestResults.kt
@@ -557,4 +557,4 @@
     }
 
     return output
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingApplication.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingApplication.kt
index 29c9927..2cea254 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingApplication.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingApplication.kt
@@ -33,4 +33,4 @@
     override fun getCameraXConfig(): CameraXConfig {
         return Camera2Config.defaultConfig()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingTests.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingTests.kt
index 2e26b3a5..b3589084 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingTests.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/TimingTests.kt
@@ -641,4 +641,4 @@
             cameraXOpenCamera(activity, params, testConfig)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera1Controller.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera1Controller.kt
index a8c2c56..bf47c8f 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera1Controller.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera1Controller.kt
@@ -312,4 +312,4 @@
         testConfig.testFinished = true
         closePreviewAndCamera(activity, params, testConfig)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureCallback.kt
index 8401722..b3aedd7 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureCallback.kt
@@ -145,4 +145,4 @@
             params.timer.imageReaderStart = System.currentTimeMillis()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureSessionCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureSessionCallback.kt
index 04c128e..ad4a4c3 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureSessionCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2CaptureSessionCallback.kt
@@ -221,4 +221,4 @@
         // " Total result frame number: " + result.frameNumber)
         process(result)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
index 9b1d8fd..d4a3cad 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
@@ -341,4 +341,4 @@
 fun camera2Abort(activity: MainActivity, params: CameraParams) {
     params.camera2CaptureSession?.abortCaptures()
     activity.stopBackgroundThread(params)
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2DeviceStateCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2DeviceStateCallback.kt
index 17483c1..57dae04 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2DeviceStateCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2DeviceStateCallback.kt
@@ -144,4 +144,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXCaptureSessionCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXCaptureSessionCallback.kt
index 58d3974..91cd0a6 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXCaptureSessionCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXCaptureSessionCallback.kt
@@ -143,4 +143,4 @@
             params.timer.imageReaderStart = System.currentTimeMillis()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXController.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXController.kt
index 5c393cc..0b893df 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXController.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXController.kt
@@ -349,4 +349,4 @@
     // Prints a log to suppress "fix Parameter 'focusMode' is never used" build error"
     Log.d("Antelope", "focusMode($focusMode) Not enabled.")
     return configBuilder
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXDeviceStateCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXDeviceStateCallback.kt
index bdc8cdc..b6c660e 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXDeviceStateCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXDeviceStateCallback.kt
@@ -134,4 +134,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXPreviewSessionStateCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXPreviewSessionStateCallback.kt
index ee1f1e6..76d6db1 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXPreviewSessionStateCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/CameraXPreviewSessionStateCallback.kt
@@ -109,4 +109,4 @@
     override fun onClosed(session: CameraCaptureSession) {
         MainActivity.logd("In CameraXPreviewSessionStateCallback onClosed.")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Common.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Common.kt
index 62799fc..685ec97 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Common.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Common.kt
@@ -65,4 +65,4 @@
     if (!closedACamera) {
         closeAllCameras(activity, testConfig)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/compose/ComposeCameraAppTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/compose/ComposeCameraAppTest.kt
index 4e031ec..586408c 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/compose/ComposeCameraAppTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/compose/ComposeCameraAppTest.kt
@@ -139,4 +139,4 @@
     companion object {
         private const val TAG = "ComposeCameraAppTest"
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt
index 0add8e7..039083f 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt
@@ -182,4 +182,4 @@
             testCameraRule = CameraUtil.PreTestCamera()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt
index 741b76f..4d65618 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt
@@ -249,4 +249,4 @@
             testCameraRule = CameraUtil.PreTestCamera()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/RotationUnlocked.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/RotationUnlocked.kt
index 31e8fc6..677183c 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/RotationUnlocked.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/RotationUnlocked.kt
@@ -26,4 +26,4 @@
     object Natural : RotationUnlocked(false, {})
     object Left : RotationUnlocked(true, UiDevice::setOrientationLeft)
     object Right : RotationUnlocked(true, UiDevice::setOrientationRight)
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt
index d828729..0a6ab4e 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt
@@ -256,4 +256,4 @@
         }
         assertThat(latchForFrameUpdate.await(ACTION_IDLE_TIMEOUT, TimeUnit.MILLISECONDS)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/MainActivity.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/MainActivity.kt
index 3fd4c7d..400f740 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/MainActivity.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/MainActivity.kt
@@ -64,4 +64,4 @@
         val intent = Intent(this, activityClass)
         startActivity(intent)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/PermissionsUI.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/PermissionsUI.kt
index 27af7e9..94e7f2b 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/PermissionsUI.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/PermissionsUI.kt
@@ -53,4 +53,4 @@
     } else {
         Text("Permissions are not granted to the app.")
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraNavHost.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraNavHost.kt
index d91fc70..12fd340 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraNavHost.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraNavHost.kt
@@ -60,4 +60,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraScreen.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraScreen.kt
index 124fe4f..4197f85 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraScreen.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/navigation/ComposeCameraScreen.kt
@@ -43,4 +43,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlButton.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlButton.kt
index 0f237e5..df7182a 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlButton.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlButton.kt
@@ -64,4 +64,4 @@
 @Composable
 fun CameraControlButtonPlaceholder(modifier: Modifier = Modifier) {
     Spacer(modifier = modifier.size(CAMERA_CONTROL_BUTTON_SIZE))
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlRow.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlRow.kt
index 89fe498..4bb99c0 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlRow.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/CameraControlRow.kt
@@ -44,4 +44,4 @@
     ) {
         content()
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/TabRow.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/TabRow.kt
index 40f5ed1..0cae0bb 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/TabRow.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/components/TabRow.kt
@@ -131,4 +131,4 @@
             Text(text.uppercase(Locale.getDefault()), color = tabTintColor)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreen.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreen.kt
index 4b4ed18..1f54e41 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreen.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreen.kt
@@ -275,4 +275,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreenState.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreenState.kt
index 051fee8..72fdd51e 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreenState.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/imagecapture/ImageCaptureScreenState.kt
@@ -391,4 +391,4 @@
             initialFlashMode = initialFlashMode
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreen.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreen.kt
index 5bb0aae..71f10a5 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreen.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreen.kt
@@ -213,4 +213,4 @@
         tint = iconColor,
         onClick = onVideoCaptureIconClicked
     )
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreenState.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreenState.kt
index bd6b3cc..e5df82b 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreenState.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/compose/ui/screen/videocapture/VideoCaptureScreenState.kt
@@ -319,4 +319,4 @@
             initialLensFacing = initialLensFacing
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureResult.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureResult.kt
index 2dec4dd..0452b86 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureResult.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureResult.kt
@@ -63,4 +63,4 @@
             contentResolver.delete(uri, null, null)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/UnlockedOrientationActivity.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/UnlockedOrientationActivity.kt
index ec1b7fe..4ac8f26 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/UnlockedOrientationActivity.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/rotations/UnlockedOrientationActivity.kt
@@ -16,4 +16,4 @@
 
 package androidx.camera.integration.uiwidgets.rotations
 
-class UnlockedOrientationActivity : CameraActivity()
\ No newline at end of file
+class UnlockedOrientationActivity : CameraActivity()
diff --git a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/viewpager/BaseActivity.kt b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/viewpager/BaseActivity.kt
index 2a54dfc..f90c8f9 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/viewpager/BaseActivity.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/main/java/androidx/camera/integration/uiwidgets/viewpager/BaseActivity.kt
@@ -72,4 +72,4 @@
 
         return latchForState.await(LATCH_TIMEOUT, TimeUnit.MILLISECONDS)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderActivity.kt b/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderActivity.kt
index 998ffb7..89682eb 100644
--- a/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderActivity.kt
+++ b/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderActivity.kt
@@ -63,4 +63,4 @@
         else
             arrayOf(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderFoldableFragment.kt b/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderFoldableFragment.kt
index fd85b14..3627dd5 100644
--- a/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderFoldableFragment.kt
+++ b/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderFoldableFragment.kt
@@ -895,4 +895,4 @@
             override fun close() = image.close()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.kt b/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.kt
index db47f11..b6e280f 100644
--- a/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.kt
+++ b/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.kt
@@ -301,4 +301,4 @@
             arrayOf(CameraPipeConfig::class.simpleName, CameraPipeConfig.defaultConfig())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/MlKitFragment.kt b/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/MlKitFragment.kt
index 685a18e..17c2e9f 100644
--- a/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/MlKitFragment.kt
+++ b/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/MlKitFragment.kt
@@ -101,4 +101,4 @@
                 }
             })
     }
-}
\ No newline at end of file
+}
diff --git a/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/ToneMappingSurfaceProcessor.kt b/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/ToneMappingSurfaceProcessor.kt
index 7f67745..107d006 100644
--- a/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/ToneMappingSurfaceProcessor.kt
+++ b/camera/integration-tests/viewtestapp/src/main/java/androidx/camera/integration/view/ToneMappingSurfaceProcessor.kt
@@ -172,4 +172,4 @@
             glRenderer.render(surfaceTexture.timestamp, surfaceTransform, surface)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection-benchmark-kmp/src/commonMain/kotlin/androidx/collection/LruCacheBenchmark.kt b/collection/collection-benchmark-kmp/src/commonMain/kotlin/androidx/collection/LruCacheBenchmark.kt
index 1e61af2..786de64 100644
--- a/collection/collection-benchmark-kmp/src/commonMain/kotlin/androidx/collection/LruCacheBenchmark.kt
+++ b/collection/collection-benchmark-kmp/src/commonMain/kotlin/androidx/collection/LruCacheBenchmark.kt
@@ -72,4 +72,4 @@
         assertEquals(1, cache.hitCount())
         assertEquals(1, cache.missCount())
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection-benchmark/src/androidTest/java/androidx/collection/CollectionBenchmarkExt.kt b/collection/collection-benchmark/src/androidTest/java/androidx/collection/CollectionBenchmarkExt.kt
index 352097d..a8968fd 100644
--- a/collection/collection-benchmark/src/androidTest/java/androidx/collection/CollectionBenchmarkExt.kt
+++ b/collection/collection-benchmark/src/androidTest/java/androidx/collection/CollectionBenchmarkExt.kt
@@ -21,4 +21,4 @@
 
 internal fun BenchmarkRule.runCollectionBenchmark(benchmark: CollectionBenchmark) {
     measureRepeated { benchmark.measuredBlock() }
-}
\ No newline at end of file
+}
diff --git a/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CircularArrayBenchmarks.kt b/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CircularArrayBenchmarks.kt
index aff075f..29ddb56 100644
--- a/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CircularArrayBenchmarks.kt
+++ b/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CircularArrayBenchmarks.kt
@@ -33,4 +33,4 @@
 
 internal fun createSeed(size: Int): List<String> = List(size) {
     "element $it"
-}
\ No newline at end of file
+}
diff --git a/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CollectionBenchmark.kt b/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CollectionBenchmark.kt
index ce3293d..8fb1beb 100644
--- a/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CollectionBenchmark.kt
+++ b/collection/collection-benchmark/src/commonMain/kotlin/androidx/collection/CollectionBenchmark.kt
@@ -18,4 +18,4 @@
 
 internal interface CollectionBenchmark {
     fun measuredBlock()
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonMain/kotlin/androidx/collection/CircularArray.kt b/collection/collection/src/commonMain/kotlin/androidx/collection/CircularArray.kt
index 83dfc46..b3cb747 100644
--- a/collection/collection/src/commonMain/kotlin/androidx/collection/CircularArray.kt
+++ b/collection/collection/src/commonMain/kotlin/androidx/collection/CircularArray.kt
@@ -266,4 +266,4 @@
      * @return `true` if [size] is 0.
      */
     public fun isEmpty(): Boolean = head == tail
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonMain/kotlin/androidx/collection/IndexBasedArrayIterator.kt b/collection/collection/src/commonMain/kotlin/androidx/collection/IndexBasedArrayIterator.kt
index 549780e..7b88ba0 100644
--- a/collection/collection/src/commonMain/kotlin/androidx/collection/IndexBasedArrayIterator.kt
+++ b/collection/collection/src/commonMain/kotlin/androidx/collection/IndexBasedArrayIterator.kt
@@ -44,4 +44,4 @@
         size--
         canRemove = false
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonMain/kotlin/androidx/collection/internal/ContainerHelpers.kt b/collection/collection/src/commonMain/kotlin/androidx/collection/internal/ContainerHelpers.kt
index f75daf6..80710fc 100644
--- a/collection/collection/src/commonMain/kotlin/androidx/collection/internal/ContainerHelpers.kt
+++ b/collection/collection/src/commonMain/kotlin/androidx/collection/internal/ContainerHelpers.kt
@@ -86,4 +86,4 @@
         }
     }
     return lo.inv() // value not present
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/ArraySetTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/ArraySetTest.kt
index 257a876..e754419 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/ArraySetTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/ArraySetTest.kt
@@ -217,4 +217,4 @@
         set5.add(set5)
         assertEquals("{1, one, (this Set)}", set5.toString())
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/CircularArrayTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/CircularArrayTest.kt
index b2077f8..25600d1 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/CircularArrayTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/CircularArrayTest.kt
@@ -151,4 +151,4 @@
             array.popLast()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/CircularIntArrayTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/CircularIntArrayTest.kt
index 3574b22..a07d297 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/CircularIntArrayTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/CircularIntArrayTest.kt
@@ -130,4 +130,4 @@
         }
         assertEquals(expectedSize, array.size())
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/IndexBasedArrayIteratorTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/IndexBasedArrayIteratorTest.kt
index 6ff715e..74a9268 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/IndexBasedArrayIteratorTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/IndexBasedArrayIteratorTest.kt
@@ -137,4 +137,4 @@
                 add(item)
             }
         }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/LongSparseArrayTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/LongSparseArrayTest.kt
index f12e234..b9e75e1 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/LongSparseArrayTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/LongSparseArrayTest.kt
@@ -266,4 +266,4 @@
         assertEquals(1L, dest[1L])
         assertEquals("two", dest[2L])
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/SimpleArrayMapTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/SimpleArrayMapTest.kt
index 0ae476f..2289824 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/SimpleArrayMapTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/SimpleArrayMapTest.kt
@@ -327,4 +327,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/commonTest/kotlin/androidx/collection/internal/LruHashMapTest.kt b/collection/collection/src/commonTest/kotlin/androidx/collection/internal/LruHashMapTest.kt
index 77bba6b..3702e9f 100644
--- a/collection/collection/src/commonTest/kotlin/androidx/collection/internal/LruHashMapTest.kt
+++ b/collection/collection/src/commonTest/kotlin/androidx/collection/internal/LruHashMapTest.kt
@@ -105,4 +105,4 @@
 
         assertContentEquals(listOf("b" to "B", "a" to "A"), list)
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/darwinMain/kotlin/androidx.collection.internal/Lock.mac.kt b/collection/collection/src/darwinMain/kotlin/androidx.collection.internal/Lock.mac.kt
index f981d94..0f76eb1 100644
--- a/collection/collection/src/darwinMain/kotlin/androidx.collection.internal/Lock.mac.kt
+++ b/collection/collection/src/darwinMain/kotlin/androidx.collection.internal/Lock.mac.kt
@@ -16,4 +16,4 @@
 
 package androidx.collection.internal
 
-internal actual val PTHREAD_MUTEX_RECURSIVE: Int = platform.posix.PTHREAD_MUTEX_RECURSIVE
\ No newline at end of file
+internal actual val PTHREAD_MUTEX_RECURSIVE: Int = platform.posix.PTHREAD_MUTEX_RECURSIVE
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapCompatTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapCompatTest.kt
index f5b9e8e..5cbe950 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapCompatTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapCompatTest.kt
@@ -82,4 +82,4 @@
         val array = map.entries.toTypedArray()
         assertEquals(2, array.size)
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapExtensionsTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapExtensionsTest.kt
index e326e0f..2709310 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapExtensionsTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapExtensionsTest.kt
@@ -38,4 +38,4 @@
         val map = arrayMapOf("foo" to "bar", "foo" to "baz")
         assertThat(map).containsExactly("foo", "baz")
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapTest.kt
index c38514e..5891004 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArrayMapTest.kt
@@ -164,4 +164,4 @@
         map.remove("c")
         assertContentEquals(map.values, listOf(1))
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetCompatTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetCompatTest.kt
index 12d96a4..68540e0 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetCompatTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetCompatTest.kt
@@ -36,4 +36,4 @@
             iterator.next()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetExtensionsTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetExtensionsTest.kt
index 6575af7..43c7ca8 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetExtensionsTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetExtensionsTest.kt
@@ -32,4 +32,4 @@
         val set = arraySetOf("foo", "bar", "baz")
         assertThat(set).containsExactly("foo", "bar", "baz")
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetJvmTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetJvmTest.kt
index df77ccc..18b21f1 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetJvmTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/ArraySetJvmTest.kt
@@ -44,4 +44,4 @@
         val result: Array<Int> = set.toArray(Array(10) { -1 })
         assertNull(result[5])
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/LongSparseArrayJvmTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/LongSparseArrayJvmTest.kt
index df45728..4be7a39 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/LongSparseArrayJvmTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/LongSparseArrayJvmTest.kt
@@ -36,4 +36,4 @@
             assertEquals(source.valueAt(i), dest.valueAt(i))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/jvmTest/kotlin/androidx/collection/SimpleArrayMapJvmTest.kt b/collection/collection/src/jvmTest/kotlin/androidx/collection/SimpleArrayMapJvmTest.kt
index 35d6c1bf..695c50d 100644
--- a/collection/collection/src/jvmTest/kotlin/androidx/collection/SimpleArrayMapJvmTest.kt
+++ b/collection/collection/src/jvmTest/kotlin/androidx/collection/SimpleArrayMapJvmTest.kt
@@ -66,4 +66,4 @@
         }
         done.set(true)
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/linuxMain/kotlin/androidx/collection/internal/Lock.linux.kt b/collection/collection/src/linuxMain/kotlin/androidx/collection/internal/Lock.linux.kt
index c7966f9..52c2982 100644
--- a/collection/collection/src/linuxMain/kotlin/androidx/collection/internal/Lock.linux.kt
+++ b/collection/collection/src/linuxMain/kotlin/androidx/collection/internal/Lock.linux.kt
@@ -16,4 +16,4 @@
 
 package androidx.collection.internal
 
-internal actual val PTHREAD_MUTEX_RECURSIVE: Int = platform.posix.PTHREAD_MUTEX_RECURSIVE.toInt()
\ No newline at end of file
+internal actual val PTHREAD_MUTEX_RECURSIVE: Int = platform.posix.PTHREAD_MUTEX_RECURSIVE.toInt()
diff --git a/collection/collection/src/nativeMain/kotlin/androidx/collection/CollectionPlatformUtils.native.kt b/collection/collection/src/nativeMain/kotlin/androidx/collection/CollectionPlatformUtils.native.kt
index 678d982..20777ea 100644
--- a/collection/collection/src/nativeMain/kotlin/androidx/collection/CollectionPlatformUtils.native.kt
+++ b/collection/collection/src/nativeMain/kotlin/androidx/collection/CollectionPlatformUtils.native.kt
@@ -23,4 +23,4 @@
     internal actual inline fun createIndexOutOfBoundsException(): IndexOutOfBoundsException {
         return ArrayIndexOutOfBoundsException()
     }
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/nativeMain/kotlin/androidx/collection/LongSparseArray.native.kt b/collection/collection/src/nativeMain/kotlin/androidx/collection/LongSparseArray.native.kt
index 1c6afd7..c36ee48 100644
--- a/collection/collection/src/nativeMain/kotlin/androidx/collection/LongSparseArray.native.kt
+++ b/collection/collection/src/nativeMain/kotlin/androidx/collection/LongSparseArray.native.kt
@@ -230,4 +230,4 @@
      * itself as a value, the string "(this Map)" will appear in its place.
      */
     actual override fun toString(): String = commonToString()
-}
\ No newline at end of file
+}
diff --git a/collection/collection/src/nativeTest/kotlin/androidx/collection/internal/MemoryModelTest.kt b/collection/collection/src/nativeTest/kotlin/androidx/collection/internal/MemoryModelTest.kt
index 63e694e..e5982dd 100644
--- a/collection/collection/src/nativeTest/kotlin/androidx/collection/internal/MemoryModelTest.kt
+++ b/collection/collection/src/nativeTest/kotlin/androidx/collection/internal/MemoryModelTest.kt
@@ -26,4 +26,4 @@
     fun newMemoryModelEnabled() {
         assertTrue(isExperimentalMM())
     }
-}
\ No newline at end of file
+}
diff --git a/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/CircularIntArrayKotlin.kt b/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/CircularIntArrayKotlin.kt
index 5b01fba..68018c7 100644
--- a/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/CircularIntArrayKotlin.kt
+++ b/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/CircularIntArrayKotlin.kt
@@ -33,4 +33,4 @@
         circularIntArray.size() == 0 &&
         circularIntArray.first.equals(circularIntArray.last) &&
         circularIntArray.popFirst().equals(circularIntArray.popLast())
-}
\ No newline at end of file
+}
diff --git a/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/LongSparseArrayKotlin.kt b/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/LongSparseArrayKotlin.kt
index 6271d2d..4fe545f 100644
--- a/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/LongSparseArrayKotlin.kt
+++ b/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/LongSparseArrayKotlin.kt
@@ -145,4 +145,4 @@
         array.containsValue(0) && array.remove(0, 0) && array.replace(0, 0, 1) &&
         array.replace(0, 0) == null && array.indexOfKey(0) == array.indexOfValue(0) &&
         array.valueAt(3) == 0
-}
\ No newline at end of file
+}
diff --git a/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/SparseArrayCompatKotlin.kt b/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/SparseArrayCompatKotlin.kt
index bda1593..f32c96e 100644
--- a/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/SparseArrayCompatKotlin.kt
+++ b/collection/integration-tests/testapp/src/main/kotlin/androidx/collection/integration/SparseArrayCompatKotlin.kt
@@ -154,4 +154,4 @@
     // Operator access
     @Suppress("UNUSED_VARIABLE")
     val returnsNullable = sparseArray[0] == null
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/AnimationBenchmark.kt b/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/AnimationBenchmark.kt
index f004d5e..5f2009a 100644
--- a/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/AnimationBenchmark.kt
+++ b/compose/animation/animation-core/benchmark/src/androidTest/java/androidx/compose/animation/core/benchmark/AnimationBenchmark.kt
@@ -162,4 +162,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 0c15e61..e926920 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
@@ -77,4 +77,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 96ce4ce..67a0111 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
@@ -83,4 +83,4 @@
         Dot(scale2)
         Dot(scale3)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/SuspendAnimationSamples.kt b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/SuspendAnimationSamples.kt
index 01fb138..36b34c8 100644
--- a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/SuspendAnimationSamples.kt
+++ b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/SuspendAnimationSamples.kt
@@ -104,4 +104,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/TransitionSamples.kt b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/TransitionSamples.kt
index 7d04945..eb08b78 100644
--- a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/TransitionSamples.kt
+++ b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/TransitionSamples.kt
@@ -446,4 +446,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/TransitionTest.kt b/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/TransitionTest.kt
index 8135f03..d6e9272 100644
--- a/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/TransitionTest.kt
+++ b/compose/animation/animation-core/src/androidAndroidTest/kotlin/androidx/compose/animation/core/TransitionTest.kt
@@ -446,4 +446,4 @@
             assertEquals(0f, childTransitionFloat.value)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationEndReason.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationEndReason.kt
index 0a9dad9..0e56e86 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationEndReason.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationEndReason.kt
@@ -33,4 +33,4 @@
      * Animation has finished successfully without any interruption.
      */
     Finished
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationSpec.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationSpec.kt
index 78eb1f6..126a5d1 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationSpec.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/AnimationSpec.kt
@@ -654,4 +654,4 @@
  * @param delayMillis the number of milliseconds to wait before the animation runs. 0 by default.
  */
 @Stable
-fun <T> snap(delayMillis: Int = 0) = SnapSpec<T>(delayMillis)
\ No newline at end of file
+fun <T> snap(delayMillis: Int = 0) = SnapSpec<T>(delayMillis)
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ComplexDouble.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ComplexDouble.kt
index 1bc18567..50e8854 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ComplexDouble.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ComplexDouble.kt
@@ -109,4 +109,4 @@
 
 internal inline operator fun Double.times(other: ComplexDouble): ComplexDouble {
     return other * this
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/DecayAnimationSpec.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/DecayAnimationSpec.kt
index 959c2d5..2770f02 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/DecayAnimationSpec.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/DecayAnimationSpec.kt
@@ -190,4 +190,4 @@
         }
         return targetVector
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Expect.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Expect.kt
index e0b26ae..a87a64c 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Expect.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Expect.kt
@@ -23,4 +23,4 @@
     fun set(value: V)
     fun getAndSet(value: V): V
     fun compareAndSet(expect: V, newValue: V): Boolean
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ExperimentalTransitionApi.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ExperimentalTransitionApi.kt
index 8fd3df7..7aeadaa 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ExperimentalTransitionApi.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/ExperimentalTransitionApi.kt
@@ -20,4 +20,4 @@
     message = "This is an experimental animation API for Transition. It may change in the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalTransitionApi
\ No newline at end of file
+annotation class ExperimentalTransitionApi
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InternalAnimationApi.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InternalAnimationApi.kt
index d87eb4c..eb2cf15 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InternalAnimationApi.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/InternalAnimationApi.kt
@@ -22,4 +22,4 @@
     AnnotationTarget.FIELD, AnnotationTarget.PROPERTY_GETTER
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class InternalAnimationApi
\ No newline at end of file
+annotation class InternalAnimationApi
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 e3354a9..b3a5747 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
@@ -192,4 +192,4 @@
         convertFromVector = {
             Rect(it.v1, it.v2, it.v3, it.v4)
         }
-    )
\ No newline at end of file
+    )
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 7293a1b..89aaa6e 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
@@ -111,4 +111,4 @@
     Offset.VectorConverter to PxVisibilityThreshold,
     Dp.VectorConverter to DpVisibilityThreshold,
     DpOffset.VectorConverter to DpVisibilityThreshold
-)
\ No newline at end of file
+)
diff --git a/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/ActualJvm.kt b/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/ActualJvm.kt
index 537e0ce..de959d5 100644
--- a/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/ActualJvm.kt
+++ b/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/ActualJvm.kt
@@ -18,4 +18,4 @@
 
 package androidx.compose.animation.core
 
-internal actual typealias AtomicReference<V> = java.util.concurrent.atomic.AtomicReference<V>
\ No newline at end of file
+internal actual typealias AtomicReference<V> = java.util.concurrent.atomic.AtomicReference<V>
diff --git a/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/internal/JvmDefaultWithCompatibility.jvm.kt
index 6367424..e7a00d2 100644
--- a/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/animation/animation-core/src/jvmMain/kotlin/androidx/compose/animation/core/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.animation.core.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationVectorTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationVectorTest.kt
index b71db2e..3683f26 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationVectorTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/AnimationVectorTest.kt
@@ -91,4 +91,4 @@
             AnimationVector(1f, 2f, 3f, 4f)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/DurationScaleTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/DurationScaleTest.kt
index f4421da9..ed39954 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/DurationScaleTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/DurationScaleTest.kt
@@ -59,4 +59,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/MotionTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/MotionTest.kt
index 5ab7215..ddc271f 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/MotionTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/MotionTest.kt
@@ -44,4 +44,4 @@
         Assert.assertEquals(100f, copy.value)
         Assert.assertEquals(300f, copy.velocity)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/PhysicsAnimationTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/PhysicsAnimationTest.kt
index 0f93629..6157268 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/PhysicsAnimationTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/PhysicsAnimationTest.kt
@@ -317,4 +317,4 @@
             it.dampingRatio = dampingRatio
             it.stiffness = stiffness
         }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/RepeatableAnimationTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/RepeatableAnimationTest.kt
index 919aedb..bb4d20b 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/RepeatableAnimationTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/RepeatableAnimationTest.kt
@@ -293,4 +293,4 @@
         private val DelayDuration = 13
         private val Duration = 50
     }
-}
\ No newline at end of file
+}
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 9b0281d..8cc46e2 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
@@ -227,4 +227,4 @@
         val testCase: TestCase,
         val reason: String = ""
     )
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/TypeConverterTest.kt b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/TypeConverterTest.kt
index 1b3711c..81b503b 100644
--- a/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/TypeConverterTest.kt
+++ b/compose/animation/animation-core/src/test/java/androidx/compose/animation/core/TypeConverterTest.kt
@@ -35,4 +35,4 @@
         assertEquals(100f, Int.VectorConverter.convertToVector(100).value)
         assertEquals(5, Int.VectorConverter.convertFromVector(AnimationVector1D(5f)))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/ComposeAnimatedProperty.kt b/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/ComposeAnimatedProperty.kt
index 8c29d14..5e8cd6a 100644
--- a/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/ComposeAnimatedProperty.kt
+++ b/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/ComposeAnimatedProperty.kt
@@ -22,4 +22,4 @@
  * @property label The property text representation.
  * @property value The value associated with the property at a given time.
  */
-public data class ComposeAnimatedProperty(val label: String, val value: Any)
\ No newline at end of file
+public data class ComposeAnimatedProperty(val label: String, val value: Any)
diff --git a/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/TransitionInfo.kt b/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/TransitionInfo.kt
index 63bee77..ce658de 100644
--- a/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/TransitionInfo.kt
+++ b/compose/animation/animation-tooling-internal/src/main/java/androidx/compose/animation/tooling/TransitionInfo.kt
@@ -30,4 +30,4 @@
     public val startTimeMillis: Long,
     public val endTimeMillis: Long,
     public val values: Map<Long, Any?>
-)
\ No newline at end of file
+)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/SpringChainDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/SpringChainDemo.kt
index fdeb465..e1f0049 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/SpringChainDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/fancy/SpringChainDemo.kt
@@ -117,4 +117,4 @@
     Color(0xffffdcab),
     Color(0xffd5ffb0),
     Color(0xffbaefff)
-)
\ No newline at end of file
+)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateIncrementDecrementDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateIncrementDecrementDemo.kt
index 387d875..79033ee 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateIncrementDecrementDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimateIncrementDecrementDemo.kt
@@ -30,4 +30,4 @@
     Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
         AnimateIncrementDecrementSample()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedContentWithContentKeyDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedContentWithContentKeyDemo.kt
index 88ec8f8..a54c2a9 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedContentWithContentKeyDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedContentWithContentKeyDemo.kt
@@ -108,4 +108,4 @@
 
     var target: MyScreen by mutableStateOf(CountScreen())
         private set
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedPlacementDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedPlacementDemo.kt
index ab3a86a..7f2bfcc 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedPlacementDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/AnimatedPlacementDemo.kt
@@ -145,4 +145,4 @@
                 .background(Color.Red)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/NestedMenuDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/NestedMenuDemo.kt
index cd45d8b..eccc068 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/NestedMenuDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/NestedMenuDemo.kt
@@ -132,4 +132,4 @@
     }
 }
 
-private val menuColor = turquoiseColors[4]
\ No newline at end of file
+private val menuColor = turquoiseColors[4]
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ScaleEnterExitDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ScaleEnterExitDemo.kt
index 149faf9..59b60ea 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ScaleEnterExitDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ScaleEnterExitDemo.kt
@@ -126,4 +126,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/AnimateBoundsModifierDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/AnimateBoundsModifierDemo.kt
index 8e60214..331ba4f 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/AnimateBoundsModifierDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/AnimateBoundsModifierDemo.kt
@@ -115,4 +115,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadLayoutWithAlignmentLinesDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadLayoutWithAlignmentLinesDemo.kt
index fe66f60..e4f7044 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadLayoutWithAlignmentLinesDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadLayoutWithAlignmentLinesDemo.kt
@@ -156,4 +156,4 @@
     }
 }
 
-typealias SharedElement = @Composable SceneScope.(Modifier) -> Unit
\ No newline at end of file
+typealias SharedElement = @Composable SceneScope.(Modifier) -> Unit
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadSamplesDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadSamplesDemo.kt
index 2e9048a..1fdf49b 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadSamplesDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadSamplesDemo.kt
@@ -27,4 +27,4 @@
         IntermediateLayoutSample()
         LookaheadLayoutCoordinatesSample()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithAnimatedContentSize.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithAnimatedContentSize.kt
index feb0fd75..b245565 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithAnimatedContentSize.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithAnimatedContentSize.kt
@@ -79,4 +79,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithDisappearingMoveableContentDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithDisappearingMoveableContentDemo.kt
index 9704813..4f66032 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithDisappearingMoveableContentDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithDisappearingMoveableContentDemo.kt
@@ -177,4 +177,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithFlowRowDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithFlowRowDemo.kt
index d3756c6..adba4fa 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithFlowRowDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithFlowRowDemo.kt
@@ -140,4 +140,4 @@
     Color(0xffffcc5c),
     Color(0xff2a9d84),
     Color(0xff264653)
-)
\ No newline at end of file
+)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithIntrinsicsDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithIntrinsicsDemo.kt
index 58dce48..c5069be 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithIntrinsicsDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithIntrinsicsDemo.kt
@@ -205,4 +205,4 @@
     Color(0xffffcc5c),
     Color(0xff2a9d84),
     Color(0xff264653)
-)
\ No newline at end of file
+)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithPopularBoxWithConstraintsUsage.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithPopularBoxWithConstraintsUsage.kt
index ba99f5f..859dcde 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithPopularBoxWithConstraintsUsage.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithPopularBoxWithConstraintsUsage.kt
@@ -141,4 +141,4 @@
         contentScale = ContentScale.Crop,
         contentDescription = null
     )
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithSubcompose.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithSubcompose.kt
index 4197a50..412d8b3 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithSubcompose.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/LookaheadWithSubcompose.kt
@@ -121,4 +121,4 @@
     Color(0xffffcc5c),
     Color(0xff2a9d84),
     Color(0xff264653)
-)
\ No newline at end of file
+)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/NestedSceneHostDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/NestedSceneHostDemo.kt
index 543ff01..c77dcd3 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/NestedSceneHostDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/NestedSceneHostDemo.kt
@@ -69,4 +69,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SceneHostExperiment.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SceneHostExperiment.kt
index 2e70edb..0a3b4a8 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SceneHostExperiment.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SceneHostExperiment.kt
@@ -140,4 +140,4 @@
                 placeable.place(-(wrapperWidth - width) / 2, -(wrapperHeight - height) / 2)
             }
         }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SharedElementExplorationDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SharedElementExplorationDemo.kt
index 165d59a..343c269 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SharedElementExplorationDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/SharedElementExplorationDemo.kt
@@ -87,4 +87,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/CrossfadeDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/CrossfadeDemo.kt
index 2f77328..2fa45b8 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/CrossfadeDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/statetransition/CrossfadeDemo.kt
@@ -82,4 +82,4 @@
                 field = value
             }
         }
-}
\ No newline at end of file
+}
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 01ca017..6f90300 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
@@ -91,4 +91,4 @@
     Collapsed,
     Expanded,
     PutAway
-}
\ No newline at end of file
+}
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 5e89ee7..eccdd75 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
@@ -96,4 +96,4 @@
 private enum class RotationStates {
     Original,
     Rotated
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/suspendfun/InfiniteAnimationDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/suspendfun/InfiniteAnimationDemo.kt
index b8e5bad..f16a41d 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/suspendfun/InfiniteAnimationDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/suspendfun/InfiniteAnimationDemo.kt
@@ -66,4 +66,4 @@
             tint = Color.Red
         )
     }
-}
\ No newline at end of file
+}
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 dfd5b8e..493dc79 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
@@ -185,4 +185,4 @@
     }
 }
 
-val androidBlue = Color(0xff4282f2)
\ No newline at end of file
+val androidBlue = Color(0xff4282f2)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/EasingFunctionDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/EasingFunctionDemo.kt
index f5cf9f1..bef78a5 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/EasingFunctionDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualaid/EasingFunctionDemo.kt
@@ -251,4 +251,4 @@
 }
 
 internal val AndroidBlue = Color(0xFF4285F4)
-internal val AndroidNavy = Color(0xFF073042)
\ No newline at end of file
+internal val AndroidNavy = Color(0xFF073042)
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedContentWithInterruptions.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedContentWithInterruptions.kt
index 48187047..b266714 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedContentWithInterruptions.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedContentWithInterruptions.kt
@@ -90,4 +90,4 @@
                 .clickable { if (count > 0) count-- }
                 .padding(50.dp))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedVisibiltyContentSizeChange.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedVisibiltyContentSizeChange.kt
index 3a1eff6..52a57e6 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedVisibiltyContentSizeChange.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/AnimatedVisibiltyContentSizeChange.kt
@@ -83,4 +83,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/EnterExitCombination.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/EnterExitCombination.kt
index b39fd18..9267c8f 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/EnterExitCombination.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/EnterExitCombination.kt
@@ -330,4 +330,4 @@
         TopCenter -> BottomCenter
         BottomCenter -> TopCenter
         else -> alignment
-    }
\ No newline at end of file
+    }
diff --git a/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedValueSamples.kt b/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedValueSamples.kt
index 9ed78f9..042824a 100644
--- a/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedValueSamples.kt
+++ b/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedValueSamples.kt
@@ -67,4 +67,4 @@
         }
         return color.value
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedVisibilitySamples.kt b/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedVisibilitySamples.kt
index bba61af..cce61a4 100644
--- a/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedVisibilitySamples.kt
+++ b/compose/animation/animation/samples/src/main/java/androidx/compose/animation/samples/AnimatedVisibilitySamples.kt
@@ -733,4 +733,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedContent.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedContent.kt
index d1ac4ac..ae65174 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedContent.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedContent.kt
@@ -859,4 +859,4 @@
         measurables: List<IntrinsicMeasurable>,
         width: Int
     ) = measurables.asSequence().map { it.maxIntrinsicHeight(width) }.maxOrNull() ?: 0
-}
\ No newline at end of file
+}
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 d15138e..a43b12d 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
@@ -227,4 +227,4 @@
         measurable: IntrinsicMeasurable,
         width: Int
     ) = measurable.maxIntrinsicHeight(width)
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/DefaultDecayAnimationSpec.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/DefaultDecayAnimationSpec.kt
index 5ca4053..2b156e6 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/DefaultDecayAnimationSpec.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/DefaultDecayAnimationSpec.kt
@@ -25,4 +25,4 @@
 @Composable
 @Deprecated("Replace with rememberSplineBasedDecay<Float>")
 expect fun defaultDecayAnimationSpec(): DecayAnimationSpec<Float>
-expect fun <T> rememberSplineBasedDecay(): DecayAnimationSpec<T>
\ No newline at end of file
+expect fun <T> rememberSplineBasedDecay(): DecayAnimationSpec<T>
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/EnterExitTransition.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/EnterExitTransition.kt
index 3db5a76..b204bed 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/EnterExitTransition.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/EnterExitTransition.kt
@@ -1176,4 +1176,4 @@
         properties["exit"] = exit
         properties["graphicsLayerBlock"] = graphicsLayerBlock
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/FlingCalculator.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/FlingCalculator.kt
index 0e33a08..d972db9 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/FlingCalculator.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/FlingCalculator.kt
@@ -126,4 +126,4 @@
                 sign(initialVelocity) * distance / duration * 1000.0f
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt
index 27d75d0..fcf0fc5 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt
@@ -107,4 +107,4 @@
  * @param initialValue initial value of the [Animatable]
  */
 fun Animatable(initialValue: Color): Animatable<Color, AnimationVector4D> =
-    Animatable(initialValue, (Color.VectorConverter)(initialValue.colorSpace))
\ No newline at end of file
+    Animatable(initialValue, (Color.VectorConverter)(initialValue.colorSpace))
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.kt
index 3359b66..10429bb 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.animation.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/animation/animation/src/jvmMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/animation/animation/src/jvmMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.jvm.kt
index ff08562..37bd30c 100644
--- a/compose/animation/animation/src/jvmMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/animation/animation/src/jvmMain/kotlin/androidx/compose/animation/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.animation.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
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 ea4d100..9b384dd 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
@@ -141,4 +141,4 @@
             Offset.VectorConverter.convertToVector(Offset(x, y))
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/AndroidBenchmarkRule.kt b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/AndroidBenchmarkRule.kt
index 7877aa7..6d4a5d7 100644
--- a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/AndroidBenchmarkRule.kt
+++ b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/AndroidBenchmarkRule.kt
@@ -77,4 +77,4 @@
     fun measureRepeated(block: BenchmarkRule.Scope.() -> Unit) {
         benchmarkRule.measureRepeated(block)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkFirstExtensions.kt b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkFirstExtensions.kt
index 2c3769bd..71bf866 100644
--- a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkFirstExtensions.kt
+++ b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkFirstExtensions.kt
@@ -286,4 +286,4 @@
         assertTrue(!isComposed)
         isComposed = true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkHelpers.kt b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkHelpers.kt
index ec3c2e7..d313d54 100644
--- a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkHelpers.kt
+++ b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/BenchmarkHelpers.kt
@@ -62,4 +62,4 @@
     override fun endRecording() {
         picture.endRecording()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/ComposeBenchmarkRule.kt b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/ComposeBenchmarkRule.kt
index 05a3a29..5db4de8 100644
--- a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/ComposeBenchmarkRule.kt
+++ b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/ComposeBenchmarkRule.kt
@@ -91,4 +91,4 @@
     fun runOnUiThread(block: () -> Unit) {
         activityTestRule.runOnUiThread(block)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/android/AndroidTestCase.kt b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/android/AndroidTestCase.kt
index d3e4fb6..772d621 100644
--- a/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/android/AndroidTestCase.kt
+++ b/compose/benchmark-utils/src/main/java/androidx/compose/testutils/benchmark/android/AndroidTestCase.kt
@@ -24,4 +24,4 @@
  */
 interface AndroidTestCase {
     fun getContent(activity: Activity): ViewGroup
-}
\ No newline at end of file
+}
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 8b284f3..70a24f6 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
@@ -108,4 +108,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 d993c1e..04b8b54 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
@@ -81,4 +81,4 @@
         """.trimIndent(), compileCalls.joinToString("\n")
         )
     }
-}
\ No newline at end of file
+}
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 65757e6..be43334 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
@@ -133,4 +133,4 @@
             ExitCode.INTERNAL_ERROR
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/DaemonProtocol.kt b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/DaemonProtocol.kt
index f4d6970..8ffe8d15 100644
--- a/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/DaemonProtocol.kt
+++ b/compose/compiler/compiler-daemon/src/main/kotlin/androidx/compose/compiler/daemon/DaemonProtocol.kt
@@ -52,4 +52,4 @@
         output.println("RESULT ${exitCode.code}")
         output.flush()
     }
-}
\ No newline at end of file
+}
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 8e8f201..4a30174 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
@@ -78,4 +78,4 @@
         System.`in`.bufferedReader(Charset.defaultCharset()),
         PrintWriter(System.out)
     )
-}
\ No newline at end of file
+}
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 67673c8..dee3137 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
@@ -276,4 +276,4 @@
 
         classLoader(text, fileName, dumpClasses)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLiveLiteralTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLiveLiteralTransformTests.kt
index f82658c..2bdd293 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLiveLiteralTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractLiveLiteralTransformTests.kt
@@ -116,4 +116,4 @@
         """.trimIndent(),
         dumpTree = dumpTree
     )
-}
\ No newline at end of file
+}
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 480de2d..28ed106 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
@@ -134,4 +134,4 @@
             testMethod.invoke(instanceOfClass, *arguments, composer, 1)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMetricsTransformTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMetricsTransformTest.kt
index 8b012f3..44c13ea 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMetricsTransformTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/AbstractMetricsTransformTest.kt
@@ -99,4 +99,4 @@
                 .trimTrailingWhitespacesAndAddNewlineAtEOF(),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeCodegenTestUtils.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeCodegenTestUtils.kt
index b5a4bea..e178a88e 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeCodegenTestUtils.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeCodegenTestUtils.kt
@@ -30,4 +30,4 @@
     )
     defineClassMethod.isAccessible = true
     return defineClassMethod.invoke(loader, name, bytes, 0, bytes.size) as Class<*>
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeModuleMetricsTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeModuleMetricsTests.kt
index dcb8380..d2c9ea1 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeModuleMetricsTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeModuleMetricsTests.kt
@@ -142,4 +142,4 @@
             }
         """
     )
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeMultiPlatformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeMultiPlatformTests.kt
index 0442a7f..c9b2e80 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeMultiPlatformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposeMultiPlatformTests.kt
@@ -103,4 +103,4 @@
             """.trimIndent()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamSignatureTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamSignatureTests.kt
index bbe9866..bc52879 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamSignatureTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ComposerParamSignatureTests.kt
@@ -1687,4 +1687,4 @@
     ) {
         assertFalse(it.contains("INVOKESTATIC kotlin/jvm/internal/Reflection.property0 (Lkotlin/jvm/internal/PropertyReference0;)Lkotlin/reflect/KProperty0;"))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ContextReceiversTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ContextReceiversTransformTests.kt
index dbe4c1b..52bf805 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ContextReceiversTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ContextReceiversTransformTests.kt
@@ -674,4 +674,4 @@
             }
         """
     )
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableFunctionKeyCodegenTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableFunctionKeyCodegenTests.kt
index 359393d..1ee3448 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableFunctionKeyCodegenTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableFunctionKeyCodegenTests.kt
@@ -105,4 +105,4 @@
     private fun String.occurrences(substring: String): Int = split(substring)
         .dropLastWhile { it.isEmpty() }
         .count() - 1
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableKeyTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableKeyTests.kt
index 9e0d6cd..610920b 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableKeyTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/DurableKeyTests.kt
@@ -75,4 +75,4 @@
             assertDuplicate("c", "c/b")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionalInterfaceExtensionReceiverTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionalInterfaceExtensionReceiverTransformTests.kt
index 86c1eaa..fff78f4 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionalInterfaceExtensionReceiverTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/FunctionalInterfaceExtensionReceiverTransformTests.kt
@@ -119,4 +119,4 @@
             """.trimIndent()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/KtxTransformationTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/KtxTransformationTest.kt
index 50d3a82..b17d8dd 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/KtxTransformationTest.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/KtxTransformationTest.kt
@@ -717,4 +717,4 @@
         """
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationRegressionTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationRegressionTests.kt
index 201a7f8..16d0c91 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationRegressionTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationRegressionTests.kt
@@ -132,4 +132,4 @@
             }
         """
     )
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LiveLiteralCodegenTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LiveLiteralCodegenTests.kt
index 79754ae..6c68452 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LiveLiteralCodegenTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/LiveLiteralCodegenTests.kt
@@ -78,4 +78,4 @@
             assert(!it.contains("GETFIELD"))
         }
     }
-}
\ No newline at end of file
+}
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 f884eb9..4fe6e50 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
@@ -460,4 +460,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ScopeComposabilityTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ScopeComposabilityTests.kt
index 3a6d1d1..6af9824 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ScopeComposabilityTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ScopeComposabilityTests.kt
@@ -218,4 +218,4 @@
         node = node.parent as? KtElement
     }
     return false
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/StaticExpressionDetectionTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/StaticExpressionDetectionTests.kt
index d339a8a..34460d1 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/StaticExpressionDetectionTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/StaticExpressionDetectionTests.kt
@@ -333,4 +333,4 @@
             const val Mask = 0b111
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt
index 40f8b00..eb66445 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/TargetAnnotationsTransformTests.kt
@@ -1713,4 +1713,4 @@
         @Composable
         fun Wrapper(content: @Composable () -> Unit) { content() }
     """
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt
index 8102666..9563e07 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/analysis/ComposableTargetCheckerTests.kt
@@ -459,4 +459,4 @@
           }
         }
         """)
-}
\ No newline at end of file
+}
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 2aaeeb1..3c55338 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
@@ -314,4 +314,4 @@
                 }
                 override fun clear() {}
             }
-""".trimIndent()
\ No newline at end of file
+""".trimIndent()
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt
index 1f60b47..7d9e1d0 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt
@@ -155,4 +155,4 @@
     CLASS_PATH,
     RESULT,
     ERROR
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt
index 9ddd212..47c1b2a 100644
--- a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt
@@ -50,4 +50,4 @@
             File(it.file).startsWith(javaFolder)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/KtxNameConventions.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/KtxNameConventions.kt
index 8317770..9816b2a 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/KtxNameConventions.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/KtxNameConventions.kt
@@ -23,4 +23,4 @@
     val UPDATE_CHANGED_FLAGS = "updateChangedFlags"
     val CURRENTMARKER = Name.identifier("currentMarker")
     val ENDTOMARKER = Name.identifier("endToMarker")
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/Bindings.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/Bindings.kt
index f087527..3214bf8 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/Bindings.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/Bindings.kt
@@ -179,4 +179,4 @@
                 listener()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/CallBindings.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/CallBindings.kt
index 6ebcaa2..f0c20a1 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/CallBindings.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/CallBindings.kt
@@ -38,4 +38,4 @@
         val resultString = result?.let { "-> $it" } ?: ""
         return "[$target$anyParametersStr$paramsString$resultString]"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/LazyScheme.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/LazyScheme.kt
index ef0bb32..8d447d8 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/LazyScheme.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/inference/LazyScheme.kt
@@ -112,4 +112,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrorMessages.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrorMessages.kt
index ec1dd1e..d83e84a 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrorMessages.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrorMessages.kt
@@ -139,4 +139,4 @@
             " This will become an error in Kotlin 2.0"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrors.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrors.kt
index 72e77cd..b6bc829a 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrors.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/ComposeErrors.kt
@@ -172,4 +172,4 @@
             ComposeErrorMessages()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/FrontendWritableSlices.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/FrontendWritableSlices.kt
index 24bd498..c65d7aa 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/FrontendWritableSlices.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/k1/FrontendWritableSlices.kt
@@ -32,4 +32,4 @@
         BasicWritableSlice(RewritePolicy.DO_NOTHING)
     val COMPOSE_LAZY_SCHEME: WritableSlice<Any, LazyScheme> =
         BasicWritableSlice(RewritePolicy.DO_NOTHING)
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityFieldSerializationPlugin.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityFieldSerializationPlugin.kt
index efc090b..66be174 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityFieldSerializationPlugin.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityFieldSerializationPlugin.kt
@@ -61,4 +61,4 @@
             proto.flags = proto.flags or hasAnnotationFlag
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt
index 4d29926..0d1e90e 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ClassStabilityTransformer.kt
@@ -189,4 +189,4 @@
             declarations += stabilityProp
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/CopyDefaultValuesFromExpectLowering.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/CopyDefaultValuesFromExpectLowering.kt
index 6226df2..f79f3bfa 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/CopyDefaultValuesFromExpectLowering.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/CopyDefaultValuesFromExpectLowering.kt
@@ -266,4 +266,4 @@
             else -> error(parent)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DeepCopyPreservingMetadata.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DeepCopyPreservingMetadata.kt
index 3ef6491..033b426 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DeepCopyPreservingMetadata.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DeepCopyPreservingMetadata.kt
@@ -69,4 +69,4 @@
         super.visitLocalDelegatedProperty(declaration).apply {
             metadata = declaration.metadata
         }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableFunctionKeyTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableFunctionKeyTransformer.kt
index 615d019..c631f57 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableFunctionKeyTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableFunctionKeyTransformer.kt
@@ -251,4 +251,4 @@
         context.irTrace.record(DURABLE_FUNCTION_KEY, declaration, info)
         return super.visitSimpleFunction(declaration)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyTransformer.kt
index dbfacff..57226ea 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyTransformer.kt
@@ -459,4 +459,4 @@
             declaration
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyVisitor.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyVisitor.kt
index 01b8dc4..50c85a4 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyVisitor.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/DurableKeyVisitor.kt
@@ -183,4 +183,4 @@
             it to keys.add(it)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/KlibAssignableParamTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/KlibAssignableParamTransformer.kt
index 94d46bf..3010e87 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/KlibAssignableParamTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/KlibAssignableParamTransformer.kt
@@ -149,4 +149,4 @@
 
         return super.visitFunction(declaration)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ModuleLoweringPass.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ModuleLoweringPass.kt
index 527b5e2..25080da 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ModuleLoweringPass.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ModuleLoweringPass.kt
@@ -20,4 +20,4 @@
 
 interface ModuleLoweringPass {
     fun lower(module: IrModuleFragment)
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/WrapJsComposableLambdaLowering.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/WrapJsComposableLambdaLowering.kt
index 98424d5..28d1731 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/WrapJsComposableLambdaLowering.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/WrapJsComposableLambdaLowering.kt
@@ -263,4 +263,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/AbstractDecoysLowering.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/AbstractDecoysLowering.kt
index bab96bb..c7d7c34 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/AbstractDecoysLowering.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/AbstractDecoysLowering.kt
@@ -90,4 +90,4 @@
             else -> false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/SubstituteDecoyCallsTransformer.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/SubstituteDecoyCallsTransformer.kt
index 7eb835d..2c2c2dd 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/SubstituteDecoyCallsTransformer.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/decoys/SubstituteDecoyCallsTransformer.kt
@@ -264,4 +264,4 @@
                 } else owner
             }
         } else owner
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestBindings.kt b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestBindings.kt
index 3663084..6a2cbd2 100644
--- a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestBindings.kt
+++ b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestBindings.kt
@@ -173,4 +173,4 @@
         cBindings.unify(bOpen, cClosed)
         expect(a = 2, b = 2, c = 0)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestInferApplier.kt b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestInferApplier.kt
index 4e8437d..dfd801a 100644
--- a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestInferApplier.kt
+++ b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestInferApplier.kt
@@ -266,4 +266,4 @@
 private class ResolvedExpression(val node: Node, val type: Type) : Leaf() {
     override fun accept(visitor: Visitor) { }
     override fun storageNode(): Node = node
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestLazyScheme.kt b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestLazyScheme.kt
index a54ccc2..f0f3b16 100644
--- a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestLazyScheme.kt
+++ b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestLazyScheme.kt
@@ -189,4 +189,4 @@
     }
 
     return scheme()
-}
\ No newline at end of file
+}
diff --git a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestScheme.kt b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestScheme.kt
index 9463eb0..e78bb7d 100644
--- a/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestScheme.kt
+++ b/compose/compiler/compiler-hosted/src/test/kotlin/androidx/compose/compiler/plugins/kotlin/inference/TestScheme.kt
@@ -170,4 +170,4 @@
             assertNull(result)
         }
     }
-}
\ No newline at end of file
+}
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 9559f16..9a44385 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
@@ -236,4 +236,4 @@
         file.parentFile.mkdirs()
         file.writeText(content)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt b/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt
index 0c32401..9e53caab 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt
@@ -1 +1 @@
-// Give Kotlin a placeholder file to compile when this project is disabled.
\ No newline at end of file
+// Give Kotlin a placeholder file to compile when this project is disabled.
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppState.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppState.jvm.kt
index 5119ec7..d76162a 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppState.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppState.jvm.kt
@@ -90,4 +90,4 @@
             error.value = false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/Main.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/Main.jvm.kt
index 3d99ae2..548a1b3 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/Main.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/Main.jvm.kt
@@ -66,4 +66,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/MenuItems.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/MenuItems.jvm.kt
index 7acba63..4e4624b 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/MenuItems.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/MenuItems.jvm.kt
@@ -80,4 +80,4 @@
         shortcut = KeyShortcut(Key.Escape).takeIf { withShortcuts },
         onClick = AppState::closeAll
     )
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/TestAmbient.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/TestAmbient.jvm.kt
index 7a6e0e3..cb2d9a2 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/TestAmbient.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/TestAmbient.jvm.kt
@@ -20,4 +20,4 @@
 
 val LocalTest = staticCompositionLocalOf<Int> {
     error("LocalTest not provided")
-}
\ No newline at end of file
+}
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 06ddea7..27a2c5a 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
@@ -268,4 +268,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/vsynctest/Main.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/vsynctest/Main.jvm.kt
index 331a34e..aed8bfb 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/vsynctest/Main.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/vsynctest/Main.jvm.kt
@@ -119,4 +119,4 @@
     }
 }
 
-private fun List<Long>.median() = sorted()[size / 2]
\ No newline at end of file
+private fun List<Long>.median() = sorted()[size / 2]
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Main.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Main.jvm.kt
index cc5b99f..a2b863f 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Main.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/windowapi/Main.jvm.kt
@@ -74,4 +74,4 @@
     modifier = Modifier.padding(2.dp)
 ) {
     Text(text)
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/src/disabled/Empty.kt b/compose/desktop/desktop/src/disabled/Empty.kt
index 0c32401..9e53caab 100644
--- a/compose/desktop/desktop/src/disabled/Empty.kt
+++ b/compose/desktop/desktop/src/disabled/Empty.kt
@@ -1 +1 @@
-// Give Kotlin a placeholder file to compile when this project is disabled.
\ No newline at end of file
+// Give Kotlin a placeholder file to compile when this project is disabled.
diff --git a/compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/desktop/DesktopTheme.jvm.kt b/compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/desktop/DesktopTheme.jvm.kt
index 1e8384c..e132334 100644
--- a/compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/desktop/DesktopTheme.jvm.kt
+++ b/compose/desktop/desktop/src/jvmMain/kotlin/androidx/compose/desktop/DesktopTheme.jvm.kt
@@ -73,4 +73,4 @@
 ) = CompositionLocalProvider(
     LocalScrollbarStyle provides scrollbar,
     content = content
-)
\ No newline at end of file
+)
diff --git a/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/InputsTest.kt b/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/InputsTest.kt
index 937db0c..80e5b39 100644
--- a/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/InputsTest.kt
+++ b/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/InputsTest.kt
@@ -56,4 +56,4 @@
         }
         rule.onNodeWithTag(tag).assertRangeInfoEquals(ProgressBarRangeInfo(0f, 0f..1f, 0))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/ParagraphTest.kt b/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/ParagraphTest.kt
index 9901bb97..38fb4b9 100644
--- a/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/ParagraphTest.kt
+++ b/compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/desktop/ParagraphTest.kt
@@ -123,4 +123,4 @@
         }
         screenshotRule.snap(window.surface)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ColorLerpBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ColorLerpBenchmark.kt
index 54895668..571ddab 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ColorLerpBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ColorLerpBenchmark.kt
@@ -62,4 +62,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesBenchmark.kt
index 8f777b8..b81dbd7 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesBenchmark.kt
@@ -58,4 +58,4 @@
     fun first_layout() {
         benchmarkRule.benchmarkFirstLayout(checkboxCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesTestCase.kt
index ace9fdd..115fbe6 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/NestedBoxesTestCase.kt
@@ -44,4 +44,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnBenchmark.kt
index fa84cee..02aa96c 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnBenchmark.kt
@@ -100,4 +100,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(rectsInColumnCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelBenchmark.kt
index dcfeaca5..6d6be30 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelBenchmark.kt
@@ -100,4 +100,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(rectsInColumnCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelTestCase.kt
index 18add1b..eff3f4e 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnSharedModelTestCase.kt
@@ -61,4 +61,4 @@
             color.value = Color.Magenta
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnTestCase.kt
index 63c62bf..0fbdb92 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInColumnTestCase.kt
@@ -66,4 +66,4 @@
         states.add(state)
         Box(Modifier.size(100.dp, 50.dp).background(color = state.value))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnBenchmark.kt
index 0a6072f..2d6f27f 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnBenchmark.kt
@@ -100,4 +100,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(rectsInFlowColumnCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnTestCase.kt
index 223b9f5..079516d 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/RectsInFlowColumnTestCase.kt
@@ -71,4 +71,4 @@
                 .size(100.dp, 50.dp)
                 .background(color = state.value))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ResizeComposeViewBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ResizeComposeViewBenchmark.kt
index 7f1d93a..b2190b2 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ResizeComposeViewBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/ResizeComposeViewBenchmark.kt
@@ -145,4 +145,4 @@
             childSize = IntSize(300, 400)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsBenchmark.kt
index 27e6d90..54ea872 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsBenchmark.kt
@@ -99,4 +99,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(simpleColumnWithRowsFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsTestCase.kt
index 5b302fd..727e76b 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/SimpleColumnWithRowsTestCase.kt
@@ -54,4 +54,4 @@
             numberOfSubLayouts.value = subLayouts
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsBenchmark.kt
index 2cd66ac..6a8a67b5 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsBenchmark.kt
@@ -99,4 +99,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(simpleColumnWithRowsFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsTestCase.kt
index 2632095..a9bd699 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/WeightedColumnWithRowsTestCase.kt
@@ -60,4 +60,4 @@
             numberOfSubLayouts.value = subLayouts
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutBenchmark.kt
index 4716000..1728bd6 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutBenchmark.kt
@@ -78,4 +78,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(rectanglesCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutTestCase.kt
index b962431..4729e91 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/AndroidRectsInLinearLayoutTestCase.kt
@@ -59,4 +59,4 @@
             it.setBackgroundColor(color)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutBenchmark.kt
index be7f962..19853cf 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutBenchmark.kt
@@ -93,4 +93,4 @@
     fun changeLayoutContents_draw() {
         benchmarkRule.toggleStateBenchmarkDraw(linearLayoutCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutTestCase.kt
index 4b5f0f6..94135e6 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/SimpleLinearLayoutTestCase.kt
@@ -72,4 +72,4 @@
             isToggled = false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutBenchmark.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutBenchmark.kt
index 3d11935..a0165f7 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutBenchmark.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutBenchmark.kt
@@ -94,4 +94,4 @@
     fun changeLayoutContents_draw() {
         benchmarkRule.toggleStateBenchmarkDraw(linearLayoutCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutTestCase.kt b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutTestCase.kt
index 0177e2e..ca5f4c3 100644
--- a/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutTestCase.kt
+++ b/compose/foundation/foundation-layout/benchmark/src/androidTest/java/androidx/compose/foundation/layout/benchmark/view/WeightedLinearLayoutTestCase.kt
@@ -74,4 +74,4 @@
             isToggled = false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowColumnDemo.kt b/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowColumnDemo.kt
index 973c4c3..3afa90f 100644
--- a/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowColumnDemo.kt
+++ b/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowColumnDemo.kt
@@ -29,4 +29,4 @@
         SimpleFlowColumn()
         SimpleFlowColumnWithWeights()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowRowDemo.kt b/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowRowDemo.kt
index 0cceea3..d777eab 100644
--- a/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowRowDemo.kt
+++ b/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleFlowRowDemo.kt
@@ -29,4 +29,4 @@
         SimpleFlowRow()
         SimpleFlowRowWithWeights()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleLayoutDemo.kt b/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleLayoutDemo.kt
index e285ad6..224c045 100644
--- a/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleLayoutDemo.kt
+++ b/compose/foundation/foundation-layout/integration-tests/layout-demos/src/main/java/androidx/compose/foundation/layout/demos/SimpleLayoutDemo.kt
@@ -126,4 +126,4 @@
     Box(modifier.size(24.dp).background(Color(0xFF03DAC6)))
 }
 
-private val ExampleSize = 140.dp
\ No newline at end of file
+private val ExampleSize = 140.dp
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxSample.kt
index 03f6a9f..70709cb 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/BoxSample.kt
@@ -59,4 +59,4 @@
                 .background(Color.Blue)
         )
     }
-}
\ No newline at end of file
+}
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 c4cfe09..44f46ec 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
@@ -155,4 +155,4 @@
             height = 40.dp
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowColumnSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowColumnSample.kt
index 94be47c..b5472254 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowColumnSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowColumnSample.kt
@@ -93,4 +93,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowRowSample.kt b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowRowSample.kt
index 9bc950c..7af3c27 100644
--- a/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowRowSample.kt
+++ b/compose/foundation/foundation-layout/samples/src/main/java/androidx/compose/foundation/layout/samples/FlowRowSample.kt
@@ -84,4 +84,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 86e4ea6..8390c4d 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
@@ -80,4 +80,4 @@
                 .background(Color.Blue)
         )
     }
-}
\ No newline at end of file
+}
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 ac36b09..83df70d 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
@@ -38,4 +38,4 @@
         Spacer(Modifier.weight(1f))
         Box(Modifier.size(100.dp).background(Color.Black))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/ArrangementTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/ArrangementTest.kt
index 8808486..34ffd4b 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/ArrangementTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/ArrangementTest.kt
@@ -94,4 +94,4 @@
             ),
         )
     }
-}
\ No newline at end of file
+}
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 460b85a..62ea033 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
@@ -180,4 +180,4 @@
             ValueElement("matchHeightConstraintsFirst", false)
         )
     }
-}
\ No newline at end of file
+}
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 d3cdacb..11962f0 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
@@ -998,4 +998,4 @@
     var size: Int by mutableStateOf(size)
     var outerColor: Color by mutableStateOf(outerColor)
     var innerColor: Color by mutableStateOf(innerColor)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/FlowRowColumnTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/FlowRowColumnTest.kt
index 8142e08..3eeedac 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/FlowRowColumnTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/FlowRowColumnTest.kt
@@ -2538,4 +2538,4 @@
         rule.waitForIdle()
         Truth.assertThat(height).isEqualTo(200)
     }
-}
\ No newline at end of file
+}
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 bfc6d1d..b51d90a 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
@@ -477,4 +477,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnModifierTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnModifierTest.kt
index ae3fbd6..651281f 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnModifierTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnModifierTest.kt
@@ -439,4 +439,4 @@
             Truth.assertThat(positionInParentX).isEqualTo(5)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnTest.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnTest.kt
index c896de1..fd13029 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnTest.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/RowColumnTest.kt
@@ -6113,4 +6113,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 46f3307..2373fc2 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
@@ -2004,4 +2004,4 @@
         val root = findComposeView()
         waitForDraw(root)
     }
-}
\ No newline at end of file
+}
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 6d2bb4e..81a0bc1 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
@@ -216,4 +216,4 @@
             Truth.assertThat(size?.width).isEqualTo(0)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsActivity.kt b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsActivity.kt
index 245cff1..4e09f2d 100644
--- a/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsActivity.kt
+++ b/compose/foundation/foundation-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/WindowInsetsActivity.kt
@@ -36,4 +36,4 @@
     }
 }
 
-class WindowInsetsActionBarActivity : WindowInsetsActivity()
\ No newline at end of file
+class WindowInsetsActionBarActivity : WindowInsetsActivity()
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 bd2e95d..9512a4a 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
@@ -721,4 +721,4 @@
          */
         val velocityCoefficient: Float get() = unpackFloat2(packedValue)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsPadding.android.kt b/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsPadding.android.kt
index 9a9e20d..bb506bc 100644
--- a/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsPadding.android.kt
+++ b/compose/foundation/foundation-layout/src/androidMain/kotlin/androidx/compose/foundation/layout/WindowInsetsPadding.android.kt
@@ -252,4 +252,4 @@
         val insets = composeInsets.insetsCalculation()
         InsetsPaddingModifier(insets)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/FlowLayout.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/FlowLayout.kt
index cdec1d5..7bd845d 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/FlowLayout.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/FlowLayout.kt
@@ -752,4 +752,4 @@
     val mainAxisTotalSize: Int,
     val crossAxisTotalSize: Int,
     val items: MutableVector<RowColumnMeasureHelperResult>,
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurementHelper.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurementHelper.kt
index a828f9f..7483575 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurementHelper.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/RowColumnMeasurementHelper.kt
@@ -322,4 +322,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/WindowInsetsSize.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/WindowInsetsSize.kt
index 76af273..9c83dd3 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/WindowInsetsSize.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/WindowInsetsSize.kt
@@ -210,4 +210,4 @@
     }
 
     override fun hashCode(): Int = 31 * insets.hashCode() + heightCalc.hashCode()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.kt b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.kt
index e29df01..de7f92e 100644
--- a/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/foundation/foundation-layout/src/commonMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.foundation.layout.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/foundation/foundation-layout/src/jvmMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/foundation/foundation-layout/src/jvmMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.jvm.kt
index 83e51ff..556829a 100644
--- a/compose/foundation/foundation-layout/src/jvmMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/foundation/foundation-layout/src/jvmMain/kotlin/androidx/compose/foundation/layout/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.foundation.layout.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/FoundationNames.kt b/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/FoundationNames.kt
index e75f537..b6a07ab 100644
--- a/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/FoundationNames.kt
+++ b/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/FoundationNames.kt
@@ -42,4 +42,4 @@
         val Offset = Name(PackageName, "offset")
         val AbsoluteOffset = Name(PackageName, "absoluteOffset")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetector.kt b/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetector.kt
index a8d615e..8df549b 100644
--- a/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetector.kt
+++ b/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetector.kt
@@ -179,4 +179,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetector.kt b/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetector.kt
index 673f5be..3d98da8 100644
--- a/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetector.kt
+++ b/compose/foundation/foundation-lint/src/main/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetector.kt
@@ -154,4 +154,4 @@
 
 private const val OffsetSignature =
     "(Landroidx/compose/ui/Modifier;Landroidx/compose/ui/unit/Dp;Landroidx/compose/ui/unit/Dp;)" +
-        "Landroidx/compose/ui/Modifier;"
\ No newline at end of file
+        "Landroidx/compose/ui/Modifier;"
diff --git a/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetectorTest.kt b/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetectorTest.kt
index 4e448e6..3fb5c9a 100644
--- a/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetectorTest.kt
+++ b/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/LazyLayoutStateReadInCompositionDetectorTest.kt
@@ -708,4 +708,4 @@
 +                 }
             """.trimIndent())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetectorTest.kt b/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetectorTest.kt
index d1ea423..6b70cb7 100644
--- a/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetectorTest.kt
+++ b/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/NonLambdaOffsetModifierDetectorTest.kt
@@ -1412,4 +1412,4 @@
             .run()
             .expectClean()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/UnrememberedMutableInteractionSourceDetectorTest.kt b/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/UnrememberedMutableInteractionSourceDetectorTest.kt
index 32c8d2b..c59797b 100644
--- a/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/UnrememberedMutableInteractionSourceDetectorTest.kt
+++ b/compose/foundation/foundation-lint/src/test/java/androidx/compose/foundation/lint/UnrememberedMutableInteractionSourceDetectorTest.kt
@@ -314,4 +314,4 @@
             .run()
             .expectClean()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerBenchmark.kt
index 00d6d39..c4f9226 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/NestedScrollerBenchmark.kt
@@ -93,4 +93,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(nestedScrollerCaseFactory)
     }
-}
\ No newline at end of file
+}
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 96778f3..4176188 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
@@ -100,4 +100,4 @@
         val state = if (useScrollerPosition) scrollState else rememberScrollState()
         Row(Modifier.horizontalScroll(state), content = content)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerBenchmark.kt
index fe1e785..a97a22b 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerBenchmark.kt
@@ -93,4 +93,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(scrollerCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerTestCase.kt
index a80559c..43c37f6 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/ScrollerTestCase.kt
@@ -74,4 +74,4 @@
             drawRect(Color(red = red, green = green, blue = blue))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/SimpleComponentImplementationBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/SimpleComponentImplementationBenchmark.kt
index 61c4f40..ef0fe06 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/SimpleComponentImplementationBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/SimpleComponentImplementationBenchmark.kt
@@ -300,4 +300,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/AnnotatedTextInColumnTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/AnnotatedTextInColumnTestCase.kt
index a199a83..67ffa52 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/AnnotatedTextInColumnTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/AnnotatedTextInColumnTestCase.kt
@@ -68,4 +68,4 @@
             color.value = Color.Black
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/ParamUtils.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/ParamUtils.kt
index 71fc777..b60780a 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/ParamUtils.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/ParamUtils.kt
@@ -36,4 +36,4 @@
     this as Array<Any>
 } else {
     arrayOf(selector())
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextBasicBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextBasicBenchmark.kt
index 61c650e..2f343366 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextBasicBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextBasicBenchmark.kt
@@ -152,4 +152,4 @@
     fun toggleColor_draw() {
         benchmarkRule.toggleStateBenchmarkDraw(caseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextEllipsisBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextEllipsisBenchmark.kt
index 605f891..d8e8c73 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextEllipsisBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextEllipsisBenchmark.kt
@@ -96,4 +96,4 @@
     fun toggleAlignment_measureLayout() {
         benchmarkRule.toggleStateBenchmarkMeasureLayout(caseFactory, assertOneRecomposition = false)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextBenchmark.kt
index 8f04fa2f9..cfc5e10 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextFieldToggleTextBenchmark.kt
@@ -147,4 +147,4 @@
     fun toggleText_draw() {
         benchmarkRule.toggleStateBenchmarkDraw(caseFactory)
     }
-}
\ No newline at end of file
+}
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 92c706c..3ae3e9a 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
@@ -101,4 +101,4 @@
             /*do nothing*/
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextInColumnTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextInColumnTestCase.kt
index 0cdc58b..a4d56ed 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextInColumnTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextInColumnTestCase.kt
@@ -67,4 +67,4 @@
             color.value = Color.Black
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextMultiStyleBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextMultiStyleBenchmark.kt
index 984ae0a..c2fb0f1 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextMultiStyleBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextMultiStyleBenchmark.kt
@@ -128,4 +128,4 @@
     fun layout() {
         benchmarkRule.benchmarkLayoutPerf(caseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextBenchmark.kt
index 58b7647..8fc96f7 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextBenchmark.kt
@@ -84,4 +84,4 @@
     fun toggleText_draw() {
         benchmarkRule.toggleStateBenchmarkDraw(caseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextTestCase.kt
index c4ea2ab..f6eb648 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextToggleTextTestCase.kt
@@ -62,4 +62,4 @@
             it.value = textGenerator.nextParagraph(length = textLength)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextWithEllipsisTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextWithEllipsisTestCase.kt
index 69eb483..6017c6b 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextWithEllipsisTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/TextWithEllipsisTestCase.kt
@@ -67,4 +67,4 @@
     override fun toggleState() {
         align.value = if (align.value == TextAlign.Left) TextAlign.Right else TextAlign.Left
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/IfNotEmptyCallTextWithSpans.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/IfNotEmptyCallTextWithSpans.kt
index d37ba36..d15ec0f 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/IfNotEmptyCallTextWithSpans.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/IfNotEmptyCallTextWithSpans.kt
@@ -148,4 +148,4 @@
         // we only need this for full reporting
         Assume.assumeTrue(DoFullBenchmark)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/Parameters.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/Parameters.kt
index 260bfdd..1db91b9 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/Parameters.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/Parameters.kt
@@ -130,4 +130,4 @@
  */
 private fun Array<Any>.cartesian(rhs: Array<Any>): List<Array<Any>> = flatMap { lhs ->
     rhs.map { arrayOf(lhs, it) }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/ParametersKtTest.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/ParametersKtTest.kt
index 53b4b07..6f0d1b9 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/ParametersKtTest.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/ParametersKtTest.kt
@@ -65,4 +65,4 @@
     fun generate16() {
         assertThat(generateCacheableStringOf(16)).isEqualTo("aaaaaaa aaaaaaaa")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithInlineContent.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithInlineContent.kt
index 4916430..ed02274 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithInlineContent.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithInlineContent.kt
@@ -145,4 +145,4 @@
         // we only need this for full reporting
         Assume.assumeTrue(DoFullBenchmark)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithSpans.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithSpans.kt
index bf8d216..1aac7da 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithSpans.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/SetTextWithSpans.kt
@@ -136,4 +136,4 @@
         // we only need this for full reporting
         assumeTrue(DoFullBenchmark)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/baselines/StaticLayoutBaseline.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/baselines/StaticLayoutBaseline.kt
index 4e3cd87..da0c34c6 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/baselines/StaticLayoutBaseline.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/empirical/baselines/StaticLayoutBaseline.kt
@@ -132,4 +132,4 @@
             textPaint, /* width = */
             Int.MAX_VALUE).build()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/lazyhosted/TextLazyReuse.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/lazyhosted/TextLazyReuse.kt
index f6b097b..27c7154 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/lazyhosted/TextLazyReuse.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/lazyhosted/TextLazyReuse.kt
@@ -124,4 +124,4 @@
     fun draw() {
         benchmarkRule.toggleStateBenchmarkDraw(caseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerBenchmark.kt
index efdeef8..3ade0c5 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerBenchmark.kt
@@ -74,4 +74,4 @@
     fun layout() {
         benchmarkRule.benchmarkLayoutPerf(caseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerTestCase.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerTestCase.kt
index 30fd769..b40f714 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerTestCase.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/text/selection/SelectionContainerTestCase.kt
@@ -38,4 +38,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewBenchmark.kt b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewBenchmark.kt
index 3018e16..f3fca79 100644
--- a/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewBenchmark.kt
+++ b/compose/foundation/foundation/benchmark/src/androidTest/java/androidx/compose/foundation/benchmark/view/AndroidNestedScrollViewBenchmark.kt
@@ -88,4 +88,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(nestedScrollCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/AnchoredDraggableDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/AnchoredDraggableDemo.kt
index cbf4991..f30eb59 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/AnchoredDraggableDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/AnchoredDraggableDemo.kt
@@ -39,4 +39,4 @@
         Spacer(Modifier.height(50.dp))
         AnchoredDraggableCustomAnchoredSample()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/BasicMarqueeDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/BasicMarqueeDemo.kt
index c7192ca..e563758 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/BasicMarqueeDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/BasicMarqueeDemo.kt
@@ -203,4 +203,4 @@
             .focusRequester(focusRequester)
             .then(if (animationMode == WhileFocused) Modifier.focusable() else Modifier)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FocusedBoundsDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FocusedBoundsDemo.kt
index ced9464..94fea4b 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FocusedBoundsDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FocusedBoundsDemo.kt
@@ -356,4 +356,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/HighLevelGesturesDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/HighLevelGesturesDemo.kt
index 61254a9..0a710a5 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/HighLevelGesturesDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/HighLevelGesturesDemo.kt
@@ -48,4 +48,4 @@
         Spacer(Modifier.height(50.dp))
         HoverableSample()
     }
-}
\ No newline at end of file
+}
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 c375e4e..56d322d 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
@@ -43,4 +43,4 @@
         Spacer(Modifier.height(50.dp))
         OverscrollWithDraggable_After()
     }
-}
\ No newline at end of file
+}
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 4c73cb5..4ce3e6a7 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
@@ -229,4 +229,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollableFocusedChildDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollableFocusedChildDemo.kt
index 92d0c13..b333d14 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollableFocusedChildDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollableFocusedChildDemo.kt
@@ -277,4 +277,4 @@
     layout(placeable.width, placeable.height) {
         placeable.place(IntOffset.Zero)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/WindowInsetsDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/WindowInsetsDemo.kt
index 2f682ff..030e322 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/WindowInsetsDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/WindowInsetsDemo.kt
@@ -95,4 +95,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerCarrouselDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerCarrouselDemos.kt
index 326bac5..c5122ee 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerCarrouselDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerCarrouselDemos.kt
@@ -154,4 +154,4 @@
     ): Int {
         return (availableSpace - 2 * pageSpacing) / 3
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerDemos.kt
index 242498a..c0e3211d 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerDemos.kt
@@ -142,4 +142,4 @@
     }
 }
 
-internal const val PagesCount = 40
\ No newline at end of file
+internal const val PagesCount = 40
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerStateInteractionsDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerStateInteractionsDemos.kt
index 5922b08..540e7f5 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerStateInteractionsDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/pager/PagerStateInteractionsDemos.kt
@@ -121,4 +121,4 @@
         }
         PageMonitor(Modifier, pagerState)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewAndroidInteropDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewAndroidInteropDemo.kt
index 589d9ca..31a1594 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewAndroidInteropDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewAndroidInteropDemo.kt
@@ -108,4 +108,4 @@
     fun setContent(content: @Composable () -> Unit) {
         composeView.setContent(content)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewResponderDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewResponderDemo.kt
index 85d2663..37adf80 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewResponderDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringIntoViewResponderDemo.kt
@@ -116,4 +116,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringNestedIntoViewDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringNestedIntoViewDemo.kt
index cb26929..a941f51 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringNestedIntoViewDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringNestedIntoViewDemo.kt
@@ -143,4 +143,4 @@
             modifier = Modifier.align(Alignment.Center)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringRectangleIntoViewDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringRectangleIntoViewDemo.kt
index 63c563e..045a916 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringRectangleIntoViewDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/relocation/BringRectangleIntoViewDemo.kt
@@ -30,4 +30,4 @@
         )
         BringPartOfComposableIntoViewSample()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyListSnappingDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyListSnappingDemos.kt
index 58c29e2..962eaf7 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyListSnappingDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/LazyListSnappingDemos.kt
@@ -154,4 +154,4 @@
     }
 }
 
-private val PagesSizes = (0..ItemNumber).toList().map { (50..500).random().dp }
\ No newline at end of file
+private val PagesSizes = (0..ItemNumber).toList().map { (50..500).random().dp }
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnapLayoutInfoProvider.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnapLayoutInfoProvider.kt
index 203eae5..f2e5bae 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnapLayoutInfoProvider.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnapLayoutInfoProvider.kt
@@ -85,4 +85,4 @@
     } else {
         0f
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnappingDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnappingDemos.kt
index ef0f3387..e28f6a6 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnappingDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/snapping/RowSnappingDemos.kt
@@ -191,4 +191,4 @@
     }
 }
 
-private val RowItemSize = 250.dp
\ No newline at end of file
+private val RowItemSize = 250.dp
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/BasicTextMinMaxLinesDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/BasicTextMinMaxLinesDemo.kt
index a4a4281..b837381 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/BasicTextMinMaxLinesDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/BasicTextMinMaxLinesDemo.kt
@@ -135,4 +135,4 @@
         minLines = minLines,
         maxLines = maxLines
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/CapitalizationAutoCorrectDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/CapitalizationAutoCorrectDemo.kt
index a8ac543..5b79b87 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/CapitalizationAutoCorrectDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/CapitalizationAutoCorrectDemo.kt
@@ -104,4 +104,4 @@
         textStyle = TextStyle(fontSize = fontSize8),
         cursorBrush = SolidColor(Color.Red)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputField.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputField.kt
index 6186f91..9d90318 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputField.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputField.kt
@@ -103,4 +103,4 @@
 val demoTextFieldModifiers = Modifier
     .padding(6.dp)
     .border(1.dp, Color.LightGray, RoundedCornerShape(6.dp))
-    .padding(6.dp)
\ No newline at end of file
+    .padding(6.dp)
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputFieldMinMaxLines.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputFieldMinMaxLines.kt
index d760925..b29943c 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputFieldMinMaxLines.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeInputFieldMinMaxLines.kt
@@ -158,4 +158,4 @@
 }
 
 private fun createMultilineText(lineCount: Int) =
-    (1..lineCount).joinToString("\n") { "Line $it" }
\ No newline at end of file
+    (1..lineCount).joinToString("\n") { "Line $it" }
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 5a10e21..554f07a 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
@@ -891,4 +891,4 @@
             overflow = if (ellipsis) TextOverflow.Ellipsis else TextOverflow.Clip
         )
     }
-}
\ No newline at end of file
+}
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 f3ccb2e..3233e37 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
@@ -83,4 +83,4 @@
             style = TextStyle(fontSize = fontSize8)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextOverflownSelection.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextOverflownSelection.kt
index 3055a47..422f01e 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextOverflownSelection.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/ComposeTextOverflownSelection.kt
@@ -243,4 +243,4 @@
         onTextLayout = onTextLayout,
         style = style
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/EmojiCompatDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/EmojiCompatDemo.kt
index 0b97cfc..8f45f11 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/EmojiCompatDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/EmojiCompatDemo.kt
@@ -58,4 +58,4 @@
             onValueChange = { textFieldValue.value = it }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FocusTextFieldImmediatelyDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FocusTextFieldImmediatelyDemo.kt
index c750f11..ad82db8 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FocusTextFieldImmediatelyDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FocusTextFieldImmediatelyDemo.kt
@@ -45,4 +45,4 @@
             .wrapContentSize()
             .focusRequester(focusRequester)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FullScreenTextFieldDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FullScreenTextFieldDemo.kt
index ab5d1e1..fa26f8f 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FullScreenTextFieldDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FullScreenTextFieldDemo.kt
@@ -39,4 +39,4 @@
             .border(3.dp, MaterialTheme.colors.primary)
             .fillMaxSize()
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/KeyboardSingleLineDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/KeyboardSingleLineDemo.kt
index 07d79f0..d94de02 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/KeyboardSingleLineDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/KeyboardSingleLineDemo.kt
@@ -147,4 +147,4 @@
         textStyle = TextStyle(fontSize = fontSize8),
         cursorBrush = SolidColor(Color.Red)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LineBreakDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LineBreakDemo.kt
index f571dc0..f62350d 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LineBreakDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LineBreakDemo.kt
@@ -91,4 +91,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LoremIpsum.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LoremIpsum.kt
index cf1da10..ac9670c 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LoremIpsum.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/LoremIpsum.kt
@@ -95,4 +95,4 @@
     ישראל בקלות לטיפול בה שמו. שנתי בגרסה האנציקלופדיה זכר של, של חשמל לימודים האטמוספירה מתן, לוח
     על ובמתן קישורים עקרונות. סדר את החול רוסית, תנך למנוע ברוכים דת, מדע אל ניווט ניהול והנדסה.
     בה צעד בקלות אנגלית שימושיים. על ערכים נבחרים הספרות כדי, ארץ ליום טיפול ברוכים מה.
-""".trimIndent()
\ No newline at end of file
+""".trimIndent()
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
index c5f1175..01395db 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
@@ -384,4 +384,4 @@
         block()
         endBatchEdit()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/RejectTextChangeDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/RejectTextChangeDemo.kt
index 442fe98..d5f1028 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/RejectTextChangeDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/RejectTextChangeDemo.kt
@@ -70,4 +70,4 @@
             state.value = it
         }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/StrokeDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/StrokeDemo.kt
index bc0cda0..9573d68 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/StrokeDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/StrokeDemo.kt
@@ -174,4 +174,4 @@
     pathEffect: PathEffect? = this.pathEffect
 ): Stroke {
     return Stroke(width, miter, cap, join, pathEffect)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TailFollowingTextField.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TailFollowingTextField.kt
index 4df0c2c..e680aa4 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TailFollowingTextField.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TailFollowingTextField.kt
@@ -134,4 +134,4 @@
             p.placeRelative(0, yOffset)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldCursorBlinkingDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldCursorBlinkingDemo.kt
index 880f509..256e745c 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldCursorBlinkingDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldCursorBlinkingDemo.kt
@@ -197,4 +197,4 @@
             textStyle = TextStyle.Default.copy(fontFamily = FontFamily.Monospace)
         )
     }
-}
\ No newline at end of file
+}
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 0d01e6b..763a665 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
@@ -169,4 +169,4 @@
         }
         addView(innerCompose, LayoutParams(MATCH_PARENT, WRAP_CONTENT))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldWIthScroller.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldWIthScroller.kt
index 7d8c550..612aebe 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldWIthScroller.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldWIthScroller.kt
@@ -68,4 +68,4 @@
         singleLine = true,
         textStyle = TextStyle(fontSize = fontSize8)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldsInDialogDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldsInDialogDemo.kt
index 9160ae4..d7244bb 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldsInDialogDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldsInDialogDemo.kt
@@ -155,4 +155,4 @@
         onValueChange = { text = it },
         modifier = Modifier.focusRequester(focusRequester)
     )
-}
\ No newline at end of file
+}
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 8e052ff..970c573 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
@@ -297,4 +297,4 @@
     fun TextPaint.compatSetFontVariationSettings(variationSettings: String) {
         fontVariationSettings = variationSettings
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VisualTransformationDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VisualTransformationDemo.kt
index 7889ff5..8189632 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VisualTransformationDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/VisualTransformationDemo.kt
@@ -294,4 +294,4 @@
             textStyle = TextStyle(fontSize = fontSize8)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicSecureTextFieldDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicSecureTextFieldDemos.kt
index c4030ea..1da74a7 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicSecureTextFieldDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicSecureTextFieldDemos.kt
@@ -127,4 +127,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2CustomPinFieldDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2CustomPinFieldDemo.kt
index 6019627..117335b 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2CustomPinFieldDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2CustomPinFieldDemo.kt
@@ -223,4 +223,4 @@
         }
     }
     Text(text, fontFamily = FontFamily.Monospace)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2FilterDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2FilterDemos.kt
index dd2377b..d394e9e 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2FilterDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2FilterDemos.kt
@@ -133,4 +133,4 @@
             modifier = demoTextFieldModifiers
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/DecorationBoxDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/DecorationBoxDemos.kt
index 8e69817..af8e58c 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/DecorationBoxDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/DecorationBoxDemos.kt
@@ -90,4 +90,4 @@
             )
         }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/KeyboardOptionsDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/KeyboardOptionsDemos.kt
index 3590e8e..099d1e6 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/KeyboardOptionsDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/KeyboardOptionsDemos.kt
@@ -82,4 +82,4 @@
     .fillMaxWidth()
     .padding(6.dp)
     .border(1.dp, Color.LightGray, RoundedCornerShape(6.dp))
-    .padding(6.dp)
\ No newline at end of file
+    .padding(6.dp)
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/ScrollDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/ScrollDemos.kt
index e3f0bfe..9ff65d7 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/ScrollDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/ScrollDemos.kt
@@ -255,4 +255,4 @@
             lineLimits = SingleLine
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicMarqueeSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicMarqueeSamples.kt
index 68fb03c..400d565 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicMarqueeSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicMarqueeSamples.kt
@@ -114,4 +114,4 @@
             )
             .padding(start = edgeWidth)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
index 297625e..5164a0f 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
@@ -323,4 +323,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextFieldSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextFieldSamples.kt
index 643dbb6..d23c6354 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextFieldSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextFieldSamples.kt
@@ -173,4 +173,4 @@
         keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),
         visualTransformation = creditCardTransformation
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BringIntoViewSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BringIntoViewSamples.kt
index 2c69231..49f37aa 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BringIntoViewSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BringIntoViewSamples.kt
@@ -109,4 +109,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/CustomTouchSlopSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/CustomTouchSlopSample.kt
index 728b693..7da06be 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/CustomTouchSlopSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/CustomTouchSlopSample.kt
@@ -81,4 +81,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DraggableSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DraggableSamples.kt
index 0d930bd..2272be5 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DraggableSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DraggableSamples.kt
@@ -65,4 +65,4 @@
                 .background(Color.Red)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DrawBackgroundSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DrawBackgroundSamples.kt
index b876f7c..8e0b290 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DrawBackgroundSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/DrawBackgroundSamples.kt
@@ -49,4 +49,4 @@
         Modifier.background(brush = gradientBrush, shape = CutCornerShape(8.dp))
             .padding(10.dp)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/HoverableSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/HoverableSample.kt
index 411477d..1b12eeb 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/HoverableSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/HoverableSample.kt
@@ -49,4 +49,4 @@
     ) {
         Text(if (isHovered) "Hovered" else "Unhovered")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ImageSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ImageSamples.kt
index 0210fd2..45d87f3 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ImageSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ImageSamples.kt
@@ -90,4 +90,4 @@
         Paint().apply { this.color = Color.Cyan }
     )
     return ImageBitmap
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/IndicationSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/IndicationSamples.kt
index c179ae1..ce2ce25 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/IndicationSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/IndicationSamples.kt
@@ -59,4 +59,4 @@
                 .padding(10.dp)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InlineTextContentSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InlineTextContentSample.kt
index 0771d6e..68195dc 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InlineTextContentSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/InlineTextContentSample.kt
@@ -64,4 +64,4 @@
     )
 
     BasicText(text = text, inlineContent = inlineContent)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/PagerSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/PagerSamples.kt
index 78597e0..5d26bb0 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/PagerSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/PagerSamples.kt
@@ -337,4 +337,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ProgressSemanticsSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ProgressSemanticsSamples.kt
index 1727eb8..e23506f 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ProgressSemanticsSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ProgressSemanticsSamples.kt
@@ -45,4 +45,4 @@
     Box(Modifier.progressSemantics().background(color = Color.Cyan)) {
         Text("Operation is on progress")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectableSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectableSamples.kt
index 6ccea23..887af98 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectableSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SelectableSamples.kt
@@ -56,4 +56,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 38973fb..0fd45a2 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
@@ -50,4 +50,4 @@
             Text("Text 3")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SnapFlingBehaviorSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SnapFlingBehaviorSample.kt
index 63a0821..0b3b0e9 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SnapFlingBehaviorSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/SnapFlingBehaviorSample.kt
@@ -93,4 +93,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 b78ea5d..08020bd 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
@@ -68,4 +68,4 @@
                 .border(BorderStroke(2.dp, Color.Black))
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ToggleableSamples.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ToggleableSamples.kt
index 61470c1..0390aca 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ToggleableSamples.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/ToggleableSamples.kt
@@ -54,4 +54,4 @@
         ),
         text = checked.toString()
     )
-}
\ No newline at end of file
+}
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 f0c3785..1c9eddb 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
@@ -203,4 +203,4 @@
             }
             .fillMaxSize()
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformableSample.kt b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformableSample.kt
index 7d3b75e..cd45706 100644
--- a/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformableSample.kt
+++ b/compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/TransformableSample.kt
@@ -175,4 +175,4 @@
                 .border(2.dp, Color.Black)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BackgroundTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BackgroundTest.kt
index 7cc04da..574672e 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BackgroundTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BackgroundTest.kt
@@ -309,4 +309,4 @@
             LocalDensity.current.content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BaseLazyLayoutTestWithOrientation.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BaseLazyLayoutTestWithOrientation.kt
index 7a60556..571c316 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BaseLazyLayoutTestWithOrientation.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BaseLazyLayoutTestWithOrientation.kt
@@ -166,4 +166,4 @@
     companion object {
         internal const val FrameDuration = 16L
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BasicMarqueeTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BasicMarqueeTest.kt
index 0bf0f46..b9d2d55 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BasicMarqueeTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/BasicMarqueeTest.kt
@@ -1262,4 +1262,4 @@
         }
         return -1
     }
-}
\ No newline at end of file
+}
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 1eb8626..8eb3ab4 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
@@ -634,4 +634,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/CanvasTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/CanvasTest.kt
index 2af33e2..e7ff30b 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/CanvasTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/CanvasTest.kt
@@ -232,4 +232,4 @@
                 shapeOverlapPixelCount = 2.0f
             )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableInScrollableViewGroupTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableInScrollableViewGroupTest.kt
index eb18a04..d0f5579 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableInScrollableViewGroupTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableInScrollableViewGroupTest.kt
@@ -269,4 +269,4 @@
                 .isEqualTo(interactions[0])
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/DraggableTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/DraggableTest.kt
index 9cb4e69..66e60d5e 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/DraggableTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/DraggableTest.kt
@@ -978,4 +978,4 @@
             state = state
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusGroupTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusGroupTest.kt
index 5d6a7491..b57493a 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusGroupTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusGroupTest.kt
@@ -458,4 +458,4 @@
         @OptIn(ExperimentalFoundationApi::class)
         Box(modifier.focusGroup(), content)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusableBoundsTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusableBoundsTest.kt
index 24fa74b..73e2677 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusableBoundsTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusableBoundsTest.kt
@@ -555,4 +555,4 @@
             ).inOrder()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/GoldenCommon.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/GoldenCommon.kt
index 16051e6..9d96777 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/GoldenCommon.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/GoldenCommon.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.foundation
 
-internal const val GOLDEN_UI = "compose/foundation/foundation"
\ No newline at end of file
+internal const val GOLDEN_UI = "compose/foundation/foundation"
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/HoverableTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/HoverableTest.kt
index 3b480d2..f07ce54 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/HoverableTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/HoverableTest.kt
@@ -325,4 +325,4 @@
                 .isEqualTo(interactions[0])
         }
     }
-}
\ No newline at end of file
+}
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 d0bd0e5..131103e 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
@@ -698,4 +698,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/LazyListFocusableInteractionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/LazyListFocusableInteractionTest.kt
index 0c7279d..4a83d52 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/LazyListFocusableInteractionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/LazyListFocusableInteractionTest.kt
@@ -700,4 +700,4 @@
             Vertical -> assertTopPositionInRootIsEqualTo(expected)
             Horizontal -> assertLeftPositionInRootIsEqualTo(expected)
         }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/OverscrollScreenshotTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/OverscrollScreenshotTest.kt
index a7aa350..056f526 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/OverscrollScreenshotTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/OverscrollScreenshotTest.kt
@@ -205,4 +205,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ProgressSemanticsTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ProgressSemanticsTest.kt
index eadd420..3392a48 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ProgressSemanticsTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ProgressSemanticsTest.kt
@@ -99,4 +99,4 @@
                 }
             )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableFocusableInteractionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableFocusableInteractionTest.kt
index 23fae09..986b0cc 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableFocusableInteractionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableFocusableInteractionTest.kt
@@ -686,4 +686,4 @@
             Vertical -> assertTopPositionInRootIsEqualTo(expected)
             Horizontal -> assertLeftPositionInRootIsEqualTo(expected)
         }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
index 234a4c5..b5fe0b2 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableTest.kt
@@ -2776,4 +2776,4 @@
     )
 }
 
-internal class TestScrollMotionDurationScale(override val scaleFactor: Float) : MotionDurationScale
\ No newline at end of file
+internal class TestScrollMotionDurationScale(override val scaleFactor: Float) : MotionDurationScale
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/StretchOverscrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/StretchOverscrollTest.kt
index 76e5125..3feaf98 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/StretchOverscrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/StretchOverscrollTest.kt
@@ -266,4 +266,4 @@
         get() = scrollableState.isScrollInProgress
 }
 
-private const val OverscrollBox = "box"
\ No newline at end of file
+private const val OverscrollBox = "box"
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 8314fe4..bd9753d 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
@@ -234,4 +234,4 @@
         }
         return null
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
index 6565d4e..536921e 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
@@ -983,4 +983,4 @@
     private val defaultVelocityThreshold: () -> Float = { with(rule.density) { 125.dp.toPx() } }
 
     private val defaultAnimationSpec = tween<Float>()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableTestValue.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableTestValue.kt
index 54bfc02..e238c58 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableTestValue.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableTestValue.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.foundation.anchoredDraggable
 
-internal enum class AnchoredDraggableTestValue { A, B, C }
\ No newline at end of file
+internal enum class AnchoredDraggableTestValue { A, B, C }
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/DragGestureDetectorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/DragGestureDetectorTest.kt
index edd29e1..3fd332c 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/DragGestureDetectorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/DragGestureDetectorTest.kt
@@ -685,4 +685,4 @@
         }
         assertTrue(gestureCanceled)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/TransformGestureDetectorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/TransformGestureDetectorTest.kt
index 44a51df..031cabe 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/TransformGestureDetectorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/TransformGestureDetectorTest.kt
@@ -603,4 +603,4 @@
         assertFalse(rotated)
         assertEquals(50f, panAmount.x, 0.1f)
     }
-}
\ No newline at end of file
+}
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 af3679b..6294141 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
@@ -520,4 +520,4 @@
         val ItemSize = 200.dp
         const val TestTag = "MainList"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapLayoutInfoProviderTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapLayoutInfoProviderTest.kt
index 4bbab00..b828a84 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapLayoutInfoProviderTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyGridSnapLayoutInfoProviderTest.kt
@@ -257,4 +257,4 @@
         val FixedItemSize = 200.dp
         val DynamicItemSizes = (200..500).map { it.dp }
     }
-}
\ No newline at end of file
+}
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 603bbf7..e33c7cc 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
@@ -518,4 +518,4 @@
             performFling(initialVelocity, onAnimationStep)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapLayoutInfoProviderTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapLayoutInfoProviderTest.kt
index 543a606..259f657 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapLayoutInfoProviderTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/LazyListSnapLayoutInfoProviderTest.kt
@@ -216,4 +216,4 @@
         val FixedItemSize = 200.dp
         val DynamicItemSizes = (200..500).map { it.dp }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/SnapFlingBehaviorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/SnapFlingBehaviorTest.kt
index e3c7a2a..cc10f6f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/SnapFlingBehaviorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/gesture/snapping/SnapFlingBehaviorTest.kt
@@ -568,4 +568,4 @@
             density = density
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt
index dcb34e1..0bf7bf5 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt
@@ -138,4 +138,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridPinnableContainerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridPinnableContainerTest.kt
index a2ce246..38a076d 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridPinnableContainerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridPinnableContainerTest.kt
@@ -663,4 +663,4 @@
             assertThat(parent2Pinned).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanTest.kt
index 43b355e..71da15f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanTest.kt
@@ -298,4 +298,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/BaseLazyListTestWithOrientation.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/BaseLazyListTestWithOrientation.kt
index b96ee7a..53a5d478 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/BaseLazyListTestWithOrientation.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/BaseLazyListTestWithOrientation.kt
@@ -265,4 +265,4 @@
         beyondBoundsItemCount = beyondBoundsItemCount,
         content = content
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyColumnTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyColumnTest.kt
index 67556ba..978019a 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyColumnTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyColumnTest.kt
@@ -505,4 +505,4 @@
         Offset(-inflate, -inflate),
         Size(size.width + inflate * 2, size.height + inflate * 2)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyCustomKeysTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyCustomKeysTest.kt
index 9c97094..d425262 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyCustomKeysTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyCustomKeysTest.kt
@@ -485,4 +485,4 @@
     private class MyClass(val id: Int)
 }
 
-val LazyListState.visibleKeys: List<Any> get() = layoutInfo.visibleItemsInfo.map { it.key }
\ No newline at end of file
+val LazyListState.visibleKeys: List<Any> get() = layoutInfo.visibleItemsInfo.map { it.key }
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 416fc19..56e4118 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
@@ -2043,4 +2043,4 @@
             )
         )
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsAndExtraItemsTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsAndExtraItemsTest.kt
index 3be7e19..9c541a1 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsAndExtraItemsTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsAndExtraItemsTest.kt
@@ -245,4 +245,4 @@
 
     private fun Modifier.trackPlaced(index: Int): Modifier =
         this then TrackPlacedElement(placedItems, index)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsItemCountTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsItemCountTest.kt
index 83d87ed..2daecbe 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsItemCountTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListBeyondBoundsItemCountTest.kt
@@ -172,4 +172,4 @@
         throw AssertionError(errorMessageOnFail)
     }
     return this
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListHeadersTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListHeadersTest.kt
index 958ca81..881dd61 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListHeadersTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListHeadersTest.kt
@@ -514,4 +514,4 @@
         beyondBoundsItemCount = beyondBoundsItemCount,
         content = content
     )
-}
\ 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 1b9ebac..ebfa52d 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
@@ -642,4 +642,4 @@
             throw AssertionError(errorMessageOnFail)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListTest.kt
index 19191a5..04abbf2 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListTest.kt
@@ -2960,4 +2960,4 @@
         }
     }
 
-private const val ItemSize = 100
\ No newline at end of file
+private const val ItemSize = 100
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 41fc6d4..0f07e16 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
@@ -258,4 +258,4 @@
         beyondBoundsItemCount = beyondBoundsItemCount,
         content = content
     )
-}
\ No newline at end of file
+}
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 14fe3b1..02e397e 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
@@ -414,4 +414,4 @@
         @Parameterized.Parameters(name = "{0}")
         fun params() = arrayOf(Orientation.Vertical, Orientation.Horizontal)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/BaseLazyStaggeredGridWithOrientation.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/BaseLazyStaggeredGridWithOrientation.kt
index eefbbc4..10931e1 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/BaseLazyStaggeredGridWithOrientation.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/BaseLazyStaggeredGridWithOrientation.kt
@@ -120,4 +120,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimatedScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimatedScrollTest.kt
index d68ad55..f5e5bb5 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimatedScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimatedScrollTest.kt
@@ -323,4 +323,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridContentPaddingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridContentPaddingTest.kt
index 0fd910b..81589b6 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridContentPaddingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridContentPaddingTest.kt
@@ -364,4 +364,4 @@
         rule.onNodeWithTag(LazyStaggeredGrid)
             .assertMainAxisSizeIsEqualTo(itemSizeDp * 6)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfoTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfoTest.kt
index aac67a3..3c15d97 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfoTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfoTest.kt
@@ -108,4 +108,4 @@
         laneInfo.setGaps(0, null)
         assertThat(laneInfo.getGaps(0)).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLayoutInfoTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLayoutInfoTest.kt
index f078506..2dfc120 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLayoutInfoTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLayoutInfoTest.kt
@@ -52,4 +52,4 @@
                 .isEqualTo(listOf(0, 1, null))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridPinnableContainerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridPinnableContainerTest.kt
index 5796438..8389142 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridPinnableContainerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridPinnableContainerTest.kt
@@ -665,4 +665,4 @@
             assertThat(parent2Pinned).isTrue()
         }
     }
-}
\ No newline at end of file
+}
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 344ebe3..3ce5850 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
@@ -463,4 +463,4 @@
             .assertMainAxisStartPositionInRootIsEqualTo(itemSize * 1.5f)
     }
     // initial position
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridScrollTest.kt
index d52aa77..05ba1df 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridScrollTest.kt
@@ -247,4 +247,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/EmptyPagerTests.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/EmptyPagerTests.kt
index 3527b40..044636b 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/EmptyPagerTests.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/EmptyPagerTests.kt
@@ -45,4 +45,4 @@
         @Parameterized.Parameters(name = "{0}")
         fun params() = AllOrientationsParams
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageLayoutPositionOnScrollingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageLayoutPositionOnScrollingTest.kt
index ef8e8fa..69ef744 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageLayoutPositionOnScrollingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageLayoutPositionOnScrollingTest.kt
@@ -102,4 +102,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageSizeTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageSizeTest.kt
index 988a695..7f9e466 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageSizeTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PageSizeTest.kt
@@ -97,4 +97,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerAccessibilityTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerAccessibilityTest.kt
index 06cd075..752614c 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerAccessibilityTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerAccessibilityTest.kt
@@ -153,4 +153,4 @@
         @Parameterized.Parameters(name = "{0}")
         fun params() = AllOrientationsParams
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerContentTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerContentTest.kt
index 4f02a20..d4ca45f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerContentTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerContentTest.kt
@@ -178,4 +178,4 @@
             Truth.assertThat(previousScrollStateValue).isNotEqualTo(states[0]!!.value)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerCrossAxisTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerCrossAxisTest.kt
index e9c8ddf..cf91ee7 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerCrossAxisTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerCrossAxisTest.kt
@@ -107,4 +107,4 @@
         @Parameterized.Parameters(name = "{0}")
         fun params() = AllOrientationsParams
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerNestedScrollContentTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerNestedScrollContentTest.kt
index 5a638f2..2dd2726 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerNestedScrollContentTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerNestedScrollContentTest.kt
@@ -494,4 +494,4 @@
     }
 }
 
-private const val TestTag = "pager"
\ No newline at end of file
+private const val TestTag = "pager"
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerOffscreenPageLimitPlacingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerOffscreenPageLimitPlacingTest.kt
index 5967023..db60199 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerOffscreenPageLimitPlacingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerOffscreenPageLimitPlacingTest.kt
@@ -136,4 +136,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerPinnableContainerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerPinnableContainerTest.kt
index abd50db..3de9193 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerPinnableContainerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerPinnableContainerTest.kt
@@ -656,4 +656,4 @@
             assertThat(parent2Pinned).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerScrollingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerScrollingTest.kt
index 103f9c7..8d4a2b4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerScrollingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerScrollingTest.kt
@@ -722,4 +722,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateNonGestureScrollingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateNonGestureScrollingTest.kt
index 33c0eb7..58fcbec 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateNonGestureScrollingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateNonGestureScrollingTest.kt
@@ -267,4 +267,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateTest.kt
index fbcbe8b..3c397d7 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerStateTest.kt
@@ -693,4 +693,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerSwipeEdgeTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerSwipeEdgeTest.kt
index 2668529..cf2aad1 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerSwipeEdgeTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerSwipeEdgeTest.kt
@@ -110,4 +110,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerTest.kt
index 753c0a2..d1a0b13 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/pager/PagerTest.kt
@@ -255,4 +255,4 @@
         @Parameterized.Parameters(name = "{0}")
         fun params() = AllOrientationsParams
     }
-}
\ No newline at end of file
+}
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 37436c9..a39b9af 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
@@ -201,4 +201,4 @@
             return false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponderTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponderTest.kt
index dd4bd8e..80ab99a 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponderTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponderTest.kt
@@ -577,4 +577,4 @@
 
     private fun Job.isChildOf(expectedParent: Job): Boolean =
         expectedParent.children.any { it === this || this.isChildOf(it) }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewScrollableInteractionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewScrollableInteractionTest.kt
index e690ab0..dd10d64 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewScrollableInteractionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/BringIntoViewScrollableInteractionTest.kt
@@ -1369,4 +1369,4 @@
 
         assertThat(visibleBounds).isEqualTo(expectedVisibleBounds)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/FakeScrollable.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/FakeScrollable.kt
index 253454b..c01ce98 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/FakeScrollable.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/relocation/FakeScrollable.kt
@@ -43,4 +43,4 @@
             onBringIntoView(localRect)
         }
     })
-    .wrapContentSize(align = Alignment.TopStart, unbounded = true)
\ No newline at end of file
+    .wrapContentSize(align = Alignment.TopStart, unbounded = true)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextHoverTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextHoverTest.kt
index 8afbdf7..39634f1 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextHoverTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextHoverTest.kt
@@ -116,4 +116,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextMinMaxLinesTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextMinMaxLinesTest.kt
index bbce88a..aad39c5 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextMinMaxLinesTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextMinMaxLinesTest.kt
@@ -229,4 +229,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextScreenshotTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextScreenshotTest.kt
index 8bf92f2..e53b47f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextScreenshotTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/BasicTextScreenshotTest.kt
@@ -120,4 +120,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, "multiStyleText_setFontStyle")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldHoverTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldHoverTest.kt
index 1018b28..3157d39 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldHoverTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldHoverTest.kt
@@ -108,4 +108,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldKeyboardScrollableInteractionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldKeyboardScrollableInteractionTest.kt
index 13415a1..71e3ac8 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldKeyboardScrollableInteractionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldKeyboardScrollableInteractionTest.kt
@@ -211,4 +211,4 @@
                     yield(sequenceOf(firstValue) + subProduct)
                 }
         }
-    }
\ No newline at end of file
+    }
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSelectionOnBackTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSelectionOnBackTest.kt
index f0e5dcb..c0f42ed 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSelectionOnBackTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSelectionOnBackTest.kt
@@ -176,4 +176,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 e96325c..be99b34 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
@@ -119,4 +119,4 @@
             assertThat(textLayout?.lineCount).isEqualTo(string.length)
         }
     }
-}
\ No newline at end of file
+}
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 3d76e18..63c6bc8 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
@@ -232,4 +232,4 @@
         assertThat(boxLeft - textLeft).isEqualTo(left)
         assertThat(textRight - boxRight).isEqualTo(right)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DeadKeyCombinerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DeadKeyCombinerTest.kt
index 17ea8f0..c690db0 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DeadKeyCombinerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DeadKeyCombinerTest.kt
@@ -118,4 +118,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DrawPhaseAttributesToggleTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DrawPhaseAttributesToggleTest.kt
index e8582e3..8055349 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DrawPhaseAttributesToggleTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/DrawPhaseAttributesToggleTest.kt
@@ -269,4 +269,4 @@
 
         assertThat(finalBitmap).isEqualToBitmap(initialBitmap)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/FontScalingScreenshotTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/FontScalingScreenshotTest.kt
index 50b3049..7869750 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/FontScalingScreenshotTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/FontScalingScreenshotTest.kt
@@ -222,4 +222,4 @@
 quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
     """.trimIndent()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyEventHelpersTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyEventHelpersTest.kt
index c4ca98c..3b9dcce 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyEventHelpersTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyEventHelpersTest.kt
@@ -59,4 +59,4 @@
         )
         assertThat(event.cancelsTextSelection()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyboardHelper.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyboardHelper.kt
index f222389..8401332 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyboardHelper.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyboardHelper.kt
@@ -183,4 +183,4 @@
         block()
         super.onEnd(animation)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt
index 0479889..2c21952 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt
@@ -245,4 +245,4 @@
         inlineContent = mapOf(),
         onTextLayout = onTextLayout
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextOverflowTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextOverflowTest.kt
index 8be1eb6..56e8833 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextOverflowTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextOverflowTest.kt
@@ -157,4 +157,4 @@
         )
         croppedBoxBitmap.asImageBitmap().assertContainsColor(Color.Red)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextStyleInvalidationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextStyleInvalidationTest.kt
index b5b83db..4f27a5c 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextStyleInvalidationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextStyleInvalidationTest.kt
@@ -345,4 +345,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt
index c9a5157..88e813a 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt
@@ -31,4 +31,4 @@
     style = FontStyle.Normal
 )
 
-val TEST_FONT_FAMILY = TEST_FONT.toFontFamily()
\ No newline at end of file
+val TEST_FONT_FAMILY = TEST_FONT.toFontFamily()
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextUsingModifierMinMaxLinesTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextUsingModifierMinMaxLinesTest.kt
index 4d94c86..5b88a91 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextUsingModifierMinMaxLinesTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextUsingModifierMinMaxLinesTest.kt
@@ -149,4 +149,4 @@
             BasicText(text = "", minLines = 10, maxLines = 5)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/BitmapSubject.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/BitmapSubject.kt
index 82fdc27..adbf698 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/BitmapSubject.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/BitmapSubject.kt
@@ -62,4 +62,4 @@
             super.actualCustomStringRepresentation()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/Matchers.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/Matchers.kt
index 2802597..31b8d1c 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/Matchers.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/matchers/Matchers.kt
@@ -26,4 +26,4 @@
 
 internal fun IntegerSubject.isZero() {
     this.isEqualTo(0)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtilsKtTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtilsKtTest.kt
index 60c4132..6d8eba5 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtilsKtTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtilsKtTest.kt
@@ -89,4 +89,4 @@
         val subject = finalMaxLines(false, TextOverflow.Ellipsis, 4)
         assertThat(subject).isEqualTo(1)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/NodeInvalidationTestParent.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/NodeInvalidationTestParent.kt
index 9c8dd339..8ec5fc4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/NodeInvalidationTestParent.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/NodeInvalidationTestParent.kt
@@ -182,4 +182,4 @@
         val brush: Brush? = null,
         val alpha: Float = Float.NaN
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/SelectionControllerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/SelectionControllerTest.kt
index 8bfcfdb..8acdfa3 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/SelectionControllerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/SelectionControllerTest.kt
@@ -271,4 +271,4 @@
 }
 
 private fun FAKE(reason: String = "Unsupported fake method on fake"): Nothing =
-    throw NotImplementedError("No support in fake: $reason")
\ No newline at end of file
+    throw NotImplementedError("No support in fake: $reason")
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNodeInvalidationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNodeInvalidationTest.kt
index f006017c..b425ef3 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNodeInvalidationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNodeInvalidationTest.kt
@@ -73,4 +73,4 @@
             overrideColor = drawParams.color
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeInvalidationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeInvalidationTest.kt
index 2ab25f2..868b399 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeInvalidationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeInvalidationTest.kt
@@ -63,4 +63,4 @@
             drawParams.color
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeTest.kt
index 2bf38c31..ce7687f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeTest.kt
@@ -129,4 +129,4 @@
                 get() = FontStyle.Normal
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/AbstractSelectionMagnifierTests.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/AbstractSelectionMagnifierTests.kt
index e97716b..3160b86 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/AbstractSelectionMagnifierTests.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/AbstractSelectionMagnifierTests.kt
@@ -612,4 +612,4 @@
             .map { it.config[MagnifierPositionInRoot].invoke() }
         assertThat(magnifierNodes.all { it.isUnspecified }).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MotionEventTestUtils.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MotionEventTestUtils.kt
index dbec3ec5..a262ae0 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MotionEventTestUtils.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MotionEventTestUtils.kt
@@ -51,4 +51,4 @@
     MotionEvent.PointerCoords().apply {
         this.x = x
         this.y = y
-    }
\ No newline at end of file
+    }
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 ae4ae34..10f9af8 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
@@ -3430,4 +3430,4 @@
             softWrap = softWrap
         ).layout(constraints, LayoutDirection.Ltr)
     }
-}
\ No newline at end of file
+}
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 540a13b7..734a6e6 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
@@ -300,4 +300,4 @@
         override val status: TextToolbarStatus
             get() = _status
     }
-}
\ No newline at end of file
+}
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 55b4d0e..f4f7884 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
@@ -318,4 +318,4 @@
         }
         return matches
     }
-}
\ No newline at end of file
+}
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 8e8cdac..80354e6 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
@@ -298,4 +298,4 @@
     assertTrue("Pixel copy latch timed out", latch.await(1, TimeUnit.SECONDS))
     assertEquals(PixelCopy.SUCCESS, copyResult)
     return dest
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextSelectionGesturesTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextSelectionGesturesTest.kt
index cc82ae2..28bd729 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextSelectionGesturesTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextSelectionGesturesTest.kt
@@ -133,4 +133,4 @@
 
         asserter.assert()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextWithSpaceSelectionGesturesRegressionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextWithSpaceSelectionGesturesRegressionTest.kt
index fcb3e2b..b06598b2 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextWithSpaceSelectionGesturesRegressionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/MultiTextWithSpaceSelectionGesturesRegressionTest.kt
@@ -149,4 +149,4 @@
 
         asserter.assert()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/SingleTextSelectionGesturesTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/SingleTextSelectionGesturesTest.kt
index fc5ea72..af1d9f2 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/SingleTextSelectionGesturesTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/gestures/SingleTextSelectionGesturesTest.kt
@@ -109,4 +109,4 @@
             textToolbarShown = true
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicSecureTextFieldTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicSecureTextFieldTest.kt
index fb6a224..1ea8cac 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicSecureTextFieldTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicSecureTextFieldTest.kt
@@ -269,4 +269,4 @@
                 .isEqualTo("\u2022\u2022\u2022")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/ComposeInputMethodManagerTestRule.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/ComposeInputMethodManagerTestRule.kt
index 537aabd..7e829b3 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/ComposeInputMethodManagerTestRule.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/ComposeInputMethodManagerTestRule.kt
@@ -49,4 +49,4 @@
                 }
             }
         }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/DecorationBoxTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/DecorationBoxTest.kt
index f66ec98..0cd0f40 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/DecorationBoxTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/DecorationBoxTest.kt
@@ -278,4 +278,4 @@
             assertThat(state.text.selectionInChars).isEqualTo(TextRange(0, 5))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/HeightInLinesModifierTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/HeightInLinesModifierTest.kt
index 4f255d7a..4676b33 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/HeightInLinesModifierTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/HeightInLinesModifierTest.kt
@@ -353,4 +353,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCodepointTransformationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCodepointTransformationTest.kt
index 45f4155..c3aa823 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCodepointTransformationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCodepointTransformationTest.kt
@@ -215,4 +215,4 @@
         assertThat(rule.onNodeWithTag(Tag).fetchTextLayoutResult().layoutInput.text.text)
             .isEqualTo(text)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCursorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCursorTest.kt
index 0650e63..d668835 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCursorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCursorTest.kt
@@ -731,4 +731,4 @@
         rule.onNode(hasSetTextAction()).assertTextEquals("")
         // this test just needs to finish without crashing. There is no other assertion
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyEventTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyEventTest.kt
index c313f67..a3379dd 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyEventTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyEventTest.kt
@@ -675,4 +675,4 @@
             sequence(SequenceScope(state, this@performKeyInput))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyboardActionsTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyboardActionsTest.kt
index 90840d7..424e455 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyboardActionsTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyboardActionsTest.kt
@@ -427,4 +427,4 @@
     onPrevious = { onAny(ImeAction.Previous) },
     onSearch = { onAny(ImeAction.Search) },
     onSend = { onAny(ImeAction.Send) }
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldScrollTest.kt
index 1d73606..0e906f5 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldScrollTest.kt
@@ -607,4 +607,4 @@
             job.join()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldStateRestorationTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldStateRestorationTest.kt
index cae64e7..8e49735 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldStateRestorationTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldStateRestorationTest.kt
@@ -68,4 +68,4 @@
             assertThat(restoredState.text.selectionInChars).isEqualTo(TextRange(0, 12))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSessionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSessionTest.kt
index a6d2465..87ed2b4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSessionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSessionTest.kt
@@ -240,4 +240,4 @@
             textInputNode = this
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/BackspaceCommandTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/BackspaceCommandTest.kt
index d20e643..81b5ee0 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/BackspaceCommandTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/BackspaceCommandTest.kt
@@ -130,4 +130,4 @@
         assertThat(eb.cursor).isEqualTo(0)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/ComposeInputMethodManagerTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/ComposeInputMethodManagerTest.kt
index 1f86e04..ea9d115 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/ComposeInputMethodManagerTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/ComposeInputMethodManagerTest.kt
@@ -119,4 +119,4 @@
     override fun isInEditMode(): Boolean {
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/EditorInfoTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/EditorInfoTest.kt
index dc4fe4c..15ef710 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/EditorInfoTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/EditorInfoTest.kt
@@ -541,4 +541,4 @@
     private fun EditorInfo.update(imeOptions: ImeOptions) {
         this.update(TextFieldCharSequence(), imeOptions)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/MoveCursorCommandTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/MoveCursorCommandTest.kt
index 79f0a81..e851ac0 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/MoveCursorCommandTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/MoveCursorCommandTest.kt
@@ -169,4 +169,4 @@
         assertThat(eb.cursor).isEqualTo(2 * FAMILY.length)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnectionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnectionTest.kt
index 3c0afac..c8a8fc4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnectionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnectionTest.kt
@@ -587,4 +587,4 @@
                 "been there. Just remember to turn it off before you deploy your code."
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldClickToMoveCursorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldClickToMoveCursorTest.kt
index 7335196..f7d0215 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldClickToMoveCursorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldClickToMoveCursorTest.kt
@@ -247,4 +247,4 @@
         assertThat(state.text.selectionInChars).isEqualTo(TextRange(5))
         assertThat(scrollState.value).isGreaterThan(0)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldCursorHandleTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldCursorHandleTest.kt
index 05c027e..006ea1d 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldCursorHandleTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldCursorHandleTest.kt
@@ -829,4 +829,4 @@
         }
         runBlocking { job.join() }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionHandlesTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionHandlesTest.kt
index 35850a5..3a904b7 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionHandlesTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionHandlesTest.kt
@@ -384,4 +384,4 @@
             rule.onNode(isSelectionHandle(Handle.SelectionEnd)).assertDoesNotExist()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldTextToolbarTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldTextToolbarTest.kt
index 3ba9950..3c1d00f 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldTextToolbarTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/selection/TextFieldTextToolbarTest.kt
@@ -545,4 +545,4 @@
     override fun getText(): AnnotatedString? {
         return currentText
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HardwareKeyboardTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HardwareKeyboardTest.kt
index 688c2e8..fe681a0 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HardwareKeyboardTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HardwareKeyboardTest.kt
@@ -617,4 +617,4 @@
     return androidx.compose.ui.input.key.KeyEvent(
         KeyEvent(0L, 0L, KeyEvent.ACTION_UP, key.nativeKeyCode, 0, metaState)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HeightInLinesModifierTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HeightInLinesModifierTest.kt
index 93098e5..1c3deea 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HeightInLinesModifierTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/HeightInLinesModifierTest.kt
@@ -371,4 +371,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldCursorTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldCursorTest.kt
index 3ed0be0..decd8ab 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldCursorTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldCursorTest.kt
@@ -475,4 +475,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
index 2db9120..46050aa 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
@@ -716,4 +716,4 @@
                 )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldSelectionTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldSelectionTest.kt
index cdc626d..7d1a70d 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldSelectionTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldSelectionTest.kt
@@ -387,4 +387,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 032d301..9d70fe6 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
@@ -1473,4 +1473,4 @@
             pixel.assertPixelColor(leftPixel, width - 1 - x, y)
         }
     }
-}
\ No newline at end of file
+}
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 4d82c56..a802294 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
@@ -110,4 +110,4 @@
     return androidx.compose.ui.input.key.KeyEvent(
         KeyEvent(0L, 0L, KeyEvent.ACTION_DOWN, key.nativeKeyCode, 0, metaState)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldVisualTransformationSelectionBoundsTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldVisualTransformationSelectionBoundsTest.kt
index 2d28354..6ef4e2d 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldVisualTransformationSelectionBoundsTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldVisualTransformationSelectionBoundsTest.kt
@@ -305,4 +305,4 @@
                 "\\[0, ${text.length}]"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/Clickable.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/Clickable.android.kt
index 2e7cb00..0d57e2b 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/Clickable.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/Clickable.android.kt
@@ -68,4 +68,4 @@
     get() = when (key.nativeKeyCode) {
         KEYCODE_DPAD_CENTER, KEYCODE_ENTER, KEYCODE_NUMPAD_ENTER -> true
         else -> false
-    }
\ No newline at end of file
+    }
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/EdgeEffectCompat.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/EdgeEffectCompat.kt
index 6f18370..e8946fd 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/EdgeEffectCompat.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/EdgeEffectCompat.kt
@@ -153,4 +153,4 @@
             0f // Old preview release
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/OverscrollConfiguration.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/OverscrollConfiguration.kt
index 4df2b9f..56ee290 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/OverscrollConfiguration.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/OverscrollConfiguration.kt
@@ -67,4 +67,4 @@
 @get:ExperimentalFoundationApi
 val LocalOverscrollConfiguration = compositionLocalOf<OverscrollConfiguration?> {
     OverscrollConfiguration()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.android.kt
index 3c4a1c1..c047b0d 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/gestures/AndroidScrollable.android.kt
@@ -32,4 +32,4 @@
         // 64 dp value is taken from ViewConfiguration.java, replace with better solution
         return event.changes.fastFold(Offset.Zero) { acc, c -> acc + c.scrollDelta } * -64.dp.toPx()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.android.kt
index 4da7839..aa155b3 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.android.kt
@@ -34,4 +34,4 @@
         }
     }
 
-private fun Rect.toRect() = AndroidRect(left.toInt(), top.toInt(), right.toInt(), bottom.toInt())
\ No newline at end of file
+private fun Rect.toRect() = AndroidRect(left.toInt(), top.toInt(), right.toInt(), bottom.toInt())
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/AndroidCursorHandle.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/AndroidCursorHandle.android.kt
index 9cd3f60..c5dacb6 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/AndroidCursorHandle.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/AndroidCursorHandle.android.kt
@@ -78,4 +78,4 @@
             }
         }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/BasicText.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/BasicText.android.kt
index 1a5f134..642972e 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/BasicText.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/BasicText.android.kt
@@ -22,4 +22,4 @@
 
 internal actual fun Modifier.textPointerHoverIcon(
     selectionRegistrar: SelectionRegistrar?
-): Modifier = if (selectionRegistrar == null) this else pointerHoverIcon(textPointerIcon)
\ No newline at end of file
+): Modifier = if (selectionRegistrar == null) this else pointerHoverIcon(textPointerIcon)
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/ContextMenu.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/ContextMenu.android.kt
index 077a75f..7c03389 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/ContextMenu.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/ContextMenu.android.kt
@@ -36,4 +36,4 @@
     content: @Composable () -> Unit
 ) {
     content()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.android.kt
index 29d09f6..a6b4e5d 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.android.kt
@@ -26,4 +26,4 @@
 }
 
 // It's platform-specific behavior, Android doesn't have such a concept
-internal actual fun showCharacterPalette() { }
\ No newline at end of file
+internal actual fun showCharacterPalette() { }
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/StringHelpers.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/StringHelpers.android.kt
index 540ed55..d13a05b 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/StringHelpers.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/StringHelpers.android.kt
@@ -41,4 +41,4 @@
 private fun getEmojiCompatIfLoaded(): EmojiCompat? =
     if (EmojiCompat.isConfigured())
         EmojiCompat.get().takeIf { it.loadState == EmojiCompat.LOAD_STATE_SUCCEEDED }
-    else null
\ No newline at end of file
+    else null
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.android.kt
index d18270c..5562e60 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.android.kt
@@ -77,4 +77,4 @@
 }
 
 private fun KeyEvent.isKeyCode(keyCode: Int): Boolean =
-    this.key.nativeKeyCode == keyCode
\ No newline at end of file
+    this.key.nativeKeyCode == keyCode
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.android.kt
index 2227609..cfac198 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text/selection/SelectionManager.android.kt
@@ -64,4 +64,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnection.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnection.android.kt
index 0bdecc2..ead875a 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnection.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/StatelessInputConnection.android.kt
@@ -371,4 +371,4 @@
     res.selectionEnd = selectionInChars.max
     res.flags = if ('\n' in this) 0 else ExtractedText.FLAG_SINGLE_LINE
     return res
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.android.kt
index 72c74f8..fec2aee 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.android.kt
@@ -33,4 +33,4 @@
     } else {
         TextUtils.getChars(this, startIndex, endIndex, destination, destinationOffset)
     }
-}
\ No newline at end of file
+}
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 83ed93c..fd8caf9 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
@@ -174,4 +174,4 @@
         lastLayoutDirection = layoutDirection
         lastShape = shape
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BasicMarquee.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BasicMarquee.kt
index c96bdb3..4a66847 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BasicMarquee.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BasicMarquee.kt
@@ -494,4 +494,4 @@
 private object FixedMotionDurationScale : MotionDurationScale {
     override val scaleFactor: Float
         get() = 1f
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BorderStroke.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BorderStroke.kt
index eb37ed4..9324f18 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BorderStroke.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/BorderStroke.kt
@@ -69,4 +69,4 @@
  * @param color color to paint the border with
  */
 @Stable
-fun BorderStroke(width: Dp, color: Color) = BorderStroke(width, SolidColor(color))
\ No newline at end of file
+fun BorderStroke(width: Dp, color: Color) = BorderStroke(width, SolidColor(color))
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Canvas.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Canvas.kt
index c757c15..4c57fef 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Canvas.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Canvas.kt
@@ -62,4 +62,4 @@
 @ExperimentalFoundationApi
 @Composable
 fun Canvas(modifier: Modifier, contentDescription: String, onDraw: DrawScope.() -> Unit) =
-    Spacer(modifier.drawBehind(onDraw).semantics { this.contentDescription = contentDescription })
\ No newline at end of file
+    Spacer(modifier.drawBehind(onDraw).semantics { this.contentDescription = contentDescription })
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ClipScrollableContainer.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ClipScrollableContainer.kt
index b779125..d817e37 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ClipScrollableContainer.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ClipScrollableContainer.kt
@@ -94,4 +94,4 @@
             )
         )
     }
-})
\ No newline at end of file
+})
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Expect.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Expect.kt
index ad0c1e9..532d1f2 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Expect.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Expect.kt
@@ -29,4 +29,4 @@
     fun get(): Long
     fun set(value: Long)
     fun getAndIncrement(): Long
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ExperimentalFoundationApi.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ExperimentalFoundationApi.kt
index 193eaab..72bc6b1 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ExperimentalFoundationApi.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ExperimentalFoundationApi.kt
@@ -21,4 +21,4 @@
         "future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalFoundationApi
\ No newline at end of file
+annotation class ExperimentalFoundationApi
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt
index de22bba..4b2e41d 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt
@@ -369,4 +369,4 @@
             this@FocusableSemanticsNode.requestFocus()
         }
     }
-}
\ No newline at end of file
+}
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 d0ab687..de6e3e6 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
@@ -183,4 +183,4 @@
             drawIndication()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ProgressSemantics.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ProgressSemantics.kt
index b38bba1..2c5e67d 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ProgressSemantics.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/ProgressSemantics.kt
@@ -71,4 +71,4 @@
     return semantics(mergeDescendants = true) {
         progressBarRangeInfo = ProgressBarRangeInfo.Indeterminate
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
index f54c401..2426948 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
@@ -761,4 +761,4 @@
     override fun hashCode() = 31 * anchors.hashCode()
 
     override fun toString() = "MapDraggableAnchors($anchors)"
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueue.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueue.kt
index 6f023af..10e700c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueue.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueue.kt
@@ -134,4 +134,4 @@
         }
         check(requests.isEmpty()) { "uncancelled requests present" }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ContentInViewNode.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ContentInViewNode.kt
index d564e17..441dd46 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ContentInViewNode.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ContentInViewNode.kt
@@ -423,4 +423,4 @@
                 "continuation=$continuation)"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/DragGestureDetector.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/DragGestureDetector.kt
index 5826647..3e8c4f5 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/DragGestureDetector.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/DragGestureDetector.kt
@@ -870,4 +870,4 @@
         PointerType.Mouse -> touchSlop * mouseToTouchSlopRatio
         else -> touchSlop
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/FlingBehavior.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/FlingBehavior.kt
index 733b4f4..46bedcc 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/FlingBehavior.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/FlingBehavior.kt
@@ -42,4 +42,4 @@
      * @return remaining velocity after fling operation has ended
      */
     suspend fun ScrollScope.performFling(initialVelocity: Float): Float
-}
\ No newline at end of file
+}
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 fde5758..8929d7a 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
@@ -118,4 +118,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Orientation.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Orientation.kt
index e9520b9..7940a0f 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Orientation.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Orientation.kt
@@ -34,4 +34,4 @@
      * [draggable].
      */
     Horizontal
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollExtensions.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollExtensions.kt
index af7f47b..9521a45 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollExtensions.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/ScrollExtensions.kt
@@ -74,4 +74,4 @@
     scroll(scrollPriority) {
         // do nothing, just lock the mutex so other scroll actors are cancelled
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
index 2de11bc..2c639ab 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
@@ -947,4 +947,4 @@
         get() = 1f
     override val fontScale: Float
         get() = 1f
-}
\ No newline at end of file
+}
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 39b957b..93b1cec 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
@@ -258,4 +258,4 @@
 
     override val isTransformInProgress: Boolean
         get() = isTransformingState.value
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationState.kt
index e35bf2d..d6a703e 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationState.kt
@@ -166,4 +166,4 @@
 
         fun Float.isZeroish() = absoluteValue < VisibilityThreshold
     }
-}
\ No newline at end of file
+}
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 251cd9b..995e2b7 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
@@ -143,4 +143,4 @@
     } else {
         offset.x
     }
-}
\ No newline at end of file
+}
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 5df071b..20ad4cf 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
@@ -118,4 +118,4 @@
 }
 
 internal val LazyListLayoutInfo.singleAxisViewportSize: Int
-    get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
\ No newline at end of file
+    get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapFlingBehavior.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapFlingBehavior.kt
index a9a6dc3..76e4f37 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapFlingBehavior.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapFlingBehavior.kt
@@ -528,4 +528,4 @@
     if (DEBUG) {
         println("SnapFlingBehavior: ${generateMsg()}")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapLayoutInfoProvider.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapLayoutInfoProvider.kt
index 83650ba..5f05d42 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapLayoutInfoProvider.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/snapping/SnapLayoutInfoProvider.kt
@@ -51,4 +51,4 @@
      * fling animation.
      */
     fun Density.calculateSnappingOffset(currentVelocity: Float): Float
-}
\ 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 6a16ff9..f881aba 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
@@ -58,4 +58,4 @@
     }.toFloat()
 
     return itemOffset - desiredDistance
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.kt
index ea4f31a8..e34bab9 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.foundation.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListAnimateScrollScope.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListAnimateScrollScope.kt
index 24e8bd2..ffb2e95 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListAnimateScrollScope.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListAnimateScrollScope.kt
@@ -64,4 +64,4 @@
     override suspend fun scroll(block: suspend ScrollScope.() -> Unit) {
         state.scroll(block = block)
     }
-}
\ No newline at end of file
+}
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 5ef94fe..68f1b0d 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
@@ -78,4 +78,4 @@
             itemCount - 1,
             state.layoutInfo.visibleItemsInfo.last().index + beyondBoundsItemCount
         )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListMeasuredItem.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListMeasuredItem.kt
index 70f38cc..f13fa49 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListMeasuredItem.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListMeasuredItem.kt
@@ -186,4 +186,4 @@
         IntOffset(if (isVertical) x else mainAxisMap(x), if (isVertical) mainAxisMap(y) else y)
 }
 
-private const val Unset = Int.MIN_VALUE
\ No newline at end of file
+private const val Unset = Int.MIN_VALUE
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListSemantics.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListSemantics.kt
index 5864b07..d3a27e3 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListSemantics.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListSemantics.kt
@@ -28,4 +28,4 @@
     return remember(state, isVertical) {
         LazyLayoutSemanticState(state = state, isVertical = isVertical)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
index fb2fe0a..7a613c9 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
@@ -505,4 +505,4 @@
     override val beforeContentPadding = 0
     override val afterContentPadding = 0
     override val mainAxisItemSpacing = 0
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateScrollScope.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateScrollScope.kt
index b29a04f..5110784 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateScrollScope.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateScrollScope.kt
@@ -119,4 +119,4 @@
     override suspend fun scroll(block: suspend ScrollScope.() -> Unit) {
         state.scroll(block = block)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridBeyondBoundsModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridBeyondBoundsModifier.kt
index 816d08d..d48a4f0 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridBeyondBoundsModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridBeyondBoundsModifier.kt
@@ -72,4 +72,4 @@
         get() = state.firstVisibleItemIndex
     override val lastPlacedIndex: Int
         get() = state.layoutInfo.visibleItemsInfo.last().index
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridItemScope.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridItemScope.kt
index 208ee3f..236845a 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridItemScope.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridItemScope.kt
@@ -47,4 +47,4 @@
             visibilityThreshold = IntOffset.VisibilityThreshold
         )
     ): Modifier
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridMeasuredItem.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridMeasuredItem.kt
index ecf9ff7..9798f78 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridMeasuredItem.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridMeasuredItem.kt
@@ -164,4 +164,4 @@
         IntOffset(if (isVertical) x else mainAxisMap(x), if (isVertical) mainAxisMap(y) else y)
 }
 
-private const val Unset = Int.MIN_VALUE
\ No newline at end of file
+private const val Unset = Int.MIN_VALUE
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt
index d72d099..382a40e 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt
@@ -242,4 +242,4 @@
         override var maxCurrentLineSpan = 0
         override var maxLineSpan = 0
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyAnimateScroll.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyAnimateScroll.kt
index bb283a0..0a344254 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyAnimateScroll.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyAnimateScroll.kt
@@ -265,4 +265,4 @@
             snapToItem(index = index, scrollOffset = scrollOffset)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutBeyondBoundsModifierLocal.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutBeyondBoundsModifierLocal.kt
index 854dee2..982d7c5 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutBeyondBoundsModifierLocal.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutBeyondBoundsModifierLocal.kt
@@ -139,4 +139,4 @@
 
 private fun unsupportedDirection(): Nothing = error(
     "Lazy list does not support beyond bounds layout for the specified direction"
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutItemProvider.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutItemProvider.kt
index e9f2858..dbfa4e9 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutItemProvider.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutItemProvider.kt
@@ -96,4 +96,4 @@
  */
 @ExperimentalFoundationApi
 @Suppress("MissingNullability")
-expect fun getDefaultLazyLayoutKey(index: Int): Any
\ No newline at end of file
+expect fun getDefaultLazyLayoutKey(index: Int): Any
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt
index b7e1ca9..3861647 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt
@@ -153,4 +153,4 @@
     fun collectionInfo(): CollectionInfo
     suspend fun animateScrollBy(delta: Float)
     suspend fun scrollToItem(index: Int)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGrid.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGrid.kt
index 2955238..8eb1453 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGrid.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGrid.kt
@@ -132,4 +132,4 @@
 internal class LazyStaggeredGridSlots(
     val positions: IntArray,
     val sizes: IntArray
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateScrollScope.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateScrollScope.kt
index eb7fc8c..3af0604 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateScrollScope.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridAnimateScrollScope.kt
@@ -70,4 +70,4 @@
     override suspend fun scroll(block: suspend ScrollScope.() -> Unit) {
         state.scroll(block = block)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridBeyondBoundsModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridBeyondBoundsModifier.kt
index 445098f..fbe9ca0 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridBeyondBoundsModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridBeyondBoundsModifier.kt
@@ -72,4 +72,4 @@
         get() = state.firstVisibleItemIndex
     override val lastPlacedIndex: Int
         get() = state.layoutInfo.visibleItemsInfo.last().index
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridCells.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridCells.kt
index d401085..0d3b886 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridCells.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridCells.kt
@@ -150,4 +150,4 @@
     return IntArray(slotCount) {
         slotSize + if (it < remainingPixels) 1 else 0
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridDsl.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridDsl.kt
index a06da0e..6b78f05 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridDsl.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridDsl.kt
@@ -453,4 +453,4 @@
         },
         itemContent = { index -> itemContent(index, items[index]) }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridIntervalContent.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridIntervalContent.kt
index dc7406d..0217bfc 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridIntervalContent.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridIntervalContent.kt
@@ -74,4 +74,4 @@
     override val type: ((index: Int) -> Any?),
     val span: ((index: Int) -> StaggeredGridItemSpan)?,
     val item: @Composable LazyStaggeredGridItemScope.(Int) -> Unit
-) : LazyLayoutIntervalContent.Interval
\ No newline at end of file
+) : LazyLayoutIntervalContent.Interval
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridItemProvider.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridItemProvider.kt
index c1569e3..7d1ab13 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridItemProvider.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridItemProvider.kt
@@ -96,4 +96,4 @@
     override fun hashCode(): Int {
         return intervalContent.hashCode()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfo.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfo.kt
index eee96e9..5f69d36 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfo.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridLaneInfo.kt
@@ -204,4 +204,4 @@
         internal const val Unset = -1
         internal const val FullSpan = -2
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasurePolicy.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasurePolicy.kt
index 2ef1a74..2ba719b93 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasurePolicy.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasurePolicy.kt
@@ -161,4 +161,4 @@
             } else {
                 calculateEndPadding(layoutDirection)
             }
-    }
\ No newline at end of file
+    }
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasureResult.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasureResult.kt
index 50121ed..ab0a9be 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasureResult.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridMeasureResult.kt
@@ -164,4 +164,4 @@
     override val afterContentPadding: Int = 0
     override val mainAxisItemSpacing: Int = 0
     override val orientation: Orientation = Orientation.Vertical
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSemantics.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSemantics.kt
index 459702f..ef6fcda 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSemantics.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSemantics.kt
@@ -47,4 +47,4 @@
             override fun collectionInfo(): CollectionInfo =
                 CollectionInfo(-1, -1)
         }
-    }
\ No newline at end of file
+    }
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSpan.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSpan.kt
index 11a754a..b3260e3 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSpan.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSpan.kt
@@ -55,4 +55,4 @@
             return span != null && span(localIndex) === FullLine
         }
     }
-}
\ No newline at end of file
+}
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 fb26323..754220e 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
@@ -501,4 +501,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutPager.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutPager.kt
index 908b855..c90d260 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutPager.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutPager.kt
@@ -321,4 +321,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutSemanticState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutSemanticState.kt
index ab6795b..6f98340 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutSemanticState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutSemanticState.kt
@@ -46,4 +46,4 @@
         } else {
             CollectionInfo(rowCount = 1, columnCount = -1)
         }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PageInfo.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PageInfo.kt
index e37fb46..a4fd6b3 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PageInfo.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PageInfo.kt
@@ -22,4 +22,4 @@
 internal interface PageInfo {
     val index: Int
     val offset: Int
-}
\ No newline at end of file
+}
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 d64b834..946e681 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
@@ -927,4 +927,4 @@
     upDownDifference.x
 } else {
     upDownDifference.y
-}
\ No newline at end of file
+}
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 84d4297..323ad15 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
@@ -75,4 +75,4 @@
             itemCount - 1,
             state.layoutInfo.visiblePagesInfo.last().index + beyondBoundsPageCount
         )
-}
\ No newline at end of file
+}
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 27009c4..f3e2dbd 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
@@ -38,4 +38,4 @@
 
 @ExperimentalFoundationApi
 internal val PagerLayoutInfo.mainAxisViewportSize: Int
-    get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
\ No newline at end of file
+    get() = if (orientation == Orientation.Vertical) viewportSize.height else viewportSize.width
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 264680a..9142421 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
@@ -584,4 +584,4 @@
     if (DEBUG) {
         println("PagerMeasure: ${generateMsg()}")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasurePolicy.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasurePolicy.kt
index d803fb0b..b8e31dc 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasurePolicy.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasurePolicy.kt
@@ -187,4 +187,4 @@
             state.applyMeasureResult(it)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasureResult.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasureResult.kt
index 3a2d241..ac69349 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasureResult.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerMeasureResult.kt
@@ -42,4 +42,4 @@
     override val viewportSize: IntSize
         get() = IntSize(width, height)
     override val beforeContentPadding: Int get() = -viewportStartOffset
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerScope.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerScope.kt
index 7eeae76..9790ff5 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerScope.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerScope.kt
@@ -25,4 +25,4 @@
 sealed interface PagerScope
 
 @OptIn(ExperimentalFoundationApi::class)
-internal object PagerScopeImpl : PagerScope
\ No newline at end of file
+internal object PagerScopeImpl : PagerScope
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerSemantics.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerSemantics.kt
index ed274f6..4647096 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerSemantics.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/PagerSemantics.kt
@@ -31,4 +31,4 @@
     return remember(state, reverseScrolling, isVertical) {
         LazyLayoutSemanticState(state, isVertical)
     }
-}
\ No newline at end of file
+}
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 4aaaf4a..d7d2187 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
@@ -684,4 +684,4 @@
     if (DEBUG) {
         println("PagerState: ${generateMsg()}")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt
index ca27e6f..90894eb 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt
@@ -85,4 +85,4 @@
     override fun onPlaced(coordinates: LayoutCoordinates) {
         layoutCoordinates = coordinates
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt
index 2288769..8041415 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt
@@ -184,4 +184,4 @@
             rect ?: layoutCoordinates?.size?.toSize()?.toRect()
         }
     }
-}
\ No newline at end of file
+}
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 fcdba64..38b769f 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
@@ -131,4 +131,4 @@
             this.selected = selected
         }
     }
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/SelectableGroup.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/SelectableGroup.kt
index 1ff8402..913d91f 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/SelectableGroup.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/selection/SelectableGroup.kt
@@ -28,4 +28,4 @@
  */
 fun Modifier.selectableGroup() = this.semantics {
     selectableGroup()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/BasicTextField.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/BasicTextField.kt
index e68d5b4..e0bd515 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/BasicTextField.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/BasicTextField.kt
@@ -387,4 +387,4 @@
         cursorBrush = cursorBrush,
         decorationBox = decorationBox
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ClickableText.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ClickableText.kt
index 05b8dad..6508a37 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ClickableText.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ClickableText.kt
@@ -189,4 +189,4 @@
 }
 
 private fun MultiParagraph.containsWithinBounds(positionOffset: Offset): Boolean =
-    positionOffset.let { (x, y) -> x > 0 && y >= 0 && x <= width && y <= height }
\ No newline at end of file
+    positionOffset.let { (x, y) -> x > 0 && y >= 0 && x <= width && y <= height }
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ContextMenu.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ContextMenu.kt
index 2464b86..f543e8b 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ContextMenu.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ContextMenu.kt
@@ -30,4 +30,4 @@
 internal expect fun ContextMenuArea(
     manager: SelectionManager,
     content: @Composable () -> Unit
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
index 02a4fdb..154e98e 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
@@ -1145,4 +1145,4 @@
             offsetMapping
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/HeightInLinesModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/HeightInLinesModifier.kt
index 16e2018..0b8834474 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/HeightInLinesModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/HeightInLinesModifier.kt
@@ -131,4 +131,4 @@
     require(minLines <= maxLines) {
         "minLines $minLines must be less than or equal to maxLines $maxLines"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt
index 728b5ca..52c7a56 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt
@@ -83,4 +83,4 @@
      * The string parameter passed to it will the alternateText given to [appendInlineContent].
      */
     val children: @Composable (String) -> Unit
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyCommand.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyCommand.kt
index 4d3f9bc..a146a6a 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyCommand.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyCommand.kt
@@ -89,4 +89,4 @@
     UNDO(true),
     REDO(true),
     CHARACTER_PALETTE(true)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.kt
index 9aebb2c..e58dfff 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.kt
@@ -34,4 +34,4 @@
  * macOS has a character/emoji palette, which has to be ordered by application. This
  * platform-specific helper implements this action on MacOS and noop on other platforms.
  */
-internal expect fun showCharacterPalette()
\ No newline at end of file
+internal expect fun showCharacterPalette()
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyMapping.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyMapping.kt
index 43df93c..c1f4bda 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyMapping.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyMapping.kt
@@ -163,4 +163,4 @@
                 } ?: common.map(event)
             }
         }
-    }
\ No newline at end of file
+    }
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardOptions.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardOptions.kt
index 58e40cf..ec5478c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardOptions.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/KeyboardOptions.kt
@@ -110,4 +110,4 @@
         return "KeyboardOptions(capitalization=$capitalization, autoCorrect=$autoCorrect, " +
             "keyboardType=$keyboardType, imeAction=$imeAction)"
     }
-}
\ No newline at end of file
+}
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 fa1811f..142a3fce 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
@@ -122,4 +122,4 @@
         },
         onDragCancel = { observer.onCancel() }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/StringHelpers.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/StringHelpers.kt
index 0cf888e..9cb7a5a 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/StringHelpers.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/StringHelpers.kt
@@ -57,4 +57,4 @@
  */
 internal fun CharSequence.getParagraphBoundary(index: Int): TextRange {
     return TextRange(findParagraphStart(index), findParagraphEnd(index))
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextDelegate.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextDelegate.kt
index 837b118..41027f0 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextDelegate.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextDelegate.kt
@@ -344,4 +344,4 @@
     } else {
         current
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldCursor.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldCursor.kt
index 703aa24..4eb829c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldCursor.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldCursor.kt
@@ -96,4 +96,4 @@
 private object FixedMotionDurationScale : MotionDurationScale {
     override val scaleFactor: Float
         get() = 1f
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.kt
index c5d8e67..ceb68a2 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.kt
@@ -28,4 +28,4 @@
 internal expect fun Modifier.interceptDPadAndMoveFocus(
     state: TextFieldState,
     focusManager: FocusManager
-): Modifier
\ No newline at end of file
+): Modifier
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldScroll.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldScroll.kt
index e238c52..20c8055 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldScroll.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldScroll.kt
@@ -367,4 +367,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldSize.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldSize.kt
index 124fdb7..e814a84 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldSize.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldSize.kt
@@ -112,4 +112,4 @@
             fontFamilyResolver = fontFamilyResolver
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextLayoutResultProxy.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextLayoutResultProxy.kt
index e17f108..2fd4bce 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextLayoutResultProxy.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextLayoutResultProxy.kt
@@ -122,4 +122,4 @@
         else -> y
     }
     return Offset(xOffset, yOffset)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.kt
index 7072692..3034f6b 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.kt
@@ -18,4 +18,4 @@
 
 import androidx.compose.ui.input.pointer.PointerIcon
 
-internal expect val textPointerIcon: PointerIcon
\ No newline at end of file
+internal expect val textPointerIcon: PointerIcon
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TouchMode.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TouchMode.kt
index 234b500..9840fec 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TouchMode.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TouchMode.kt
@@ -20,4 +20,4 @@
  * This is a temporary workaround and should be removed after proper mouse handling is settled
  * (b/171402426).
  */
-internal expect val isInTouchMode: Boolean
\ No newline at end of file
+internal expect val isInTouchMode: Boolean
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/UndoManager.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/UndoManager.kt
index d8f38fb..1c0e014 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/UndoManager.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/UndoManager.kt
@@ -126,4 +126,4 @@
             redoEntry.value
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ValidatingOffsetMapping.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ValidatingOffsetMapping.kt
index 59abd2e..ef591fe 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ValidatingOffsetMapping.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/ValidatingOffsetMapping.kt
@@ -73,4 +73,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtils.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtils.kt
index 2104a17..93823de 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtils.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/LayoutUtils.kt
@@ -85,4 +85,4 @@
     // maxLines 1 to implement the similar behavior.
     val overwriteMaxLines = !softWrap && overflow == TextOverflow.Ellipsis
     return if (overwriteMaxLines) 1 else maxLinesIn.coerceAtLeast(1)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ModifierUtils.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ModifierUtils.kt
index 050ff6d..f4a6cc0 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ModifierUtils.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ModifierUtils.kt
@@ -30,4 +30,4 @@
         Constraints.Infinity
     }
     return maxWidth
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/MultiParagraphLayoutCache.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/MultiParagraphLayoutCache.kt
index 27eeafe..d18c470 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/MultiParagraphLayoutCache.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/MultiParagraphLayoutCache.kt
@@ -346,4 +346,4 @@
     fun minIntrinsicWidth(layoutDirection: LayoutDirection): Int {
         return setLayoutDirection(layoutDirection).minIntrinsicWidth.ceilToIntPx()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ParagraphLayoutCache.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ParagraphLayoutCache.kt
index b0e8843..2c5d63d 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ParagraphLayoutCache.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/ParagraphLayoutCache.kt
@@ -382,4 +382,4 @@
     fun maxIntrinsicWidth(layoutDirection: LayoutDirection): Int {
         return setLayoutDirection(layoutDirection).maxIntrinsicWidth.ceilToIntPx()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringElement.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringElement.kt
index a7554de..fd739d6 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringElement.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringElement.kt
@@ -125,4 +125,4 @@
     override fun InspectorInfo.inspectableProperties() {
         // Show nothing in the inspector.
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringNode.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringNode.kt
index 3616033..e54ae82 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringNode.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/SelectableTextAnnotatedStringNode.kt
@@ -150,4 +150,4 @@
         // we always relayout when we're selectable
         invalidateMeasurement()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringElement.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringElement.kt
index 127e996..4530d5a 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringElement.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringElement.kt
@@ -131,4 +131,4 @@
     override fun InspectorInfo.inspectableProperties() {
         // Show nothing in the inspector.
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNode.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNode.kt
index 6a52754..67f75f7 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNode.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNode.kt
@@ -538,4 +538,4 @@
             drawContent()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleElement.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleElement.kt
index 85e3272..dd28248 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleElement.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleElement.kt
@@ -107,4 +107,4 @@
     override fun InspectorInfo.inspectableProperties() {
         // Show nothing in the inspector.
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustment.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustment.kt
index b108673..c35e650 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustment.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/SelectionAdjustment.kt
@@ -463,4 +463,4 @@
             TextRange(offset, text.findPrecedingBreak(offset))
         }
     }
-}
\ No newline at end of file
+}
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 5622db3..907c15f 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
@@ -211,4 +211,4 @@
     override fun notifySelectableChange(selectableId: Long) {
         onSelectableChangeCallback?.invoke(selectableId)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
index ad143f2..6d55c9c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
@@ -1004,4 +1004,4 @@
     }
 
     return Offset(centerX, offsetCenter.y)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextPreparedSelection.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextPreparedSelection.kt
index 523054e..216af82 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextPreparedSelection.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextPreparedSelection.kt
@@ -433,4 +433,4 @@
             value.getOffsetForPosition(Offset(x, y))
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
index 2ea7e2c..1a8cc48 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
@@ -303,4 +303,4 @@
     onPrevious = { if (!onSubmit(ImeAction.Previous)) defaultKeyboardAction(ImeAction.Previous) },
     onSearch = { if (!onSubmit(ImeAction.Search)) defaultKeyboardAction(ImeAction.Search) },
     onSend = { if (!onSubmit(ImeAction.Send)) defaultKeyboardAction(ImeAction.Send) },
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
index d609cf2..59c7718 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
@@ -325,4 +325,4 @@
             content = null
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/AllCapsFilter.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/AllCapsFilter.kt
index c087028..bcc68a2 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/AllCapsFilter.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/AllCapsFilter.kt
@@ -55,4 +55,4 @@
     }
 
     override fun toString(): String = "TextEditFilter.allCaps(locale=$locale)"
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/CodepointTransformation.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/CodepointTransformation.kt
index df7909b..bac6a8a 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/CodepointTransformation.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/CodepointTransformation.kt
@@ -116,4 +116,4 @@
             appendCodePointX(codepoint)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/MaxLengthFilter.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/MaxLengthFilter.kt
index 56d5b9a..fe2011e 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/MaxLengthFilter.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/MaxLengthFilter.kt
@@ -67,4 +67,4 @@
         val name = if (inCodepoints) "maxLengthInCodepoints" else "maxLengthInChars"
         return "TextEditFilter.$name(maxLength=$maxLength)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
index 79a4ebd..eb1532b 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
@@ -116,4 +116,4 @@
         result = 32 * result + keyboardOptions.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
index 299fba9..81e1aae 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
@@ -542,4 +542,4 @@
     override fun getOriginalRange(changeIndex: Int): TextRange {
         throw IndexOutOfBoundsException()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequence.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequence.kt
index 71de42f..4a4f8c0 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequence.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequence.kt
@@ -180,4 +180,4 @@
  */
 @OptIn(ExperimentalFoundationApi::class)
 internal fun TextFieldCharSequence.getSelectedText(): CharSequence =
-    subSequence(selectionInChars.min, selectionInChars.max)
\ No newline at end of file
+    subSequence(selectionInChars.min, selectionInChars.max)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
index e2e151f..fcb8edc 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
@@ -80,4 +80,4 @@
     companion object {
         val Default: TextFieldLineLimits = MultiLine()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextObfuscationMode.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextObfuscationMode.kt
index be6fe5a..89ed6bc 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextObfuscationMode.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/TextObfuscationMode.kt
@@ -55,4 +55,4 @@
          */
         val Hidden = TextObfuscationMode(2)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ApplyEditCommand.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ApplyEditCommand.kt
index 70479a9..4e3c363 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ApplyEditCommand.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ApplyEditCommand.kt
@@ -239,4 +239,4 @@
  * is a Unicode low-surrogate code unit.
  */
 private fun isSurrogatePair(high: Char, low: Char): Boolean =
-    high.isHighSurrogate() && low.isLowSurrogate()
\ No newline at end of file
+    high.isHighSurrogate() && low.isLowSurrogate()
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTracker.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTracker.kt
index 1649497..a3f31a5 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTracker.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTracker.kt
@@ -189,4 +189,4 @@
         var originalStart: Int,
         var originalEnd: Int
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditCommand.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditCommand.kt
index fae3413..6381663 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditCommand.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditCommand.kt
@@ -238,4 +238,4 @@
     override fun toString(): String {
         return "DeleteAllCommand()"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
index 32835db..2862d17 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
@@ -248,4 +248,4 @@
     is BackspaceCommand -> toString()
     is MoveCursorCommand -> toString()
     is DeleteAllCommand -> toString()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/MathUtils.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/MathUtils.kt
index 4a2851a..ba1dcff1 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/MathUtils.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/MathUtils.kt
@@ -33,4 +33,4 @@
     // HD 2-12 Overflow iff the arguments have different signs and
     // the sign of the result is different from the sign of x
     return if (this xor right and (this xor result) < 0) defaultValue() else result
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldCoreModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldCoreModifier.kt
index 0012385..56dd35f 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldCoreModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldCoreModifier.kt
@@ -512,4 +512,4 @@
     this.isNaN() || this.isInfinite() -> this
     this > 0 -> ceil(this)
     else -> floor(this)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
index c37aff2..164d2ec 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
@@ -473,4 +473,4 @@
             defaults.imeAction
         }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldTextLayoutModifier.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldTextLayoutModifier.kt
index e9b8972..5ad9d39 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldTextLayoutModifier.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldTextLayoutModifier.kt
@@ -162,4 +162,4 @@
             placeable.place(0, 0)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextLayoutState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextLayoutState.kt
index 3320388..7ce9571 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextLayoutState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextLayoutState.kt
@@ -185,4 +185,4 @@
         else -> y
     }
     return Offset(xOffset, yOffset)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextPreparedSelection.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextPreparedSelection.kt
index b2ed243..a590fd2 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextPreparedSelection.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/TextPreparedSelection.kt
@@ -428,4 +428,4 @@
          */
         const val NoCharacterFound = -1
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.kt
index ed73951..3b3f0b2 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.kt
@@ -41,4 +41,4 @@
     destinationOffset: Int,
     startIndex: Int,
     endIndex: Int
-)
\ No newline at end of file
+)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldHandleState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldHandleState.kt
index b643c0d..274fa5c 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldHandleState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldHandleState.kt
@@ -34,4 +34,4 @@
             direction = ResolvedTextDirection.Ltr
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionState.kt
index de3fc19..183434a 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text2/selection/TextFieldSelectionState.kt
@@ -564,4 +564,4 @@
             textToolbar?.hide()
         }
     }
-}
\ No newline at end of file
+}
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 7b68366..5b16fcc 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
@@ -141,4 +141,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/ContextMenuProvider.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/ContextMenuProvider.desktop.kt
index 2a7fa89..814e12e 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/ContextMenuProvider.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/ContextMenuProvider.desktop.kt
@@ -256,4 +256,4 @@
 val LocalContextMenuRepresentation:
     ProvidableCompositionLocal<ContextMenuRepresentation> = staticCompositionLocalOf {
     LightDefaultContextMenuRepresentation
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/DesktopPlatform.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/DesktopPlatform.desktop.kt
index 409dae1..98ad375 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/DesktopPlatform.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/DesktopPlatform.desktop.kt
@@ -36,4 +36,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 6e08d4e..ba28512 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
@@ -104,4 +104,4 @@
         (mouseEvent as? MouseWheelEvent)?.scrollType == MouseWheelEvent.WHEEL_BLOCK_SCROLL
 
 private val PointerEvent.totalScrollDelta
-    get() = this.changes.fastFold(Offset.Zero) { acc, c -> acc + c.scrollDelta }
\ No newline at end of file
+    get() = this.changes.fastFold(Offset.Zero) { acc, c -> acc + c.scrollDelta }
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.desktop.kt
index 736956c..7c4517f 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.desktop.kt
@@ -26,4 +26,4 @@
      BringIntoViewParent { _, _ ->
         // TODO(b/203204124): Implement this if desktop has a
         //  concept similar to Android's View.requestRectangleOnScreen.
-    }
\ No newline at end of file
+    }
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/BasicText.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/BasicText.desktop.kt
index d6639e8..447ee5e 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/BasicText.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/BasicText.desktop.kt
@@ -21,4 +21,4 @@
 
 internal actual fun Modifier.textPointerHoverIcon(
     selectionRegistrar: SelectionRegistrar?
-): Modifier = this
\ No newline at end of file
+): Modifier = this
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/ContextMenu.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/ContextMenu.desktop.kt
index ba6a368..f6429d4 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/ContextMenu.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/ContextMenu.desktop.kt
@@ -121,4 +121,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/DesktopCursorHandle.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/DesktopCursorHandle.desktop.kt
index cc0556f..e291749 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/DesktopCursorHandle.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/DesktopCursorHandle.desktop.kt
@@ -28,4 +28,4 @@
     content: @Composable (() -> Unit)?
 ) {
     /* Not implemented. */
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.desktop.kt
index 1461736..a0b53a0 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/KeyEventHelpers.desktop.kt
@@ -21,4 +21,4 @@
 
 internal actual fun KeyEvent.cancelsTextSelection(): Boolean = false
 
-internal actual fun showCharacterPalette() = orderEmojiAndSymbolsPopup()
\ No newline at end of file
+internal actual fun showCharacterPalette() = orderEmojiAndSymbolsPopup()
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/StringHelpers.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/StringHelpers.desktop.kt
index 025cbf2..43c84e4 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/StringHelpers.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/StringHelpers.desktop.kt
@@ -28,4 +28,4 @@
     val it = BreakIterator.makeCharacterInstance()
     it.setText(this)
     return it.following(index)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.desktop.kt
index b68c5b8..5fb4b7c 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldFocusModifier.desktop.kt
@@ -30,4 +30,4 @@
 internal actual fun Modifier.interceptDPadAndMoveFocus(
     state: TextFieldState,
     focusManager: FocusManager
-): Modifier = this
\ No newline at end of file
+): Modifier = this
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldKeyInput.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldKeyInput.desktop.kt
index 7e88a87..63cc81c 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldKeyInput.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextFieldKeyInput.desktop.kt
@@ -28,4 +28,4 @@
 
 actual val KeyEvent.isTypedEvent: Boolean
     get() = nativeKeyEvent.id == java.awt.event.KeyEvent.KEY_TYPED &&
-        nativeKeyEvent.keyChar.isPrintable()
\ No newline at end of file
+        nativeKeyEvent.keyChar.isPrintable()
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.desktop.kt
index 42fc945..07d44db 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/TextPointerIcon.desktop.kt
@@ -20,4 +20,4 @@
 import java.awt.Cursor
 
 internal actual val textPointerIcon: PointerIcon =
-    PointerIcon(Cursor(Cursor.TEXT_CURSOR))
\ No newline at end of file
+    PointerIcon(Cursor(Cursor.TEXT_CURSOR))
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelectionHandles.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelectionHandles.desktop.kt
index aa54121..31eacb6 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelectionHandles.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text/selection/DesktopSelectionHandles.desktop.kt
@@ -31,4 +31,4 @@
     content: (@Composable () -> Unit)?
 ) {
     // TODO
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/DesktopTextInputSession.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/DesktopTextInputSession.desktop.kt
index 8c3c0b7..d0a9509 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/DesktopTextInputSession.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/DesktopTextInputSession.desktop.kt
@@ -37,4 +37,4 @@
 ): Nothing {
     // TODO(b/267235947) Wire up desktop.
     awaitCancellation()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.desktop.kt b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.desktop.kt
index c5ed40a..2e2dd1c 100644
--- a/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.desktop.kt
+++ b/compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArray.desktop.kt
@@ -56,4 +56,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 7edf141..0d918c1 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
@@ -583,4 +583,4 @@
 
 @OptIn(ExperimentalComposeUiApi::class)
 private val PointerEvent.totalScrollDelta
-    get() = this.changes.fastFold(Offset.Zero) { acc, c -> acc + c.scrollDelta }
\ No newline at end of file
+    get() = this.changes.fastFold(Offset.Zero) { acc, c -> acc + c.scrollDelta }
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 b9b7073..deb940b 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
@@ -237,4 +237,4 @@
             return delta
         }
     }
-}
\ No newline at end of file
+}
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 72b92ca..4baada6 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
@@ -167,4 +167,4 @@
         verify(clipboardManager, times(1)).setText(AnnotatedString("Hello Wo"))
         assertThat(value.selection).isEqualTo(TextRange(0, 8))
     }
-}
\ No newline at end of file
+}
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 1de6bae..3f52c3b 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
@@ -38,4 +38,4 @@
         val result = complexString.findPrecedingBreak(7)
         assertThat(result).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/ActualJvm.kt b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/ActualJvm.kt
index ae5c0c1..151df35 100644
--- a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/ActualJvm.kt
+++ b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/ActualJvm.kt
@@ -20,4 +20,4 @@
 
 internal actual typealias AtomicReference<V> = java.util.concurrent.atomic.AtomicReference<V>
 
-internal actual typealias AtomicLong = java.util.concurrent.atomic.AtomicLong
\ No newline at end of file
+internal actual typealias AtomicLong = java.util.concurrent.atomic.AtomicLong
diff --git a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.jvm.kt
index 0f92532..e7f3200c 100644
--- a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.foundation.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/StringHelpers.jvm.kt b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/StringHelpers.jvm.kt
index 410519b..5d5b02d 100644
--- a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/StringHelpers.jvm.kt
+++ b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/StringHelpers.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.foundation.text
 
 internal actual fun StringBuilder.appendCodePointX(codePoint: Int): StringBuilder =
-    this.appendCodePoint(codePoint)
\ No newline at end of file
+    this.appendCodePoint(codePoint)
diff --git a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/UndoManager.jvm.kt b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/UndoManager.jvm.kt
index 973b6c9a..c68c0ec 100644
--- a/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/UndoManager.jvm.kt
+++ b/compose/foundation/foundation/src/jvmMain/kotlin/androidx/compose/foundation/text/UndoManager.jvm.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.foundation.text
 
-internal actual fun timeNowMillis(): Long = System.currentTimeMillis()
\ No newline at end of file
+internal actual fun timeNowMillis(): Long = System.currentTimeMillis()
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueueTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueueTest.kt
index 1839648..40b0f29 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueueTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/BringIntoViewRequestPriorityQueueTest.kt
@@ -286,4 +286,4 @@
             add(it)
         }
     }.asReversed()
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/DraggableAnchorsTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/DraggableAnchorsTest.kt
index cc2bba3..cef8f48 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/DraggableAnchorsTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/DraggableAnchorsTest.kt
@@ -98,4 +98,4 @@
     }
 }
 
-private enum class TestValue { A, B, C }
\ No newline at end of file
+private enum class TestValue { A, B, C }
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationStateTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationStateTest.kt
index 893b62c..7c21147 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationStateTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/gestures/UpdatableAnimationStateTest.kt
@@ -163,4 +163,4 @@
                 frame += 16_000_000L
             }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/BasicTextPaparazziTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/BasicTextPaparazziTest.kt
index 90c62ed..c65c711 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/BasicTextPaparazziTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/BasicTextPaparazziTest.kt
@@ -173,4 +173,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 e80c61f..7697ed4 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
@@ -270,4 +270,4 @@
 
         override fun get(alignmentLine: AlignmentLine): Int = 0
     }
-}
\ No newline at end of file
+}
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 f38fa30..e2096a6 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
@@ -268,4 +268,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 c8ab92b..d43d54d 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
@@ -42,4 +42,4 @@
         }
         Truth.assertThat(subject.layoutResult).isSameInstanceAs(null)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/UndoManagerTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/UndoManagerTest.kt
index d7d7963..55a7818 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/UndoManagerTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/UndoManagerTest.kt
@@ -101,4 +101,4 @@
             TextFieldValue("hello")
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/ValidatingOffsetMappingTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/ValidatingOffsetMappingTest.kt
index b0cad44..a08bed0 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/ValidatingOffsetMappingTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/ValidatingOffsetMappingTest.kt
@@ -131,4 +131,4 @@
                 "1 -> $invalidIndex is not in range of original text [0, ${text.length}]"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/InlineAnswer.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/InlineAnswer.kt
index a7a24f8..949e81e 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/InlineAnswer.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/InlineAnswer.kt
@@ -28,4 +28,4 @@
 
 infix fun <T> OngoingStubbing<T>.doAnswer(offset: Offset): OngoingStubbing<T> {
     return thenAnswer(LongAnswer(packFloats(offset.x, offset.y)))
-}
\ No newline at end of file
+}
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 ec961c2..027739d 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
@@ -77,4 +77,4 @@
     ): Rect = Rect.Zero
 
     override fun get(alignmentLine: AlignmentLine): Int = 0
-}
\ No newline at end of file
+}
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 52ffbd9..9c6649e 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
@@ -1510,4 +1510,4 @@
             size = IntSize.Zero
         )
     }
-}
\ No newline at end of file
+}
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 9bcffd9..d33f417 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
@@ -306,4 +306,4 @@
         textToReturn = null
         lastVisibleOffsetToReturn = 0
     }
-}
\ No newline at end of file
+}
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 80bc00d..7e6d97e 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
@@ -844,4 +844,4 @@
     return argThat { any: Any? ->
         any == null || any is Long || any is Offset
     } as Offset? ?: Offset.Zero
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt
index 333c95a..c17242c 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/selection/StringHelpersTest.kt
@@ -48,4 +48,4 @@
         assertThat(string.findParagraphEnd(string.indexOf("c"))).isEqualTo(string.length)
         assertThat(string.findParagraphEnd(string.indexOf("d"))).isEqualTo(string.length)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextEditFilterTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextEditFilterTest.kt
index b6fd7c1..d5c1c74 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextEditFilterTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextEditFilterTest.kt
@@ -84,4 +84,4 @@
 
         assertThat(chain1).isNotEqualTo(chain2)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferTest.kt
index 9f7dc54..8f49834 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferTest.kt
@@ -355,4 +355,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequenceTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequenceTest.kt
index aa490d8..ed73ebc 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequenceTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequenceTest.kt
@@ -118,4 +118,4 @@
 
     private fun TextEditState(text: String, composition: TextRange) =
         TextFieldCharSequence(text, selection = TextRange.Zero, composition = composition)
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateSaverTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateSaverTest.kt
index 4325a6a..308918e 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateSaverTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateSaverTest.kt
@@ -42,4 +42,4 @@
     private object TestSaverScope : SaverScope {
         override fun canBeSaved(value: Any): Boolean = true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
index 15de948..a2a789b 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
@@ -511,4 +511,4 @@
             globalWriteObserverHandle.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTrackerTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTrackerTest.kt
index b53c2b7..5c08053 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTrackerTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ChangeTrackerTest.kt
@@ -205,4 +205,4 @@
 
         override fun toString(): String = builder.toString()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/CommitTextCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/CommitTextCommandTest.kt
index 08dd724..543a242 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/CommitTextCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/CommitTextCommandTest.kt
@@ -182,4 +182,4 @@
         assertThat(eb.cursor).isEqualTo(6)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextCommandTest.kt
index 368b1d0..cb26cf1 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextCommandTest.kt
@@ -235,4 +235,4 @@
         }
         assertThat(error).hasMessageThat().contains("-42")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextInCodePointsCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextInCodePointsCommandTest.kt
index 14ee7f5..a8fbb15 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextInCodePointsCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/DeleteSurroundingTextInCodePointsCommandTest.kt
@@ -246,4 +246,4 @@
         }
         assertThat(error).hasMessageThat().contains("-42")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessorTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessorTest.kt
index cb1b9e8..a8d8db8 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessorTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessorTest.kt
@@ -495,4 +495,4 @@
     ) {
         update(editCommand.toList(), filter)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditingBufferTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditingBufferTest.kt
index 90d5cb5..905d35f3 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditingBufferTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/EditingBufferTest.kt
@@ -433,4 +433,4 @@
         assertThat(eb.cursor).isEqualTo(0)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/FinishComposingTextCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/FinishComposingTextCommandTest.kt
index fa67d4c..67f4bf3 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/FinishComposingTextCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/FinishComposingTextCommandTest.kt
@@ -49,4 +49,4 @@
         assertThat(eb.selectionEnd).isEqualTo(4)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/GapBufferTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/GapBufferTest.kt
index b54e5ad..1c858bd 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/GapBufferTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/GapBufferTest.kt
@@ -682,4 +682,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingRegionCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingRegionCommandTest.kt
index e78f64f..79eaca0 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingRegionCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingRegionCommandTest.kt
@@ -127,4 +127,4 @@
         assertThat(eb.compositionStart).isEqualTo(0)
         assertThat(eb.compositionEnd).isEqualTo(5)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingTextCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingTextCommandTest.kt
index 98d388e..a684ff3 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingTextCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetComposingTextCommandTest.kt
@@ -202,4 +202,4 @@
         assertThat(eb.compositionStart).isEqualTo(5)
         assertThat(eb.compositionEnd).isEqualTo(6)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetSelectionCommandTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetSelectionCommandTest.kt
index fb6877d..6a97ac4 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetSelectionCommandTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/SetSelectionCommandTest.kt
@@ -122,4 +122,4 @@
         assertThat(eb.selectionEnd).isEqualTo(5)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArrayTest.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArrayTest.kt
index b80206f..46be131 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArrayTest.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/ToCharArrayTest.kt
@@ -95,4 +95,4 @@
     }
 
     private class CustomCharSequence(text: String) : CharSequence by text
-}
\ No newline at end of file
+}
diff --git a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/matchers/EditBufferSubject.kt b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/matchers/EditBufferSubject.kt
index 1c751811..d0ff952 100644
--- a/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/matchers/EditBufferSubject.kt
+++ b/compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/matchers/EditBufferSubject.kt
@@ -71,4 +71,4 @@
             assertThat(subject[i]).isEqualTo(expected[i])
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
index 140b281..c22756c 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
@@ -299,4 +299,4 @@
             .wrapContentHeight(Alignment.CenterVertically),
         contentAlignment = Alignment.CenterStart
     ) { content() }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoSettingsActivity.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoSettingsActivity.kt
index 2bb8bd5..87e5a57 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoSettingsActivity.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoSettingsActivity.kt
@@ -64,4 +64,4 @@
             preferenceScreen = screen
         }
     }
-}
\ No newline at end of file
+}
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 1b24f7e..a52e2ef 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
@@ -47,4 +47,4 @@
         AccessibilityDemos,
         PerformanceDemos
     )
-)
\ No newline at end of file
+)
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DecorFitsSystemWindowsSetting.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DecorFitsSystemWindowsSetting.kt
index 5a6e3ae..5d89b99 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DecorFitsSystemWindowsSetting.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DecorFitsSystemWindowsSetting.kt
@@ -71,4 +71,4 @@
             setDecorFitsSystemWindows(window, true)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DemoSetting.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DemoSetting.kt
index 9fd88fb..8534334 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DemoSetting.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DemoSetting.kt
@@ -25,4 +25,4 @@
  */
 interface DemoSetting<T> {
     fun createPreference(context: Context): Preference
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DynamicThemeSetting.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DynamicThemeSetting.kt
index c897d86..abd57e7 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DynamicThemeSetting.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/DynamicThemeSetting.kt
@@ -37,4 +37,4 @@
     fun asState() = preferenceAsState(IsDynamicThemeOnKey) {
         getBoolean(IsDynamicThemeOnKey, IsDynamicThemingAvailable)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/LayoutDirectionSetting.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/LayoutDirectionSetting.kt
index 6805e218..5210632 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/LayoutDirectionSetting.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/LayoutDirectionSetting.kt
@@ -47,4 +47,4 @@
         val value = getString(Key, Ltr.name) ?: Ltr.name
         LayoutDirection.valueOf(value)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/PreferenceAsState.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/PreferenceAsState.kt
index 1da4f3d..12b0a9d 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/PreferenceAsState.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/PreferenceAsState.kt
@@ -77,4 +77,4 @@
 
         return@key value
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/SoftInputModeSetting.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/SoftInputModeSetting.kt
index 2309183..da20cd1 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/SoftInputModeSetting.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/settings/SoftInputModeSetting.kt
@@ -96,4 +96,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/AndroidViewListActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/AndroidViewListActivity.kt
index 7524bc4..39dace586 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/AndroidViewListActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/AndroidViewListActivity.kt
@@ -69,4 +69,4 @@
     ) { view ->
         view.findViewById<AppCompatTextView>(R.id.content).text = entry.contents
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/BaselineProfileActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/BaselineProfileActivity.kt
index a94f36b..2178cd2 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/BaselineProfileActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/BaselineProfileActivity.kt
@@ -99,4 +99,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyVerticalGridActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyVerticalGridActivity.kt
index 9f0da27..c201d05 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyVerticalGridActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/LazyVerticalGridActivity.kt
@@ -76,4 +76,4 @@
             modifier = Modifier.padding(16.dp)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/PagerAsCarouselActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/PagerAsCarouselActivity.kt
index df252e7..6bfa566 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/PagerAsCarouselActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/PagerAsCarouselActivity.kt
@@ -82,4 +82,4 @@
     ) {
         Text(text = index.toString(), color = Color.White)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewAsCarouselActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewAsCarouselActivity.kt
index 3766e35..400ed7c 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewAsCarouselActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewAsCarouselActivity.kt
@@ -70,4 +70,4 @@
     fun bind(item: String) {
         itemView.findViewById<TextView>(R.id.view_carousel_item).text = item
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewListActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewListActivity.kt
index 693b7ac..0c141f2 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewListActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/RecyclerViewListActivity.kt
@@ -115,4 +115,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt
index b187a01..9039903 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/TrivialStartupActivity.kt
@@ -29,4 +29,4 @@
             Text("Compose Macrobenchmark Target")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/ViewPagerActivity.kt b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/ViewPagerActivity.kt
index 01ac67f..65a7d30 100644
--- a/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/ViewPagerActivity.kt
+++ b/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/compose/integration/macrobenchmark/target/ViewPagerActivity.kt
@@ -61,4 +61,4 @@
     fun bind(item: String) {
         itemView.findViewById<TextView>(R.id.view_pager_item).text = item
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/AndroidViewPagerBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/AndroidViewPagerBenchmark.kt
index 916b3cf..e81532f 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/AndroidViewPagerBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/AndroidViewPagerBenchmark.kt
@@ -86,4 +86,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerAsCarouselBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerAsCarouselBenchmark.kt
index f28d5ac..becf364 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerAsCarouselBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerAsCarouselBenchmark.kt
@@ -97,4 +97,4 @@
             onSwipeFinished()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerBenchmark.kt
index cca2bba..2b74c72 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/PagerBenchmark.kt
@@ -84,4 +84,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/RecyclerViewAsCarouselBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/RecyclerViewAsCarouselBenchmark.kt
index ac953f6..0316577 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/RecyclerViewAsCarouselBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/RecyclerViewAsCarouselBenchmark.kt
@@ -67,4 +67,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt
index e76e719..79e8618 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/SmallListStartupBenchmark.kt
@@ -70,4 +70,4 @@
         @JvmStatic
         fun parameters() = createStartupCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ExceptionMessageDetector.kt b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ExceptionMessageDetector.kt
index 232a309..8e1b11e 100644
--- a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ExceptionMessageDetector.kt
+++ b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ExceptionMessageDetector.kt
@@ -79,4 +79,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ListIteratorDetector.kt b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ListIteratorDetector.kt
index 219efcf..b3a2280 100644
--- a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ListIteratorDetector.kt
+++ b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ListIteratorDetector.kt
@@ -146,4 +146,4 @@
 
 private val KotlinCollectionsPackageName = Package("kotlin.collections")
 private val KotlinIterable = Name(KotlinCollectionsPackageName, "Iterable")
-private val KotlinIterableClassifier = KmClassifier.Class(KotlinIterable.kmClassName)
\ No newline at end of file
+private val KotlinIterableClassifier = KmClassifier.Class(KotlinIterable.kmClassName)
diff --git a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/PlatformImportInCommonModuleDetector.kt b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/PlatformImportInCommonModuleDetector.kt
index 0e73ca6..856bc57 100644
--- a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/PlatformImportInCommonModuleDetector.kt
+++ b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/PlatformImportInCommonModuleDetector.kt
@@ -87,4 +87,4 @@
             "android"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ExceptionMessageDetectorTest.kt b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ExceptionMessageDetectorTest.kt
index cf2d8176..5b6b6a8 100644
--- a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ExceptionMessageDetectorTest.kt
+++ b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ExceptionMessageDetectorTest.kt
@@ -570,4 +570,4 @@
             .run()
             .expectClean()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
index 08acde0..0f4eae7d 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
@@ -267,4 +267,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ScaffoldPaddingDetector.kt b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ScaffoldPaddingDetector.kt
index 870a673..69b94b4 100644
--- a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ScaffoldPaddingDetector.kt
+++ b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ScaffoldPaddingDetector.kt
@@ -86,4 +86,4 @@
     }
 }
 
-private val Scaffold = Name(Material.PackageName, "Scaffold")
\ No newline at end of file
+private val Scaffold = Name(Material.PackageName, "Scaffold")
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsBenchmark.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsBenchmark.kt
index dec4d18..5dab3c3 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsBenchmark.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsBenchmark.kt
@@ -109,4 +109,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(checkboxCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsTestCase.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsTestCase.kt
index b590874..194abdd 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsTestCase.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/CheckboxesInRowsTestCase.kt
@@ -80,4 +80,4 @@
             modifier = modifier
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/RadioGroupBenchmark.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/RadioGroupBenchmark.kt
index 8cf50ec..33ea12f 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/RadioGroupBenchmark.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/RadioGroupBenchmark.kt
@@ -136,4 +136,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnBenchmark.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnBenchmark.kt
index 4a07b63..9e0c73c 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnBenchmark.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnBenchmark.kt
@@ -97,4 +97,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(textInColumnCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnSizeToggleTestCase.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnSizeToggleTestCase.kt
index cba9169..bda674e 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnSizeToggleTestCase.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/TextInColumnSizeToggleTestCase.kt
@@ -68,4 +68,4 @@
             20.sp
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutBenchmark.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutBenchmark.kt
index babe9e0..795a381 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutBenchmark.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutBenchmark.kt
@@ -78,4 +78,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(checkboxesCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutTestCase.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutTestCase.kt
index f387d64..76547cb 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutTestCase.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidCheckboxesInLinearLayoutTestCase.kt
@@ -76,4 +76,4 @@
         val checkbox = checkboxes.first()
         checkbox.isChecked = !checkbox.isChecked
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewBenchmark.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewBenchmark.kt
index c8ac2b4..632dc8a 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewBenchmark.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewBenchmark.kt
@@ -105,4 +105,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(caseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewTestCase.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewTestCase.kt
index 94f20d4..486369d 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewTestCase.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewTestCase.kt
@@ -56,4 +56,4 @@
         }
         return column
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutBenchmark.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutBenchmark.kt
index fa88cec..3446b62 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutBenchmark.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutBenchmark.kt
@@ -78,4 +78,4 @@
     fun draw() {
         benchmarkRule.benchmarkDrawPerf(rectanglesCaseFactory)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutTestCase.kt b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutTestCase.kt
index 12296193..2603b87 100644
--- a/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutTestCase.kt
+++ b/compose/material/material/benchmark/src/androidTest/java/androidx/compose/material/benchmark/view/AndroidTextViewsInLinearLayoutTestCase.kt
@@ -56,4 +56,4 @@
             it.textSize = fontSize
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
index 7eeab01..4eae40a 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
@@ -203,4 +203,4 @@
 
 // These icons have already shipped in a stable release, so it is too late to rename / remove one to
 // fix the clash.
-private val AllowedDuplicateIconNames = listOf("AddChart", "Addchart")
\ No newline at end of file
+private val AllowedDuplicateIconNames = listOf("AddChart", "Addchart")
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ExposedDropdownMenuDemo.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ExposedDropdownMenuDemo.kt
index a2a8b5a..c387e16 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ExposedDropdownMenuDemo.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/ExposedDropdownMenuDemo.kt
@@ -129,4 +129,4 @@
     }
 }
 
-private val DefaultSpace = 20.dp
\ No newline at end of file
+private val DefaultSpace = 20.dp
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 c5cb10f..040f8ab 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
@@ -92,4 +92,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 d9155c8..116ab3e 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
@@ -137,4 +137,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/CardSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/CardSamples.kt
index 2f1a82a..98b08ca 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/CardSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/CardSamples.kt
@@ -42,4 +42,4 @@
     Card(onClick = { count++ }) {
         Text("Clickable card content with count: $count")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ChipSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ChipSamples.kt
index 7c6e71e5..9b0e0e8 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ChipSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ChipSamples.kt
@@ -179,4 +179,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/DrawerSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/DrawerSamples.kt
index cf1390c..2681624 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/DrawerSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/DrawerSamples.kt
@@ -133,4 +133,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ElevationSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ElevationSamples.kt
index 066fa1c..9d50b68 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ElevationSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ElevationSamples.kt
@@ -34,4 +34,4 @@
             val elevation = LocalAbsoluteElevation.current
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ExposedDropdownMenuSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ExposedDropdownMenuSamples.kt
index 67f435f..42434b1 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ExposedDropdownMenuSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/ExposedDropdownMenuSamples.kt
@@ -122,4 +122,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/FloatingActionButtonSamples.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/FloatingActionButtonSamples.kt
index da257ea..de84531 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/FloatingActionButtonSamples.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/FloatingActionButtonSamples.kt
@@ -62,4 +62,4 @@
         onClick = { /*do something*/ },
         modifier = Modifier.fillMaxWidth()
     )
-}
\ No newline at end of file
+}
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 66e071f..f399b4a 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
@@ -300,4 +300,4 @@
             )
         }
     )
-}
\ No newline at end of file
+}
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 dd3ae10..ca9f13f 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
@@ -201,4 +201,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SliderSample.kt b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SliderSample.kt
index 3232aba..e2e6f8b 100644
--- a/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SliderSample.kt
+++ b/compose/material/material/samples/src/main/java/androidx/compose/material/samples/SliderSample.kt
@@ -95,4 +95,4 @@
             activeTrackColor = MaterialTheme.colors.secondary
         )
     )
-}
\ No newline at end of file
+}
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 98704d1b..b28e7f7 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
@@ -73,4 +73,4 @@
             Text(swipeableState.currentValue, color = Color.White, fontSize = 24.sp)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BackdropScaffoldTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BackdropScaffoldTest.kt
index 274fd8d..f8b99e2 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BackdropScaffoldTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BackdropScaffoldTest.kt
@@ -696,4 +696,4 @@
             assertThat(scaffoldState.currentValue).isEqualTo(Revealed)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonScreenshotTest.kt
index 3843974..fa8f9c1 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ButtonScreenshotTest.kt
@@ -151,4 +151,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, "button_focus")
     }
-}
\ No newline at end of file
+}
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 64005ba..c30c491 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
@@ -319,4 +319,4 @@
                 click(position = Offset(-1f, -1f))
             }.assertIsOn()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ColorsTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ColorsTest.kt
index 0d9ebda..0e412bf 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ColorsTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ColorsTest.kt
@@ -108,4 +108,4 @@
     if (isLight != other.isLight) return false
 
     return true
-}
\ No newline at end of file
+}
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 5609447..4569c65 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
@@ -106,4 +106,4 @@
             Color.Blue
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ExposedDropdownMenuTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ExposedDropdownMenuTest.kt
index 025a3ba..a4b8ddc 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ExposedDropdownMenuTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/ExposedDropdownMenuTest.kt
@@ -486,4 +486,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/GoldenCommon.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/GoldenCommon.kt
index ece0eda..507a9b0 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/GoldenCommon.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/GoldenCommon.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.material
 
-internal const val GOLDEN_MATERIAL = "compose/material/material"
\ No newline at end of file
+internal const val GOLDEN_MATERIAL = "compose/material/material"
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialRippleThemeTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialRippleThemeTest.kt
index fbf5030..be665d3 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialRippleThemeTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialRippleThemeTest.kt
@@ -1242,4 +1242,4 @@
 
 private val RippleBoxBackgroundColor = Color.Blue
 
-private const val Tag = "Ripple"
\ No newline at end of file
+private const val Tag = "Ripple"
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialTextSelectionColorsScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialTextSelectionColorsScreenshotTest.kt
index dc04bd0..39d9fa0 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialTextSelectionColorsScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialTextSelectionColorsScreenshotTest.kt
@@ -248,4 +248,4 @@
     selection = TextRange(0, 8),
     composition = TextRange(0, 8)
 )
-private const val Tag = "TestTag"
\ No newline at end of file
+private const val Tag = "TestTag"
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailScreenshotTest.kt
index 396228e..96c7496 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailScreenshotTest.kt
@@ -278,4 +278,4 @@
     }
 }
 
-private const val Tag = "NavigationRail"
\ No newline at end of file
+private const val Tag = "NavigationRail"
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailTest.kt
index 52c72d9..e974548 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/NavigationRailTest.kt
@@ -404,4 +404,4 @@
             Truth.assertThat(clicks).isEqualTo(0)
         }
     }
-}
\ No newline at end of file
+}
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 b653c19..758f3f1 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
@@ -207,4 +207,4 @@
 
 private val LocalTestTheme = staticCompositionLocalOf<TestTheme> {
     error("CompositionLocal LocalTestThemem not present")
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonScreenshotTest.kt
index 41269e3..cbda09b 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/RadioButtonScreenshotTest.kt
@@ -231,4 +231,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
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 04cd5e3..e09a044 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
@@ -298,4 +298,4 @@
                 }
             }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SliderScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SliderScreenshotTest.kt
index db70aca..b0d8134 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SliderScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SliderScreenshotTest.kt
@@ -246,4 +246,4 @@
         }
         assertSliderAgainstGolden("rangeSlider_steps_customColors")
     }
-}
\ No newline at end of file
+}
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 7eff0db..fc208b9 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
@@ -260,4 +260,4 @@
             SnackbarDuration.Short.toMillis(false, null)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarTest.kt
index e1ebe2f..0f50354 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SnackbarTest.kt
@@ -401,4 +401,4 @@
 
         assertThat(clicked).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeToDismissTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeToDismissTest.kt
index dfb408b..5b012b5 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeToDismissTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/SwipeToDismissTest.kt
@@ -287,4 +287,4 @@
             assertThat(dismissState.currentValue).isEqualTo(DismissValue.Default)
         }
     }
-}
\ No newline at end of file
+}
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 cb03029..3ea6d05 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
@@ -284,4 +284,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableStateTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableStateTest.kt
index 66d17fb..d419916 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableStateTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableStateTest.kt
@@ -982,4 +982,4 @@
     private val defaultVelocityThreshold: () -> Float = { with(rule.density) { 125.dp.toPx() } }
 
     private val defaultAnimationSpec = tween<Float>()
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableTestValue.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableTestValue.kt
index 16bfc99..d655926 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableTestValue.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/anchoredDraggable/AnchoredDraggableTestValue.kt
@@ -20,4 +20,4 @@
 
 import androidx.compose.material.ExperimentalMaterialApi
 
-internal enum class AnchoredDraggableTestValue { A, B, C }
\ No newline at end of file
+internal enum class AnchoredDraggableTestValue { A, B, C }
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTest.kt
index 9055b1d..732d4c5 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTest.kt
@@ -218,4 +218,4 @@
 }
 
 private const val PullRefreshTag = "pull-refresh"
-private const val IndicatorTag = "pull-refresh-indicator"
\ No newline at end of file
+private const val IndicatorTag = "pull-refresh-indicator"
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransformTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransformTest.kt
index 1cfa222..fc7af76 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransformTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransformTest.kt
@@ -188,4 +188,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldScreenshotTest.kt
index c40c277..1658beb 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/OutlinedTextFieldScreenshotTest.kt
@@ -559,4 +559,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenIdentifier)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
index 777adeb..c322df8 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
@@ -695,4 +695,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldScreenshotTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldScreenshotTest.kt
index e9d4389..51baca6 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldScreenshotTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldScreenshotTest.kt
@@ -556,4 +556,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenIdentifier)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/ExposedDropdownMenu.kt b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/ExposedDropdownMenu.kt
index 948b5a9..575180c 100644
--- a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/ExposedDropdownMenu.kt
+++ b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/ExposedDropdownMenu.kt
@@ -736,4 +736,4 @@
         result = 31 * result + disabledPlaceholderColor.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/Strings.android.kt b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/Strings.android.kt
index 8ad98bb..fcae854 100644
--- a/compose/material/material/src/androidMain/kotlin/androidx/compose/material/Strings.android.kt
+++ b/compose/material/material/src/androidMain/kotlin/androidx/compose/material/Strings.android.kt
@@ -35,4 +35,4 @@
         Strings.SliderRangeEnd -> resources.getString(R.string.range_end)
         else -> ""
     }
-}
\ No newline at end of file
+}
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 84e642e..1ad6f92 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
@@ -717,4 +717,4 @@
 
 private val FabSpacing = 16.dp
 private val BottomSheetScaffoldPositionalThreshold = 56.dp
-private val BottomSheetScaffoldVelocityThreshold = 125.dp
\ No newline at end of file
+private val BottomSheetScaffoldVelocityThreshold = 125.dp
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Chip.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Chip.kt
index b5f6dc0..919297a 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Chip.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Chip.kt
@@ -757,4 +757,4 @@
 /**
  * The size of a circle used to obscure the leading icon before a selected icon is displayed on top.
  */
-private val SelectedIconContainerSize = 24.dp
\ No newline at end of file
+private val SelectedIconContainerSize = 24.dp
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/DragGestureDetectorCopy.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/DragGestureDetectorCopy.kt
index 973fdf1..e00ecc0 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/DragGestureDetectorCopy.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/DragGestureDetectorCopy.kt
@@ -111,4 +111,4 @@
         PointerType.Mouse -> touchSlop * mouseToTouchSlopRatio
         else -> touchSlop
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ExperimentalMaterialApi.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ExperimentalMaterialApi.kt
index d0f78a0..6b4b137 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ExperimentalMaterialApi.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ExperimentalMaterialApi.kt
@@ -21,4 +21,4 @@
         " the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalMaterialApi
\ No newline at end of file
+annotation class ExperimentalMaterialApi
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/NavigationRail.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/NavigationRail.kt
index 378d983..78907a7 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/NavigationRail.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/NavigationRail.kt
@@ -402,4 +402,4 @@
 /**
  * The space between the icon and the top of the container when an item contains a label and icon.
  */
-private val ItemIconTopOffset = 14.dp
\ No newline at end of file
+private val ItemIconTopOffset = 14.dp
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
index 467a3d1..51876ef 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
@@ -978,4 +978,4 @@
 /* @VisibleForTesting */
 internal val OutlinedTextFieldTopPadding = 8.dp
 
-internal const val BorderId = "border"
\ No newline at end of file
+internal const val BorderId = "border"
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 3f01485..4c3a706 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
@@ -1187,4 +1187,4 @@
     override fun dispatchRawDelta(delta: Float) {
         return onDelta(delta)
     }
-}
\ No newline at end of file
+}
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 e1af01b..e03647a 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
@@ -370,4 +370,4 @@
 
 private const val SnackbarFadeInMillis = 150
 private const val SnackbarFadeOutMillis = 75
-private const val SnackbarInBetweenDelayMillis = 0
\ No newline at end of file
+private const val SnackbarInBetweenDelayMillis = 0
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 a856a28..4df2b6c 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
@@ -241,4 +241,4 @@
     }
 }
 
-private val DISMISS_THRESHOLD = 56.dp
\ No newline at end of file
+private val DISMISS_THRESHOLD = 56.dp
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
index 23f3381..fe11c44c 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
@@ -902,4 +902,4 @@
 
 private const val SwipeableDeprecation = "Material's Swipeable has been replaced by Foundation's " +
     "AnchoredDraggable APIs. Please see developer.android.com for an overview of the changes and " +
-    "a migration guide."
\ No newline at end of file
+    "a migration guide."
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
index bce7a19..473442e 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
@@ -934,4 +934,4 @@
 
 /** Padding from label's baseline (or FirstBaselineOffset) to the input field */
 /*@VisibleForTesting*/
-internal val TextFieldTopPadding = 2.dp
\ No newline at end of file
+internal val TextFieldTopPadding = 2.dp
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
index 0bf4aea..197f1a41 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
@@ -902,4 +902,4 @@
     return rememberUpdatedState(
         BorderStroke(animatedThickness.value, SolidColor(indicatorColor.value))
     )
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
index 89000d5..5c493f87 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
@@ -365,4 +365,4 @@
 internal val TextFieldPadding = 16.dp
 internal val HorizontalIconPadding = 12.dp
 
-internal val IconDefaultSizeModifier = Modifier.defaultMinSize(48.dp, 48.dp)
\ No newline at end of file
+internal val IconDefaultSizeModifier = Modifier.defaultMinSize(48.dp, 48.dp)
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefresh.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefresh.kt
index 564d874..4751d172 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefresh.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefresh.kt
@@ -116,4 +116,4 @@
     override suspend fun onPreFling(available: Velocity): Velocity {
         return Velocity(0f, onRelease(available.y))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransform.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransform.kt
index ad97176..f398c5a 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransform.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/PullRefreshIndicatorTransform.kt
@@ -72,4 +72,4 @@
                 scaleY = scaleFraction
             }
         }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DefaultPlatformTextStyle.desktop.kt b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DefaultPlatformTextStyle.desktop.kt
index d8b6ef6..873b9e0 100644
--- a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DefaultPlatformTextStyle.desktop.kt
+++ b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DefaultPlatformTextStyle.desktop.kt
@@ -18,4 +18,4 @@
 
 import androidx.compose.ui.text.PlatformTextStyle
 
-internal actual fun defaultPlatformTextStyle(): PlatformTextStyle? = null
\ No newline at end of file
+internal actual fun defaultPlatformTextStyle(): PlatformTextStyle? = null
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 125aaed..9c8f953 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
@@ -240,4 +240,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 ba88fef..909f648 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
@@ -370,4 +370,4 @@
         )
         return IntOffset(x, y)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/Strings.desktop.kt b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/Strings.desktop.kt
index 6873b2d..b1f629d 100644
--- a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/Strings.desktop.kt
+++ b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/Strings.desktop.kt
@@ -27,4 +27,4 @@
         Strings.DefaultErrorMessage -> "Invalid input"
         else -> ""
     }
-}
\ No newline at end of file
+}
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 cc5e759..2b3ac58 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
@@ -67,4 +67,4 @@
         val y = (rootSize.height - childSize.height) / 2f
         return Offset(x, y)
     }
-}
\ No newline at end of file
+}
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 7ec3efcb..c0f94f5 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
@@ -67,4 +67,4 @@
 
         assertThat(position).isEqualTo(IntOffset(10, 0))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/jvmMain/kotlin/androidx/compose/material/ActualJvm.kt b/compose/material/material/src/jvmMain/kotlin/androidx/compose/material/ActualJvm.kt
index 307fd82..0bd2191 100644
--- a/compose/material/material/src/jvmMain/kotlin/androidx/compose/material/ActualJvm.kt
+++ b/compose/material/material/src/jvmMain/kotlin/androidx/compose/material/ActualJvm.kt
@@ -19,4 +19,4 @@
 package androidx.compose.material
 
 internal actual typealias InternalAtomicReference<V> =
-    java.util.concurrent.atomic.AtomicReference<V>
\ No newline at end of file
+    java.util.concurrent.atomic.AtomicReference<V>
diff --git a/compose/material/material/src/test/kotlin/androidx/compose/material/ButtonPaparazziScreenshotTest.kt b/compose/material/material/src/test/kotlin/androidx/compose/material/ButtonPaparazziScreenshotTest.kt
index 8f6e548..1aec7be 100644
--- a/compose/material/material/src/test/kotlin/androidx/compose/material/ButtonPaparazziScreenshotTest.kt
+++ b/compose/material/material/src/test/kotlin/androidx/compose/material/ButtonPaparazziScreenshotTest.kt
@@ -39,4 +39,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material/material/src/test/kotlin/androidx/compose/material/DraggableAnchorsTest.kt b/compose/material/material/src/test/kotlin/androidx/compose/material/DraggableAnchorsTest.kt
index 8c420f3..6025350 100644
--- a/compose/material/material/src/test/kotlin/androidx/compose/material/DraggableAnchorsTest.kt
+++ b/compose/material/material/src/test/kotlin/androidx/compose/material/DraggableAnchorsTest.kt
@@ -102,4 +102,4 @@
     }
 }
 
-private enum class TestValue { A, B, C }
\ No newline at end of file
+private enum class TestValue { A, B, C }
diff --git a/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/CalculateWindowAdaptiveInfoTest.kt b/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/CalculateWindowAdaptiveInfoTest.kt
index db9c2a3..57c5303 100644
--- a/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/CalculateWindowAdaptiveInfoTest.kt
+++ b/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/CalculateWindowAdaptiveInfoTest.kt
@@ -116,4 +116,4 @@
 
         private val MockDensity = Density(1f, 1f)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/WindowSizeAsStateTest.kt b/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/WindowSizeAsStateTest.kt
index fed00fc..0b7d176 100644
--- a/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/WindowSizeAsStateTest.kt
+++ b/compose/material3/material3-adaptive/src/androidAndroidTest/kotlin/androidx/compose/material3/adaptive/WindowSizeAsStateTest.kt
@@ -105,4 +105,4 @@
             Rect(0, 0, mockWindowSize.value.width, mockWindowSize.value.height)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/AdaptiveLayoutDirective.kt b/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/AdaptiveLayoutDirective.kt
index e6d22cc..9ed5c8f 100644
--- a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/AdaptiveLayoutDirective.kt
+++ b/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/AdaptiveLayoutDirective.kt
@@ -214,4 +214,4 @@
         result = 31 * result + innerHorizontal.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi.kt b/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi.kt
index eb78310..4636316 100644
--- a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi.kt
+++ b/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/ExperimentalMaterial3AdaptiveApi.kt
@@ -21,4 +21,4 @@
         "removed in the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalMaterial3AdaptiveApi
\ No newline at end of file
+annotation class ExperimentalMaterial3AdaptiveApi
diff --git a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/PaneAdaptedValue.kt b/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/PaneAdaptedValue.kt
index 8254fe1..5d21a80 100644
--- a/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/PaneAdaptedValue.kt
+++ b/compose/material3/material3-adaptive/src/commonMain/kotlin/androidx/compose/material3/adaptive/PaneAdaptedValue.kt
@@ -33,4 +33,4 @@
          */
         val Hidden = PaneAdaptedValue("Hidden")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3-lint/src/main/java/androidx/compose/material3/lint/ScaffoldPaddingDetector.kt b/compose/material3/material3-lint/src/main/java/androidx/compose/material3/lint/ScaffoldPaddingDetector.kt
index eba6ffd..6071065 100644
--- a/compose/material3/material3-lint/src/main/java/androidx/compose/material3/lint/ScaffoldPaddingDetector.kt
+++ b/compose/material3/material3-lint/src/main/java/androidx/compose/material3/lint/ScaffoldPaddingDetector.kt
@@ -86,4 +86,4 @@
     }
 }
 
-private val Scaffold = Name(Material3.PackageName, "Scaffold")
\ No newline at end of file
+private val Scaffold = Name(Material3.PackageName, "Scaffold")
diff --git a/compose/material3/material3-window-size-class/src/androidAndroidTest/kotlin/androidx/compose/material3/windowsizeclass/AndroidWindowSizeClassTest.kt b/compose/material3/material3-window-size-class/src/androidAndroidTest/kotlin/androidx/compose/material3/windowsizeclass/AndroidWindowSizeClassTest.kt
index f5b837a..c72fcfa 100644
--- a/compose/material3/material3-window-size-class/src/androidAndroidTest/kotlin/androidx/compose/material3/windowsizeclass/AndroidWindowSizeClassTest.kt
+++ b/compose/material3/material3-window-size-class/src/androidAndroidTest/kotlin/androidx/compose/material3/windowsizeclass/AndroidWindowSizeClassTest.kt
@@ -117,4 +117,4 @@
         val bounds = getWindowBounds()
         return DpSize(bounds.width().toDp(), bounds.height().toDp())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/ExperimentalMaterial3WindowSizeClassApi.kt b/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/ExperimentalMaterial3WindowSizeClassApi.kt
index 8f405e8..8a4148e 100644
--- a/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/ExperimentalMaterial3WindowSizeClassApi.kt
+++ b/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/ExperimentalMaterial3WindowSizeClassApi.kt
@@ -21,4 +21,4 @@
         "be removed in the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalMaterial3WindowSizeClassApi
\ No newline at end of file
+annotation class ExperimentalMaterial3WindowSizeClassApi
diff --git a/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.kt b/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.kt
index 2f09358..9fb1865 100644
--- a/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.kt
+++ b/compose/material3/material3-window-size-class/src/commonMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.kt
@@ -17,4 +17,4 @@
 package androidx.compose.material3.windowsizeclass
 
 @MustBeDocumented
-expect annotation class TestOnly()
\ No newline at end of file
+expect annotation class TestOnly()
diff --git a/compose/material3/material3-window-size-class/src/jvmMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.jvm.kt b/compose/material3/material3-window-size-class/src/jvmMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.jvm.kt
index e8960b7..21f4dcb 100644
--- a/compose/material3/material3-window-size-class/src/jvmMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.jvm.kt
+++ b/compose/material3/material3-window-size-class/src/jvmMain/kotlin/androidx/compose/material3/windowsizeclass/TestOnly.jvm.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.material3.windowsizeclass
 
-internal actual typealias TestOnly = org.jetbrains.annotations.TestOnly
\ No newline at end of file
+internal actual typealias TestOnly = org.jetbrains.annotations.TestOnly
diff --git a/compose/material3/material3-window-size-class/src/test/kotlin/androidx/compose/material3/windowsizeclass/WindowSizeClassTest.kt b/compose/material3/material3-window-size-class/src/test/kotlin/androidx/compose/material3/windowsizeclass/WindowSizeClassTest.kt
index e7619ee..a8ab1c1 100644
--- a/compose/material3/material3-window-size-class/src/test/kotlin/androidx/compose/material3/windowsizeclass/WindowSizeClassTest.kt
+++ b/compose/material3/material3-window-size-class/src/test/kotlin/androidx/compose/material3/windowsizeclass/WindowSizeClassTest.kt
@@ -363,4 +363,4 @@
     companion object {
         private val DefaultDensity = Density(1F, 1F)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/home/Home.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/home/Home.kt
index 6275ad1..7c1888f 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/home/Home.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/home/Home.kt
@@ -71,4 +71,4 @@
 }
 
 private val HomeCellMinSize = 180.dp
-private val HomePadding = 12.dp
\ No newline at end of file
+private val HomePadding = 12.dp
diff --git a/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/ColorSchemeDemo.kt b/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/ColorSchemeDemo.kt
index 18b888f..685ef98 100644
--- a/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/ColorSchemeDemo.kt
+++ b/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/ColorSchemeDemo.kt
@@ -309,4 +309,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/SwipeToDismissDemo.kt b/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/SwipeToDismissDemo.kt
index 0cd93c7..26adb4f 100644
--- a/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/SwipeToDismissDemo.kt
+++ b/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/SwipeToDismissDemo.kt
@@ -163,4 +163,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/TooltipDemo.kt b/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/TooltipDemo.kt
index 741de3d..e08d179 100644
--- a/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/TooltipDemo.kt
+++ b/compose/material3/material3/integration-tests/material3-demos/src/main/java/androidx/compose/material3/demos/TooltipDemo.kt
@@ -192,4 +192,4 @@
     }
 }
 
-private const val TOOLTIP_DURATION = 1000L
\ No newline at end of file
+private const val TOOLTIP_DURATION = 1000L
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 5521ab9..b6b5599 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
@@ -84,4 +84,4 @@
         Spacer(Modifier.size(ButtonDefaults.IconSpacing))
         Text("Like")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/FloatingActionButtonSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/FloatingActionButtonSamples.kt
index 7df2f4a..efa61b3 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/FloatingActionButtonSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/FloatingActionButtonSamples.kt
@@ -133,4 +133,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/RadioButtonSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/RadioButtonSamples.kt
index 087de56..3bfd446 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/RadioButtonSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/RadioButtonSamples.kt
@@ -97,4 +97,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwipeToDismissSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwipeToDismissSamples.kt
index 627c4bf..dce330e 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwipeToDismissSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwipeToDismissSamples.kt
@@ -67,4 +67,4 @@
             }
         }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwitchSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwitchSamples.kt
index 55842a4..9fbb12a 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwitchSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SwitchSamples.kt
@@ -68,4 +68,4 @@
         onCheckedChange = { checked = it },
         thumbContent = icon
     )
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/TooltipSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/TooltipSamples.kt
index 05630d7..8a45008 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/TooltipSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/TooltipSamples.kt
@@ -159,4 +159,4 @@
     "Configure permissions for selected service accounts. " +
         "You can add and remove service account members and assign roles to them. " +
         "Visit go/permissions for details"
-const val richTooltipActionText = "Request Access"
\ No newline at end of file
+const val richTooltipActionText = "Request Access"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BottomSheetScaffoldTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BottomSheetScaffoldTest.kt
index 3dcafea..53beeb5 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BottomSheetScaffoldTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/BottomSheetScaffoldTest.kt
@@ -846,4 +846,4 @@
             with(density!!) { rule.rootHeight().toPx() - peekHeight.toPx() - snackbarSize!!.height }
         assertThat(snackbarBottomOffset).isWithin(1f).of(expectedSnackbarBottomOffset)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/CheckboxTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/CheckboxTest.kt
index 9503aa1..ed984d5 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/CheckboxTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/CheckboxTest.kt
@@ -321,4 +321,4 @@
                 click(position = Offset(-1f, -1f))
             }.assertIsOn()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ColorSchemeScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ColorSchemeScreenshotTest.kt
index 2b52272..50fe46d 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ColorSchemeScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ColorSchemeScreenshotTest.kt
@@ -447,4 +447,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DateRangePickerScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DateRangePickerScreenshotTest.kt
index 17c0028..b9c7249 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DateRangePickerScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DateRangePickerScreenshotTest.kt
@@ -214,4 +214,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DismissibleNavigationDrawerTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DismissibleNavigationDrawerTest.kt
index 2edb2e5..192db1e 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DismissibleNavigationDrawerTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DismissibleNavigationDrawerTest.kt
@@ -560,4 +560,4 @@
         }
 }
 
-private val DrawerTestTag = "drawer"
\ No newline at end of file
+private val DrawerTestTag = "drawer"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerTest.kt
index 00e0e1d..e010f7c 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/DividerTest.kt
@@ -110,4 +110,4 @@
 
         assertThat(heightPx).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ExposedDropdownMenuTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ExposedDropdownMenuTest.kt
index 9ea4779..90ffd2d 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ExposedDropdownMenuTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ExposedDropdownMenuTest.kt
@@ -494,4 +494,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonScreenshotTest.kt
index 59a999a..07dd785 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonScreenshotTest.kt
@@ -346,4 +346,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonTest.kt
index 46c3e79..4d11904 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/FloatingActionButtonTest.kt
@@ -550,4 +550,4 @@
 fun assertWithinOnePixel(expected: Float, actual: Float) {
     val diff = abs(expected - actual)
     assertThat(diff).isLessThan(1.1f)
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/IconButtonScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/IconButtonScreenshotTest.kt
index 66ea73e..84d1bca 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/IconButtonScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/IconButtonScreenshotTest.kt
@@ -556,4 +556,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemScreenshotTest.kt
index cebeda9..2e2a507 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ListItemScreenshotTest.kt
@@ -252,4 +252,4 @@
     }
 }
 
-private const val Tag = "List"
\ No newline at end of file
+private const val Tag = "List"
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 121e490..1b6aef8 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
@@ -768,4 +768,4 @@
         coords.value = coordinates.positionInRoot()
         size.value = coordinates.size
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MaterialRippleThemeTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MaterialRippleThemeTest.kt
index 47fbfcb..e3556a4 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MaterialRippleThemeTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MaterialRippleThemeTest.kt
@@ -730,4 +730,4 @@
 
 private val RippleBoxBackgroundColor = Color.Blue
 
-private const val Tag = "Ripple"
\ No newline at end of file
+private const val Tag = "Ripple"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MenuScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MenuScreenshotTest.kt
index e4fbc9d..fe24687 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MenuScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/MenuScreenshotTest.kt
@@ -157,4 +157,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenIdentifier)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalBottomSheetTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalBottomSheetTest.kt
index 0fa34c8..8a34a90 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalBottomSheetTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalBottomSheetTest.kt
@@ -1159,4 +1159,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerScreenshotTest.kt
index 94b8187..06d8653 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerScreenshotTest.kt
@@ -119,4 +119,4 @@
     }
 }
 
-private val ContainerTestTag = "container"
\ No newline at end of file
+private val ContainerTestTag = "container"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerTest.kt
index 409120f..db38109 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ModalNavigationDrawerTest.kt
@@ -658,4 +658,4 @@
     }
 }
 
-private val DrawerTestTag = "drawer"
\ No newline at end of file
+private val DrawerTestTag = "drawer"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemScreenshotTest.kt
index c1c847e..431e03d 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemScreenshotTest.kt
@@ -207,4 +207,4 @@
     }
 }
 
-private const val Tag = "NavigationDrawerItem"
\ No newline at end of file
+private const val Tag = "NavigationDrawerItem"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemTest.kt
index 8fd4d81..3ecd26f 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationDrawerItemTest.kt
@@ -182,4 +182,4 @@
             .assertIsNotSelected()
             .assertHasClickAction()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationRailScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationRailScreenshotTest.kt
index a2baa32..9d7867c 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationRailScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/NavigationRailScreenshotTest.kt
@@ -307,4 +307,4 @@
     }
 }
 
-private const val Tag = "NavigationRail"
\ No newline at end of file
+private const val Tag = "NavigationRail"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldScreenshotTest.kt
index a4d3e16..115839a 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/OutlinedTextFieldScreenshotTest.kt
@@ -777,4 +777,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenIdentifier)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/PermanentNavigationDrawerTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/PermanentNavigationDrawerTest.kt
index b183dd1..dc23dec 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/PermanentNavigationDrawerTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/PermanentNavigationDrawerTest.kt
@@ -187,4 +187,4 @@
     }
 }
 
-private val DrawerTestTag = "drawer"
\ No newline at end of file
+private val DrawerTestTag = "drawer"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ProgressIndicatorScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ProgressIndicatorScreenshotTest.kt
index 399d547..5495c624 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ProgressIndicatorScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/ProgressIndicatorScreenshotTest.kt
@@ -143,4 +143,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonScreenshotTest.kt
index 81f44e1..2d9c3f6 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonScreenshotTest.kt
@@ -392,4 +392,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonTest.kt
index ac44341..04e3bfb 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/RadioButtonTest.kt
@@ -301,4 +301,4 @@
                 }
             }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarScreenshotTest.kt
index 46ec30c..151c904 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarScreenshotTest.kt
@@ -335,4 +335,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarTest.kt
index 54fcb26..88f33e2 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SearchBarTest.kt
@@ -342,4 +342,4 @@
         rule.onNodeWithTag(SearchBarTestTag).performClick()
         rule.onNodeWithText("Content").assertIsDisplayed()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SegmentedButtonScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SegmentedButtonScreenshotTest.kt
index 5e50ac9..be7c546 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SegmentedButtonScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SegmentedButtonScreenshotTest.kt
@@ -178,4 +178,4 @@
     private val values = listOf("Day", "Month", "Week")
 
     private val testTag = "button"
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderScreenshotTest.kt
index 87a93a3..36514dd 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderScreenshotTest.kt
@@ -349,4 +349,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderTest.kt
index d8f1324..8696ba5 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/SliderTest.kt
@@ -1363,4 +1363,4 @@
         SideEffect { ++innerRecomposition }
         Text("InnerContent: ${state.activeRangeStart..state.activeRangeEnd}")
     }
-}
\ No newline at end of file
+}
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 e67aa28..1a7af1d 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
@@ -263,4 +263,4 @@
             SnackbarDuration.Short.toMillis(false, null)
         )
     }
-}
\ No newline at end of file
+}
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 5fcafa4..098aa4e 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
@@ -325,4 +325,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenName)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldDecorationBoxTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldDecorationBoxTest.kt
index 1938541..b6050ba 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldDecorationBoxTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldDecorationBoxTest.kt
@@ -681,4 +681,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldScreenshotTest.kt
index 927f5fb..3a9b194 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextFieldScreenshotTest.kt
@@ -770,4 +770,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenIdentifier)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextSelectionColorsScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextSelectionColorsScreenshotTest.kt
index abd4633..94a4d31 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextSelectionColorsScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TextSelectionColorsScreenshotTest.kt
@@ -247,4 +247,4 @@
     selection = TextRange(0, 8),
     composition = TextRange(0, 8)
 )
-private const val Tag = "TestTag"
\ No newline at end of file
+private const val Tag = "TestTag"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TimeInputScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TimeInputScreenshotTest.kt
index 1de6eaa..e95a0f2 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TimeInputScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TimeInputScreenshotTest.kt
@@ -101,4 +101,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipScreenshotTest.kt
index 9f0f5e4..c9a6824 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipScreenshotTest.kt
@@ -166,4 +166,4 @@
 }
 
 private const val AnchorTestTag = "Anchor"
-private const val TooltipTestTag = "tooltip"
\ No newline at end of file
+private const val TooltipTestTag = "tooltip"
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipTest.kt
index d5729f1..70e6b64 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/TooltipTest.kt
@@ -494,4 +494,4 @@
 private const val TextTestTag = "Text"
 private const val SubheadTestTag = "Subhead"
 private const val ActionTestTag = "Action"
-private const val AnchorTestTag = "Anchor"
\ No newline at end of file
+private const val AnchorTestTag = "Anchor"
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.android.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.android.kt
index d8dcc5c..4221c05 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.android.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.android.kt
@@ -24,4 +24,4 @@
 private val DefaultPlatformTextStyle = PlatformTextStyle(
     includeFontPadding = DefaultIncludeFontPadding
 )
-internal actual fun defaultPlatformTextStyle(): PlatformTextStyle? = DefaultPlatformTextStyle
\ No newline at end of file
+internal actual fun defaultPlatformTextStyle(): PlatformTextStyle? = DefaultPlatformTextStyle
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.android.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.android.kt
index 6cebcc5..8be2585 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.android.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.android.kt
@@ -25,4 +25,4 @@
     style: TextStyle,
     includeFontPadding: Boolean
 ): TextStyle =
-    style.copy(platformStyle = PlatformTextStyle(includeFontPadding = includeFontPadding))
\ No newline at end of file
+    style.copy(platformStyle = PlatformTextStyle(includeFontPadding = includeFontPadding))
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.android.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.android.kt
index 9cb5c3c..d206d84 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.android.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.android.kt
@@ -22,4 +22,4 @@
 
 internal actual val WindowInsets.Companion.systemBarsForVisualComponents: WindowInsets
     @Composable
-    get() = systemBars
\ No newline at end of file
+    get() = systemBars
diff --git a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TooltipPopup.android.kt b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TooltipPopup.android.kt
index 3b039c7..1074b7e 100644
--- a/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TooltipPopup.android.kt
+++ b/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/TooltipPopup.android.kt
@@ -33,4 +33,4 @@
     onDismissRequest = onDismissRequest,
     content = content,
     properties = PopupProperties(focusable = focusable)
-)
\ No newline at end of file
+)
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 20adb98..43e8c1a 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
@@ -393,4 +393,4 @@
     }
 }
 
-private enum class BottomSheetScaffoldLayoutSlot { TopBar, Body, Sheet, Snackbar }
\ No newline at end of file
+private enum class BottomSheetScaffoldLayoutSlot { TopBar, Body, Sheet, Snackbar }
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt
index 47cbc44..09efb85 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Button.kt
@@ -960,4 +960,4 @@
         result = 31 * result + disabledContentColor.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ContentColor.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ContentColor.kt
index f888572..1f9cfa9 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ContentColor.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/ContentColor.kt
@@ -30,4 +30,4 @@
  *
  * Defaults to [Color.Black] if no color has been explicitly set.
  */
-val LocalContentColor = compositionLocalOf { Color.Black }
\ No newline at end of file
+val LocalContentColor = compositionLocalOf { Color.Black }
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.kt
index 256aae5..3cbd421 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.kt
@@ -21,4 +21,4 @@
 /**
  * Returns Default [PlatformTextStyle].
  */
-internal expect fun defaultPlatformTextStyle(): PlatformTextStyle?
\ No newline at end of file
+internal expect fun defaultPlatformTextStyle(): PlatformTextStyle?
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DragGestureDetectorCopy.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DragGestureDetectorCopy.kt
index 410bc38..98af1c3 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DragGestureDetectorCopy.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DragGestureDetectorCopy.kt
@@ -132,4 +132,4 @@
         PointerType.Mouse -> touchSlop * mouseToTouchSlopRatio
         else -> touchSlop
     }
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Icon.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Icon.kt
index 3d5343f..95ea0666 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Icon.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Icon.kt
@@ -166,4 +166,4 @@
 private fun Size.isInfinite() = width.isInfinite() && height.isInfinite()
 
 // Default icon size, for icons with no intrinsic size information
-private val DefaultIconSizeModifier = Modifier.size(IconButtonTokens.IconSize)
\ No newline at end of file
+private val DefaultIconSizeModifier = Modifier.size(IconButtonTokens.IconSize)
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MappedInteractionSource.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MappedInteractionSource.kt
index 3004270..daaccce 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MappedInteractionSource.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MappedInteractionSource.kt
@@ -61,4 +61,4 @@
 
     private fun mapPress(press: PressInteraction.Press): PressInteraction.Press =
         PressInteraction.Press(press.pressPosition - delta)
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MutableWindowInsets.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MutableWindowInsets.kt
index 95ac756d..82e8fcc 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MutableWindowInsets.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/MutableWindowInsets.kt
@@ -45,4 +45,4 @@
     override fun getRight(density: Density, layoutDirection: LayoutDirection): Int =
         insets.getRight(density, layoutDirection)
     override fun getBottom(density: Density): Int = insets.getBottom(density)
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt
index bb9e6a2..65dfe8e 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationBar.kt
@@ -654,4 +654,4 @@
 internal val IndicatorVerticalPadding: Dp =
     (NavigationBarTokens.ActiveIndicatorHeight - NavigationBarTokens.IconSize) / 2
 
-private val IndicatorVerticalOffset: Dp = 12.dp
\ No newline at end of file
+private val IndicatorVerticalOffset: Dp = 12.dp
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt
index fcee888..9910025 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/NavigationRail.kt
@@ -677,4 +677,4 @@
     (NavigationRailTokens.ActiveIndicatorHeight - NavigationRailTokens.IconSize) / 2
 
 private val IndicatorVerticalPaddingNoLabel: Dp =
-    (NavigationRailTokens.NoLabelActiveIndicatorHeight - NavigationRailTokens.IconSize) / 2
\ No newline at end of file
+    (NavigationRailTokens.NoLabelActiveIndicatorHeight - NavigationRailTokens.IconSize) / 2
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 a148a0f..9dfb9eac 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
@@ -1135,4 +1135,4 @@
 need to add additional padding themselves
 */
 /* @VisibleForTesting */
-internal val OutlinedTextFieldTopPadding = 8.dp
\ No newline at end of file
+internal val OutlinedTextFieldTopPadding = 8.dp
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SegmentedButton.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SegmentedButton.kt
index d5954c4..1cd1101 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SegmentedButton.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SegmentedButton.kt
@@ -433,4 +433,4 @@
     }
 }
 
-private const val CheckedZIndexFactor = 5f
\ No newline at end of file
+private const val CheckedZIndexFactor = 5f
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 141ffbf..d2e2d0d 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
@@ -426,4 +426,4 @@
 }
 
 private val DragHandleVerticalPadding = 22.dp
-internal val BottomSheetMaxWidth = 640.dp
\ No newline at end of file
+internal val BottomSheetMaxWidth = 640.dp
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 dfd656f..bce5e38 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
@@ -276,4 +276,4 @@
     val FixedPositionalThreshold: Density.(totalDistance: Float) -> Float = { _ -> 56.dp.toPx() }
 }
 
-private val DismissThreshold = 125.dp
\ No newline at end of file
+private val DismissThreshold = 125.dp
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.kt
index 0a3fcad..d51bb8e 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/SystemBarsDefaultInsets.kt
@@ -20,4 +20,4 @@
 import androidx.compose.runtime.Composable
 
 internal expect val WindowInsets.Companion.systemBarsForVisualComponents: WindowInsets
-    @Composable get
\ No newline at end of file
+    @Composable get
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 e23732f..2af0c17d 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
@@ -1144,4 +1144,4 @@
 
 /** Padding from text field top to label top, and from input field bottom to text field bottom */
 /*@VisibleForTesting*/
-internal val TextFieldWithLabelVerticalPadding = 8.dp
\ No newline at end of file
+internal val TextFieldWithLabelVerticalPadding = 8.dp
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldDefaults.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldDefaults.kt
index 7929f2e..4c3ae02 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldDefaults.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldDefaults.kt
@@ -2172,4 +2172,4 @@
     return rememberUpdatedState(
         BorderStroke(animatedThickness.value, SolidColor(indicatorColor.value))
     )
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldImpl.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldImpl.kt
index 2ee2a6c..14b7065 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldImpl.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TextFieldImpl.kt
@@ -426,4 +426,4 @@
 internal val MinFocusedLabelLineHeight = 16.dp
 internal val MinSupportingTextLineHeight = 16.dp
 
-internal val IconDefaultSizeModifier = Modifier.defaultMinSize(48.dp, 48.dp)
\ No newline at end of file
+internal val IconDefaultSizeModifier = Modifier.defaultMinSize(48.dp, 48.dp)
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TimeFormat.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TimeFormat.kt
index d1941c51..01f635a 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TimeFormat.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TimeFormat.kt
@@ -21,4 +21,4 @@
 
 internal expect val is24HourFormat: Boolean
   @Composable
-  @ReadOnlyComposable get
\ No newline at end of file
+  @ReadOnlyComposable get
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tooltip.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tooltip.kt
index 7fe1110..38a5b2b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tooltip.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Tooltip.kt
@@ -827,4 +827,4 @@
 internal const val TooltipDuration = 1500L
 // No specification for fade in and fade out duration, so aligning it with the behavior for snack bar
 internal const val TooltipFadeInDuration = 150
-private const val TooltipFadeOutDuration = 75
\ No newline at end of file
+private const val TooltipFadeOutDuration = 75
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/AssistChipTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/AssistChipTokens.kt
index c7dc2ca..12c2566 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/AssistChipTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/AssistChipTokens.kt
@@ -55,4 +55,4 @@
     val IconColor = ColorSchemeKeyTokens.Primary
     val IconSize = 18.0.dp
     val PressedIconColor = ColorSchemeKeyTokens.Primary
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/BottomAppBarTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/BottomAppBarTokens.kt
index 00655a8..16521e6 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/BottomAppBarTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/BottomAppBarTokens.kt
@@ -26,4 +26,4 @@
     val ContainerHeight = 80.0.dp
     val ContainerShape = ShapeKeyTokens.CornerNone
     val ContainerSurfaceTintLayerColor = ColorSchemeKeyTokens.SurfaceTint
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/CircularProgressIndicatorTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/CircularProgressIndicatorTokens.kt
index 7e0ea7e..26701dc 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/CircularProgressIndicatorTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/CircularProgressIndicatorTokens.kt
@@ -29,4 +29,4 @@
     val FourColorActiveIndicatorThreeColor = ColorSchemeKeyTokens.Tertiary
     val FourColorActiveIndicatorTwoColor = ColorSchemeKeyTokens.PrimaryContainer
     val Size = 48.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorDarkTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorDarkTokens.kt
index 5943954..230540c 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorDarkTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorDarkTokens.kt
@@ -67,4 +67,4 @@
     val TertiaryContainer = PaletteTokens.Tertiary30
     val TertiaryFixed = PaletteTokens.Tertiary90
     val TertiaryFixedDim = PaletteTokens.Tertiary80
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorLightTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorLightTokens.kt
index 1dbbb2f..cf18f07 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorLightTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorLightTokens.kt
@@ -67,4 +67,4 @@
     val TertiaryContainer = PaletteTokens.Tertiary90
     val TertiaryFixed = PaletteTokens.Tertiary90
     val TertiaryFixedDim = PaletteTokens.Tertiary80
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorSchemeKeyTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorSchemeKeyTokens.kt
index 85acb6f..72914e4 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorSchemeKeyTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ColorSchemeKeyTokens.kt
@@ -67,4 +67,4 @@
     TertiaryContainer,
     TertiaryFixed,
     TertiaryFixedDim,
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/DividerTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/DividerTokens.kt
index a9bfc87..df21b7d9 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/DividerTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/DividerTokens.kt
@@ -23,4 +23,4 @@
 internal object DividerTokens {
     val Color = ColorSchemeKeyTokens.OutlineVariant
     val Thickness = 1.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedButtonTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedButtonTokens.kt
index fcef087..bf908da 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedButtonTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedButtonTokens.kt
@@ -46,4 +46,4 @@
     val IconColor = ColorSchemeKeyTokens.Primary
     val IconSize = 18.0.dp
     val PressedIconColor = ColorSchemeKeyTokens.Primary
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedCardTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedCardTokens.kt
index ca4729a..8db812f 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedCardTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ElevatedCardTokens.kt
@@ -34,4 +34,4 @@
     val IconColor = ColorSchemeKeyTokens.Primary
     val IconSize = 24.0.dp
     val PressedContainerElevation = ElevationTokens.Level1
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ExtendedFabPrimaryTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ExtendedFabPrimaryTokens.kt
index 1786948..70d298e 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ExtendedFabPrimaryTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ExtendedFabPrimaryTokens.kt
@@ -42,4 +42,4 @@
     val PressedContainerElevation = ElevationTokens.Level3
     val PressedIconColor = ColorSchemeKeyTokens.OnPrimaryContainer
     val PressedLabelTextColor = ColorSchemeKeyTokens.OnPrimaryContainer
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryLargeTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryLargeTokens.kt
index 9d06a88..2330a5c 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryLargeTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryLargeTokens.kt
@@ -38,4 +38,4 @@
     val LoweredPressedContainerElevation = ElevationTokens.Level1
     val PressedContainerElevation = ElevationTokens.Level3
     val PressedIconColor = ColorSchemeKeyTokens.OnPrimaryContainer
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimarySmallTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimarySmallTokens.kt
index 3cbd45db..106084a 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimarySmallTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimarySmallTokens.kt
@@ -38,4 +38,4 @@
     val LoweredPressedContainerElevation = ElevationTokens.Level1
     val PressedContainerElevation = ElevationTokens.Level3
     val PressedIconColor = ColorSchemeKeyTokens.OnPrimaryContainer
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryTokens.kt
index 2161f4c..6ee7c71 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabPrimaryTokens.kt
@@ -38,4 +38,4 @@
     val LoweredPressedContainerElevation = ElevationTokens.Level1
     val PressedContainerElevation = ElevationTokens.Level3
     val PressedIconColor = ColorSchemeKeyTokens.OnPrimaryContainer
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabSecondaryTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabSecondaryTokens.kt
index 774995b..ce17e1b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabSecondaryTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FabSecondaryTokens.kt
@@ -38,4 +38,4 @@
     val LoweredPressedContainerElevation = ElevationTokens.Level1
     val PressedContainerElevation = ElevationTokens.Level3
     val PressedIconColor = ColorSchemeKeyTokens.OnSecondaryContainer
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledAutocompleteTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledAutocompleteTokens.kt
index 88fe201..7ea8782 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledAutocompleteTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledAutocompleteTokens.kt
@@ -95,4 +95,4 @@
     val FieldSupportingTextFont = TypographyKeyTokens.BodySmall
     val TextFieldTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TextFieldTrailingIconSize = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledButtonTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledButtonTokens.kt
index 64cb2b1..8d32f8e2 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledButtonTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledButtonTokens.kt
@@ -45,4 +45,4 @@
     val IconColor = ColorSchemeKeyTokens.OnPrimary
     val IconSize = 18.0.dp
     val PressedIconColor = ColorSchemeKeyTokens.OnPrimary
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledCardTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledCardTokens.kt
index 5dad463..fcada51 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledCardTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledCardTokens.kt
@@ -33,4 +33,4 @@
     val IconColor = ColorSchemeKeyTokens.Primary
     val IconSize = 24.0.dp
     val PressedContainerElevation = ElevationTokens.Level0
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledTextFieldTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledTextFieldTokens.kt
index dc067dd..4d8c142 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledTextFieldTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilledTextFieldTokens.kt
@@ -88,4 +88,4 @@
     val SupportingFont = TypographyKeyTokens.BodySmall
     val TrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TrailingIconSize = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilterChipTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilterChipTokens.kt
index efe7825..1798b56 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilterChipTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/FilterChipTokens.kt
@@ -88,4 +88,4 @@
     val UnselectedFocusTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val UnselectedHoverTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val UnselectedPressedTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/InputChipTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/InputChipTokens.kt
index d309ef6..26c5d18 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/InputChipTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/InputChipTokens.kt
@@ -76,4 +76,4 @@
     val UnselectedHoverTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val UnselectedPressedTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val UnselectedTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ListTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ListTokens.kt
index b9be5b08..95d349d 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ListTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ListTokens.kt
@@ -71,4 +71,4 @@
     val ListItemTrailingSupportingTextFont = TypographyKeyTokens.LabelSmall
     val ListItemTwoLineContainerHeight = 72.0.dp
     val ListItemUnselectedTrailingIconColor = ColorSchemeKeyTokens.OnSurface
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationBarTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationBarTokens.kt
index eecfc7e..8a95164 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationBarTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationBarTokens.kt
@@ -48,4 +48,4 @@
     val InactivePressedIconColor = ColorSchemeKeyTokens.OnSurface
     val InactivePressedLabelTextColor = ColorSchemeKeyTokens.OnSurface
     val LabelTextFont = TypographyKeyTokens.LabelMedium
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationDrawerTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationDrawerTokens.kt
index 72c7a51..8aa688b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationDrawerTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationDrawerTokens.kt
@@ -55,4 +55,4 @@
     val LargeBadgeLabelFont = TypographyKeyTokens.LabelLarge
     val ModalContainerElevation = ElevationTokens.Level1
     val StandardContainerElevation = ElevationTokens.Level0
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationRailTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationRailTokens.kt
index 0fb4723..1c6758d 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationRailTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/NavigationRailTokens.kt
@@ -54,4 +54,4 @@
     val MenuPressedIconColor = ColorSchemeKeyTokens.OnSurface
     val NoLabelActiveIndicatorHeight = 56.0.dp
     val NoLabelActiveIndicatorShape = ShapeKeyTokens.CornerFull
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedAutocompleteTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedAutocompleteTokens.kt
index 779a0ff..3f3c6d3 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedAutocompleteTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedAutocompleteTokens.kt
@@ -93,4 +93,4 @@
     val FieldSupportingTextFont = TypographyKeyTokens.BodySmall
     val TextFieldTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TextFieldTrailingIconSize = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedButtonTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedButtonTokens.kt
index 97c36a5..e6589c0 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedButtonTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedButtonTokens.kt
@@ -44,4 +44,4 @@
     val IconColor = ColorSchemeKeyTokens.Primary
     val IconSize = 18.0.dp
     val PressedIconColor = ColorSchemeKeyTokens.Primary
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedSegmentedButtonTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedSegmentedButtonTokens.kt
index 681ebd3..2530ef6 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedSegmentedButtonTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/OutlinedSegmentedButtonTokens.kt
@@ -51,4 +51,4 @@
     val UnselectedPressedLabelTextColor = ColorSchemeKeyTokens.OnSurface
     val UnselectedIconColor = ColorSchemeKeyTokens.OnSurface
     val IconSize = 18.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PaletteTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PaletteTokens.kt
index 3a8eb4c..b4e5e3b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PaletteTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PaletteTokens.kt
@@ -112,4 +112,4 @@
     val Tertiary95 = Color(red = 255, green = 236, blue = 241)
     val Tertiary99 = Color(red = 255, green = 251, blue = 250)
     val White = Color(red = 255, green = 255, blue = 255)
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PlainTooltipTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PlainTooltipTokens.kt
index 37b4364..0a3aa15 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PlainTooltipTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PlainTooltipTokens.kt
@@ -21,4 +21,4 @@
     val ContainerShape = ShapeKeyTokens.CornerExtraSmall
     val SupportingTextColor = ColorSchemeKeyTokens.InverseOnSurface
     val SupportingTextFont = TypographyKeyTokens.BodySmall
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PrimaryNavigationTabTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PrimaryNavigationTabTokens.kt
index 4622e75..3a7cc1b6 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PrimaryNavigationTabTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/PrimaryNavigationTabTokens.kt
@@ -49,4 +49,4 @@
     val InactiveLabelTextColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val InactivePressedLabelTextColor = ColorSchemeKeyTokens.OnSurface
     val LabelTextFont = TypographyKeyTokens.TitleSmall
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/RichTooltipTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/RichTooltipTokens.kt
index e6d6f79..0363645 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/RichTooltipTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/RichTooltipTokens.kt
@@ -32,4 +32,4 @@
     val SubheadFont = TypographyKeyTokens.TitleSmall
     val SupportingTextColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val SupportingTextFont = TypographyKeyTokens.BodyMedium
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ScrimTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ScrimTokens.kt
index 9838003f..0526def 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ScrimTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ScrimTokens.kt
@@ -21,4 +21,4 @@
 internal object ScrimTokens {
     val ContainerColor = ColorSchemeKeyTokens.Scrim
     const val ContainerOpacity = 0.32f
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchBarTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchBarTokens.kt
index 6cc751a..fc83e22 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchBarTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchBarTokens.kt
@@ -37,4 +37,4 @@
     val SupportingTextColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val SupportingTextFont = TypographyKeyTokens.BodyLarge
     val TrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchViewTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchViewTokens.kt
index ae626cf..8553159 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchViewTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SearchViewTokens.kt
@@ -36,4 +36,4 @@
     val HeaderSupportingTextColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val HeaderSupportingTextFont = TypographyKeyTokens.BodyLarge
     val HeaderTrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SecondaryNavigationTabTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SecondaryNavigationTabTokens.kt
index 6d34a48..a19ea9b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SecondaryNavigationTabTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SecondaryNavigationTabTokens.kt
@@ -40,4 +40,4 @@
     val IconSize = 24.0.dp
     val InactiveIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val PressedIconColor = ColorSchemeKeyTokens.OnSurface
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeKeyTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeKeyTokens.kt
index 956f53a..60b0097 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeKeyTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeKeyTokens.kt
@@ -30,4 +30,4 @@
     CornerMedium,
     CornerNone,
     CornerSmall,
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeTokens.kt
index b4e3f61..92dedaa 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/ShapeTokens.kt
@@ -58,4 +58,4 @@
     val CornerMedium = RoundedCornerShape(12.0.dp)
     val CornerNone = RectangleShape
     val CornerSmall = RoundedCornerShape(8.0.dp)
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SheetBottomTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SheetBottomTokens.kt
index ecc53a4..4625132 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SheetBottomTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SheetBottomTokens.kt
@@ -31,4 +31,4 @@
     val DockedMinimizedContainerShape = ShapeKeyTokens.CornerNone
     val DockedModalContainerElevation = ElevationTokens.Level1
     val DockedStandardContainerElevation = ElevationTokens.Level1
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SliderTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SliderTokens.kt
index 5506511..230111b 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SliderTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SliderTokens.kt
@@ -59,4 +59,4 @@
     const val TickMarksDisabledContainerOpacity = 0.38f
     val TickMarksInactiveContainerColor = ColorSchemeKeyTokens.OnSurfaceVariant
     const val TickMarksInactiveContainerOpacity = 0.38f
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SnackbarTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SnackbarTokens.kt
index ad7994a..45acfed 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SnackbarTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SnackbarTokens.kt
@@ -38,4 +38,4 @@
     val SupportingTextFont = TypographyKeyTokens.BodyMedium
     val SingleLineContainerHeight = 48.0.dp
     val TwoLinesContainerHeight = 68.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SwitchTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SwitchTokens.kt
index a359c70..a6c2e72 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SwitchTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/SwitchTokens.kt
@@ -78,4 +78,4 @@
     val UnselectedTrackOutlineColor = ColorSchemeKeyTokens.Outline
     val IconHandleHeight = 24.0.dp
     val IconHandleWidth = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TextButtonTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TextButtonTokens.kt
index 90f2c21..bea23ec 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TextButtonTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TextButtonTokens.kt
@@ -37,4 +37,4 @@
     val IconColor = ColorSchemeKeyTokens.Primary
     val IconSize = 18.0.dp
     val PressedIconColor = ColorSchemeKeyTokens.Primary
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimeInputTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimeInputTokens.kt
index 7fe4835..384f336 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimeInputTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimeInputTokens.kt
@@ -58,4 +58,4 @@
     val TimeFieldSeparatorFont = TypographyKeyTokens.DisplayLarge
     val TimeFieldSupportingTextColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TimeFieldSupportingTextFont = TypographyKeyTokens.BodySmall
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimePickerTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimePickerTokens.kt
index 335414e..0c4fe2c 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimePickerTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TimePickerTokens.kt
@@ -75,4 +75,4 @@
     val TimeSelectorUnselectedHoverLabelTextColor = ColorSchemeKeyTokens.OnSurface
     val TimeSelectorUnselectedLabelTextColor = ColorSchemeKeyTokens.OnSurface
     val TimeSelectorUnselectedPressedLabelTextColor = ColorSchemeKeyTokens.OnSurface
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarLargeTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarLargeTokens.kt
index 3713c50..b45cf89 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarLargeTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarLargeTokens.kt
@@ -32,4 +32,4 @@
     val LeadingIconSize = 24.0.dp
     val TrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TrailingIconSize = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarMediumTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarMediumTokens.kt
index b2045a5..b342dc2 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarMediumTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarMediumTokens.kt
@@ -32,4 +32,4 @@
     val LeadingIconSize = 24.0.dp
     val TrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TrailingIconSize = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarSmallTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarSmallTokens.kt
index ebd8114..3fc3b56 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarSmallTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TopAppBarSmallTokens.kt
@@ -33,4 +33,4 @@
     val OnScrollContainerElevation = ElevationTokens.Level2
     val TrailingIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val TrailingIconSize = 24.0.dp
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TypographyKeyTokens.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TypographyKeyTokens.kt
index 848d7a2..0e58763 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TypographyKeyTokens.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/TypographyKeyTokens.kt
@@ -34,4 +34,4 @@
     TitleLarge,
     TitleMedium,
     TitleSmall,
-}
\ No newline at end of file
+}
diff --git a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.desktop.kt b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.desktop.kt
index 3e06cac..27a88a5 100644
--- a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.desktop.kt
+++ b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/DefaultPlatformTextStyle.desktop.kt
@@ -18,4 +18,4 @@
 
 import androidx.compose.ui.text.PlatformTextStyle
 
-internal actual fun defaultPlatformTextStyle(): PlatformTextStyle? = null
\ No newline at end of file
+internal actual fun defaultPlatformTextStyle(): PlatformTextStyle? = null
diff --git a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.desktop.kt b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.desktop.kt
index 31ecb1e..27e6c24 100644
--- a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.desktop.kt
+++ b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/IncludeFontPaddingHelper.desktop.kt
@@ -23,4 +23,4 @@
 internal actual fun copyAndSetFontPadding(
     style: TextStyle,
     includeFontPadding: Boolean
-): TextStyle = style
\ No newline at end of file
+): TextStyle = style
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 c48c446..87b5e0d 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
@@ -22,4 +22,4 @@
 
 internal actual val WindowInsets.Companion.systemBarsForVisualComponents: WindowInsets
     @Composable
-    get() = WindowInsets(0.dp, 0.dp, 0.dp, 0.dp)
\ No newline at end of file
+    get() = WindowInsets(0.dp, 0.dp, 0.dp, 0.dp)
diff --git a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/TooltipPopup.desktop.kt b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/TooltipPopup.desktop.kt
index 51ffed0..cd83c7c 100644
--- a/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/TooltipPopup.desktop.kt
+++ b/compose/material3/material3/src/desktopMain/kotlin/androidx/compose/material3/TooltipPopup.desktop.kt
@@ -31,4 +31,4 @@
     popupPositionProvider = popupPositionProvider,
     onDismissRequest = onDismissRequest,
     content = content
-)
\ No newline at end of file
+)
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetector.kt
index 06d4a03..f225ede 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetector.kt
@@ -179,4 +179,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetector.kt
index ed2aafe2..d5e2643 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetector.kt
@@ -115,4 +115,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 024e954..bf2a594 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
@@ -118,4 +118,4 @@
 
 private val FlowPackageName = Package("kotlinx.coroutines.flow")
 private val FlowName = Name(FlowPackageName, "Flow")
-private val FlowClassifier = KmClassifier.Class(FlowName.kmClassName)
\ No newline at end of file
+private val FlowClassifier = KmClassifier.Class(FlowName.kmClassName)
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 4285eca..6d2d7f1 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
@@ -151,4 +151,4 @@
     val descriptor = constructor.declarationDescriptor ?: return null
     val packageName = descriptor.containingPackage()?.asString() ?: return null
     return packageName + "." + descriptor.name.asString()
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetector.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetector.kt
index 70fd1cd..c950082 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetector.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetector.kt
@@ -250,4 +250,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetectorTest.kt
index 35b6b07..1dffaac 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateCreationDetectorTest.kt
@@ -502,4 +502,4 @@
         override fun toString() = "type = $fqName"
     }
 }
-/* ktlint-enable max-line-length */
\ No newline at end of file
+/* ktlint-enable max-line-length */
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetectorTest.kt
index 6f99bf7..5ff264d 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/AutoboxingStateValuePropertyDetectorTest.kt
@@ -158,4 +158,4 @@
         )
     }
 }
-/* ktlint-enable max-line-length */
\ No newline at end of file
+/* ktlint-enable max-line-length */
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetectorTest.kt
index 597189a..74d6264 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/OpaqueUnitKeyDetectorTest.kt
@@ -1741,4 +1741,4 @@
 
     // endregion key() test cases
 }
-/* ktlint-enable max-line-length */
\ No newline at end of file
+/* ktlint-enable max-line-length */
diff --git a/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/CompletableAdapterTest.kt b/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/CompletableAdapterTest.kt
index 0f13eb7..116819d 100644
--- a/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/CompletableAdapterTest.kt
+++ b/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/CompletableAdapterTest.kt
@@ -94,4 +94,4 @@
         completed = true
         emitters.forEach { if (!it.isDisposed) it.onComplete() }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/RxJava2AdapterTest.kt b/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/RxJava2AdapterTest.kt
index 103ff3b..0c19acb 100644
--- a/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/RxJava2AdapterTest.kt
+++ b/compose/runtime/runtime-rxjava2/src/androidTest/java/androidx/compose/runtime/rxjava2/RxJava2AdapterTest.kt
@@ -287,4 +287,4 @@
     }
 
     override fun toString() = "Maybe"
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/CompletableAdapterTest.kt b/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/CompletableAdapterTest.kt
index 0d5ce57..55f3a40 100644
--- a/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/CompletableAdapterTest.kt
+++ b/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/CompletableAdapterTest.kt
@@ -94,4 +94,4 @@
         completed = true
         emitters.forEach { if (!it.isDisposed) it.onComplete() }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/RxJava3AdapterTest.kt b/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/RxJava3AdapterTest.kt
index dc8cf51..5ad2315 100644
--- a/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/RxJava3AdapterTest.kt
+++ b/compose/runtime/runtime-rxjava3/src/androidTest/java/androidx/compose/runtime/rxjava3/RxJava3AdapterTest.kt
@@ -287,4 +287,4 @@
     }
 
     override fun toString() = "Maybe"
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-rxjava3/src/main/java/androidx/compose/runtime/rxjava3/RxJava3Adapter.kt b/compose/runtime/runtime-rxjava3/src/main/java/androidx/compose/runtime/rxjava3/RxJava3Adapter.kt
index c4c31a5..0736da3 100644
--- a/compose/runtime/runtime-rxjava3/src/main/java/androidx/compose/runtime/rxjava3/RxJava3Adapter.kt
+++ b/compose/runtime/runtime-rxjava3/src/main/java/androidx/compose/runtime/rxjava3/RxJava3Adapter.kt
@@ -142,4 +142,4 @@
         onDispose { disposable.dispose() }
     }
     return state
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt
index 5b4a546..0e741ce 100644
--- a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt
+++ b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt
@@ -55,4 +55,4 @@
 private val HolderSaver = Saver<Holder, Int>(
     save = { it.value },
     restore = { Holder(it) }
-)
\ No newline at end of file
+)
diff --git a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/SaveableStateHolderSamples.kt b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/SaveableStateHolderSamples.kt
index d3bdb3b..cd7caaa 100644
--- a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/SaveableStateHolderSamples.kt
+++ b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/SaveableStateHolderSamples.kt
@@ -101,4 +101,4 @@
     ) {
         content()
     }
-}
\ No newline at end of file
+}
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 ceffeeb..4babdd8 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
@@ -462,4 +462,4 @@
 }
 
 private open class DelegateRegistry(original: SaveableStateRegistry) :
-    SaveableStateRegistry by original
\ No newline at end of file
+    SaveableStateRegistry by original
diff --git a/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/AutoSaverTest.kt b/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/AutoSaverTest.kt
index a14d78f..58f56ff 100644
--- a/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/AutoSaverTest.kt
+++ b/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/AutoSaverTest.kt
@@ -41,4 +41,4 @@
 
 val disallowingScope = object : SaverScope {
     override fun canBeSaved(value: Any) = false
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/MapSaverTest.kt b/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/MapSaverTest.kt
index 375b6b9..10621d5 100644
--- a/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/MapSaverTest.kt
+++ b/compose/runtime/runtime-saveable/src/test/java/androidx/compose/runtime/saveable/MapSaverTest.kt
@@ -98,4 +98,4 @@
         save = { mapOf(nameKey to it?.name, ageKey to it?.age) },
         restore = { NullableUser(it[nameKey] as String?, it[ageKey] as Int?) }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeActivity.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeActivity.kt
index f698f2e..bfbf7cd 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeActivity.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/ComposeActivity.kt
@@ -23,4 +23,4 @@
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DeepTreeBenchmark.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DeepTreeBenchmark.kt
index 1814570..079ac56c 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DeepTreeBenchmark.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/DeepTreeBenchmark.kt
@@ -69,4 +69,4 @@
             DeepTree(depth = 2, breadth = 10, wrap = 6)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateAutoboxingBenchmark.kt b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateAutoboxingBenchmark.kt
index 6ae06e8..1889856 100644
--- a/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateAutoboxingBenchmark.kt
+++ b/compose/runtime/runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/runtime/benchmark/SnapshotStateAutoboxingBenchmark.kt
@@ -96,4 +96,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidMovableContentTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidMovableContentTests.kt
index c17130f..7f9f42d 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidMovableContentTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidMovableContentTests.kt
@@ -94,4 +94,4 @@
 
 interface Result {
     fun toEqual(expected: Any?)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidSnapshotTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidSnapshotTests.kt
index 17842c2..ab2247a 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidSnapshotTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/AndroidSnapshotTests.kt
@@ -64,4 +64,4 @@
             stop = true
         }
     }
-}
\ No newline at end of file
+}
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 79df8bd..373961f 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
@@ -136,4 +136,4 @@
     }
 }
 
-fun CountDownLatch.wait() = assertTrue(await(1, TimeUnit.SECONDS))
\ No newline at end of file
+fun CountDownLatch.wait() = assertTrue(await(1, TimeUnit.SECONDS))
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ContextReceiverTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ContextReceiverTests.kt
index 781503a..5fb7c53 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ContextReceiverTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/ContextReceiverTests.kt
@@ -99,4 +99,4 @@
     class CtxB {
         fun getB() = "B"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/DisposeTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/DisposeTests.kt
index 6cb8982..c6edc91 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/DisposeTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/DisposeTests.kt
@@ -85,4 +85,4 @@
             activity.waitForAFrame()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/LiveEditApiTests.kt b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/LiveEditApiTests.kt
index b0e4d91..b874c43 100644
--- a/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/LiveEditApiTests.kt
+++ b/compose/runtime/runtime/integration-tests/src/androidAndroidTest/kotlin/androidx/compose/runtime/LiveEditApiTests.kt
@@ -575,4 +575,4 @@
     if (shouldThrow()) {
         error("Text error!")
     }
-}
\ No newline at end of file
+}
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 ad0091f..6d7d71a 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
@@ -56,4 +56,4 @@
             assertEquals(1, observedResult, "observedResult after emitting new value")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/EffectSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/EffectSamples.kt
index 40d690d..b488925 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/EffectSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/EffectSamples.kt
@@ -146,4 +146,4 @@
         // to recompose.
         CountDisplay(sum)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/FlowAdapterSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/FlowAdapterSamples.kt
index 733a59a..56691ad 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/FlowAdapterSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/FlowAdapterSamples.kt
@@ -36,4 +36,4 @@
 fun StateFlowSample(stateFlow: StateFlow<String>) {
     val value: String by stateFlow.collectAsState()
     Text("Value is $value")
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ImmutableSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ImmutableSamples.kt
index faf6eac..df458ba 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ImmutableSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ImmutableSamples.kt
@@ -50,4 +50,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ProduceStateSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ProduceStateSamples.kt
index 9adfc2d..015a6cf 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ProduceStateSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/ProduceStateSamples.kt
@@ -79,4 +79,4 @@
             disposable.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SideEffectSamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SideEffectSamples.kt
index 07cddd8..bab72f9 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SideEffectSamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SideEffectSamples.kt
@@ -134,4 +134,4 @@
 
         // ...
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotMutationPolicySamples.kt b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotMutationPolicySamples.kt
index ade041c..0e58303 100644
--- a/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotMutationPolicySamples.kt
+++ b/compose/runtime/runtime/samples/src/main/java/androidx/compose/runtime/samples/SnapshotMutationPolicySamples.kt
@@ -55,4 +55,4 @@
     }
 
     // State is now equals 30 as the changes made in the snapshots are added together.
-}
\ No newline at end of file
+}
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 937674e..2310b38 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
@@ -89,4 +89,4 @@
             snapshot.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/collection/SparseArrayImplTest.kt b/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/collection/SparseArrayImplTest.kt
index 89f3bd6..0c2b299 100644
--- a/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/collection/SparseArrayImplTest.kt
+++ b/compose/runtime/runtime/src/androidAndroidTest/kotlin/androidx/compose/runtime/collection/SparseArrayImplTest.kt
@@ -92,4 +92,4 @@
         }
         return subject to added
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ActualAndroid.android.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ActualAndroid.android.kt
index 26a2698..e712b4a 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ActualAndroid.android.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ActualAndroid.android.kt
@@ -112,4 +112,4 @@
 
 internal actual fun logError(message: String, e: Throwable) {
     Log.e(LogTag, message, e)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableDoubleState.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableDoubleState.kt
index 6ef9807..e6e3418 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableDoubleState.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableDoubleState.kt
@@ -47,4 +47,4 @@
                 arrayOfNulls<ParcelableSnapshotMutableDoubleState>(size)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableFloatState.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableFloatState.kt
index 8eef327..202d1cb 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableFloatState.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableFloatState.kt
@@ -47,4 +47,4 @@
                 arrayOfNulls<ParcelableSnapshotMutableFloatState>(size)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableIntState.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableIntState.kt
index 28571af..8a59099 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableIntState.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableIntState.kt
@@ -47,4 +47,4 @@
                 arrayOfNulls<ParcelableSnapshotMutableIntState>(size)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableLongState.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableLongState.kt
index f5130b6..6343b37 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableLongState.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/ParcelableSnapshotMutableLongState.kt
@@ -47,4 +47,4 @@
                 arrayOfNulls<ParcelableSnapshotMutableLongState>(size)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.android.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.android.kt
index c8bd256..c8d1d7d 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.android.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.android.kt
@@ -63,4 +63,4 @@
 }
 
 // filename is not allowed if only a class is declared
-private val allowFilename = 0
\ No newline at end of file
+private val allowFilename = 0
diff --git a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.android.kt b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.android.kt
index 61845d3..211f48e 100644
--- a/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.android.kt
+++ b/compose/runtime/runtime/src/androidMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.android.kt
@@ -50,4 +50,4 @@
         this == other
     } else {
         !this.isNan && !other.isNan && this == other
-    }
\ No newline at end of file
+    }
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Applier.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Applier.kt
index 8cff96a..762d8f1 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Applier.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Applier.kt
@@ -285,4 +285,4 @@
     override fun clear() {
         runtimeCheck(false) { "Clear is not valid on OffsetApplier" }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BitwiseOperators.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BitwiseOperators.kt
index 9d4a71a..46615a3 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BitwiseOperators.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/BitwiseOperators.kt
@@ -23,4 +23,4 @@
 
 // NOTE: rotateLeft, marked @ExperimentalStdlibApi is also marked inline-only,
 // which makes this usage stable.
-internal inline infix fun Int.rol(other: Int) = this.rotateLeft(other)
\ No newline at end of file
+internal inline infix fun Int.rol(other: Int) = this.rotateLeft(other)
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeCompilerApi.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeCompilerApi.kt
index 6a38d9d..d8a75a1 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeCompilerApi.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeCompilerApi.kt
@@ -22,4 +22,4 @@
     AnnotationTarget.PROPERTY,
     AnnotationTarget.TYPEALIAS
 )
-annotation class ComposeCompilerApi
\ No newline at end of file
+annotation class ComposeCompilerApi
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composition.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composition.kt
index bdf21bb..d23bc2c 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composition.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composition.kt
@@ -1342,4 +1342,4 @@
 internal class CompositionObserverHolder(
     var observer: CompositionObserver? = null,
     var root: Boolean = false,
-)
\ No newline at end of file
+)
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/CompositionObserver.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/CompositionObserver.kt
index ad32ecd..470d3c6 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/CompositionObserver.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/CompositionObserver.kt
@@ -97,4 +97,4 @@
      * Unregister the observer.
      */
     fun dispose()
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Expect.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Expect.kt
index 19759e77..5c4170f 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Expect.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Expect.kt
@@ -130,4 +130,4 @@
     snapshot: Snapshot
 ) : SnapshotContextElement
 
-internal expect fun logError(message: String, e: Throwable)
\ No newline at end of file
+internal expect fun logError(message: String, e: Throwable)
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExperimentalComposeApi.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExperimentalComposeApi.kt
index 1bfbd64..3b3242f 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExperimentalComposeApi.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExperimentalComposeApi.kt
@@ -28,4 +28,4 @@
     AnnotationTarget.PROPERTY_GETTER
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalComposeApi
\ No newline at end of file
+annotation class ExperimentalComposeApi
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExplicitGroupsComposable.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExplicitGroupsComposable.kt
index cf356a7..db2bddf 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExplicitGroupsComposable.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ExplicitGroupsComposable.kt
@@ -32,4 +32,4 @@
     AnnotationTarget.FUNCTION,
     AnnotationTarget.PROPERTY_GETTER
 )
-annotation class ExplicitGroupsComposable
\ No newline at end of file
+annotation class ExplicitGroupsComposable
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Immutable.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Immutable.kt
index f85bdd1..1938b4a 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Immutable.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Immutable.kt
@@ -42,4 +42,4 @@
 @Target(AnnotationTarget.CLASS)
 @Retention(AnnotationRetention.BINARY)
 @StableMarker
-annotation class Immutable
\ No newline at end of file
+annotation class Immutable
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeApi.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeApi.kt
index c964187..928e1ee 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeApi.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeApi.kt
@@ -27,4 +27,4 @@
     AnnotationTarget.PROPERTY
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class InternalComposeApi
\ No newline at end of file
+annotation class InternalComposeApi
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeTracingApi.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeTracingApi.kt
index b2e5633..c80a2d3 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeTracingApi.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/InternalComposeTracingApi.kt
@@ -21,4 +21,4 @@
     message = "This is internal API that may change frequently and without warning."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class InternalComposeTracingApi
\ No newline at end of file
+annotation class InternalComposeTracingApi
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 8bb366f..85fe672 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
@@ -87,4 +87,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MovableContent.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MovableContent.kt
index 2f83a84..11e33b8 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MovableContent.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/MovableContent.kt
@@ -260,4 +260,4 @@
 }
 
 // An arbitrary key created randomly. This key is used for the group containing the movable content
-internal const val movableContentKey = 0x078cc281
\ No newline at end of file
+internal const val movableContentKey = 0x078cc281
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NoLiveLiterals.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NoLiveLiterals.kt
index e5b1846..7bb2370 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NoLiveLiterals.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NoLiveLiterals.kt
@@ -28,4 +28,4 @@
     AnnotationTarget.FILE
 )
 @Retention(AnnotationRetention.SOURCE)
-annotation class NoLiveLiterals
\ No newline at end of file
+annotation class NoLiveLiterals
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NonRestartableComposable.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NonRestartableComposable.kt
index 6003162..9bfd087 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NonRestartableComposable.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/NonRestartableComposable.kt
@@ -27,4 +27,4 @@
     AnnotationTarget.FUNCTION,
     AnnotationTarget.PROPERTY_GETTER
 )
-annotation class NonRestartableComposable
\ No newline at end of file
+annotation class NonRestartableComposable
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ReadOnlyComposable.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ReadOnlyComposable.kt
index e0d3685..e8191a7 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ReadOnlyComposable.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ReadOnlyComposable.kt
@@ -34,4 +34,4 @@
     AnnotationTarget.FUNCTION,
     AnnotationTarget.PROPERTY_GETTER
 )
-annotation class ReadOnlyComposable
\ No newline at end of file
+annotation class ReadOnlyComposable
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
index e16cdd8..a25479b 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
@@ -1527,4 +1527,4 @@
             if (list.isEmpty())
                 remove(key)
         }
-    }
\ No newline at end of file
+    }
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/RememberObserver.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/RememberObserver.kt
index f18ff31..3969761 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/RememberObserver.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/RememberObserver.kt
@@ -65,4 +65,4 @@
      * remembered by a composition.
      */
     fun onAbandoned()
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SlotTable.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SlotTable.kt
index 5f56791..32a9f5c 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SlotTable.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SlotTable.kt
@@ -3477,4 +3477,4 @@
             check(right >= size || list[index] >= list[right])
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SnapshotStateExtensions.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SnapshotStateExtensions.kt
index da0aa7d..f9676e3 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SnapshotStateExtensions.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/SnapshotStateExtensions.kt
@@ -118,4 +118,4 @@
         get() = baseState.value
 
     override fun toString(): String = "UnboxedDoubleState(baseState=$baseState)@${hashCode()}"
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/StableMarker.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/StableMarker.kt
index 54797d7..71e78f9 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/StableMarker.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/StableMarker.kt
@@ -46,4 +46,4 @@
 @MustBeDocumented
 @Target(AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS)
 @Retention(AnnotationRetention.BINARY)
-annotation class StableMarker
\ No newline at end of file
+annotation class StableMarker
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ChangeList.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ChangeList.kt
index e594c86..a539add 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ChangeList.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ChangeList.kt
@@ -297,4 +297,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ComposerChangeListWriter.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ComposerChangeListWriter.kt
index 60a5ec8..426d5d9 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ComposerChangeListWriter.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/ComposerChangeListWriter.kt
@@ -456,4 +456,4 @@
     companion object {
         private const val invalidGroupLocation = -2
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/FixupList.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/FixupList.kt
index 466734f..ef67a76 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/FixupList.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/FixupList.kt
@@ -87,4 +87,4 @@
             if (isNotEmpty()) append(":\n${operations.toDebugString(linePrefix)}")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/IntRef.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/IntRef.kt
index dc0d4ae..2c3ba6f 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/IntRef.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/IntRef.kt
@@ -20,4 +20,4 @@
     var element: Int = 0
 ) {
     override fun toString() = "IntRef(element = $element)@${hashCode().toString(16)}"
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/OperationArgContainer.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/OperationArgContainer.kt
index efe1864..ff4a320 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/OperationArgContainer.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/OperationArgContainer.kt
@@ -29,4 +29,4 @@
      * Returns the assigned value of [parameter] for the current operation.
      */
     fun <T> getObject(parameter: Operation.ObjectParameter<T>): T
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/Operations.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/Operations.kt
index 95823fb..50bef0d 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/Operations.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/changelist/Operations.kt
@@ -469,4 +469,4 @@
 
 internal sealed interface OperationsDebugStringFormattable {
     fun toDebugString(linePrefix: String = "  "): String
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMap.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMap.kt
index 69e32d6..f1f4022 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMap.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMap.kt
@@ -238,4 +238,4 @@
         // We should insert at the end
         return -(size + 1)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayMap.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayMap.kt
index 5328b4d..565eb30 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayMap.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArrayMap.kt
@@ -294,4 +294,4 @@
         override fun containsKey(key: Key): Boolean =
             this@IdentityArrayMap[key] != null
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArraySet.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArraySet.kt
index c5347c7..415a611 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArraySet.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArraySet.kt
@@ -398,4 +398,4 @@
     } else {
         forEach(block)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityScopeMap.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityScopeMap.kt
index d683a23..3ee5190 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityScopeMap.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityScopeMap.kt
@@ -328,4 +328,4 @@
         // We should insert at the end
         return -(size + 1)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IntMap.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IntMap.kt
index c53ec51..7097c8a 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IntMap.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IntMap.kt
@@ -56,4 +56,4 @@
      * Current count of key value pairs.
      */
     val size: Int
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/Decoy.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/Decoy.kt
index d93794f..28add91 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/Decoy.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/Decoy.kt
@@ -68,4 +68,4 @@
 @Suppress("unused")
 @ExperimentalComposeApi
 @Target(AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR)
-internal annotation class DecoyImplementationDefaultsBitMask(val bitMask: Int)
\ No newline at end of file
+internal annotation class DecoyImplementationDefaultsBitMask(val bitMask: Int)
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.kt
index 0404016..e1894f9 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.kt
@@ -42,4 +42,4 @@
  *
  * See [issue 281205384](b/281205384).
  */
-internal expect inline fun Double.equalsWithNanFix(other: Double): Boolean
\ No newline at end of file
+internal expect inline fun Double.equalsWithNanFix(other: Double): Boolean
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.kt
index d08cad5..d08cb28 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.runtime.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/LiveLiteral.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/LiveLiteral.kt
index 0a334de..07285b5 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/LiveLiteral.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/internal/LiveLiteral.kt
@@ -96,4 +96,4 @@
     if (needToUpdate) {
         stateObj.value = value
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap.kt
index 12241e4..78d7def 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeap.kt
@@ -207,4 +207,4 @@
     }
 }
 
-private const val INITIAL_CAPACITY = 16
\ No newline at end of file
+private const val INITIAL_CAPACITY = 16
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSet.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSet.kt
index c3ffa55..56bbaee 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSet.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSet.kt
@@ -239,4 +239,4 @@
 
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/StateFactoryMarker.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/StateFactoryMarker.kt
index 7555423..3928568 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/StateFactoryMarker.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/StateFactoryMarker.kt
@@ -26,4 +26,4 @@
 @MustBeDocumented
 @Target(AnnotationTarget.FUNCTION)
 @Retention(AnnotationRetention.BINARY)
-annotation class StateFactoryMarker
\ No newline at end of file
+annotation class StateFactoryMarker
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTestExtensions.kt b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTestExtensions.kt
index b21ab37..bf4fe5d 100644
--- a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTestExtensions.kt
+++ b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTestExtensions.kt
@@ -24,4 +24,4 @@
 
 @TestOnly
 fun Composer.getInsertTableSlots(): Iterable<Any?> =
-    (this as ComposerImpl).insertTable.slots.asIterable()
\ No newline at end of file
+    (this as ComposerImpl).insertTable.slots.asIterable()
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/OperationsTest.kt b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/OperationsTest.kt
index 12e524b..ff70c28 100644
--- a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/OperationsTest.kt
+++ b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/OperationsTest.kt
@@ -672,4 +672,4 @@
         property.isAccessible = true
         return property.get(this)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/TestOperations.kt b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/TestOperations.kt
index 2d53533..ee4e33f 100644
--- a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/TestOperations.kt
+++ b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/changelist/TestOperations.kt
@@ -30,4 +30,4 @@
     val ThreeObjectsOperation = TestOperation(objects = 3)
 
     val MixedOperation = TestOperation(ints = 2, objects = 2)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/internal/FloatingPointEqualityTest.kt b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/internal/FloatingPointEqualityTest.kt
index 978dd87..c943082 100644
--- a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/internal/FloatingPointEqualityTest.kt
+++ b/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/internal/FloatingPointEqualityTest.kt
@@ -175,4 +175,4 @@
 
     private val Double.Companion.NegativeZero: Float
         get() = Float.fromBits(0b1 shl 63)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/kotlinx/test/IgnoreJsTarget.kt b/compose/runtime/runtime/src/commonTest/kotlin/kotlinx/test/IgnoreJsTarget.kt
index 7745f77..31e55dd 100644
--- a/compose/runtime/runtime/src/commonTest/kotlin/kotlinx/test/IgnoreJsTarget.kt
+++ b/compose/runtime/runtime/src/commonTest/kotlin/kotlinx/test/IgnoreJsTarget.kt
@@ -15,4 +15,4 @@
  */
 package kotlinx.test
 
-expect annotation class IgnoreJsTarget
\ No newline at end of file
+expect annotation class IgnoreJsTarget
diff --git a/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/ActualDesktop.desktop.kt b/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/ActualDesktop.desktop.kt
index a4c7120..6594283 100644
--- a/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/ActualDesktop.desktop.kt
+++ b/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/ActualDesktop.desktop.kt
@@ -101,4 +101,4 @@
 internal actual fun logError(message: String, e: Throwable) {
     System.err.println(message)
     e.printStackTrace(System.err)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.desktop.kt b/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.desktop.kt
index 5b2d961..36eb726e 100644
--- a/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.desktop.kt
+++ b/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/collection/ActualIntMap.desktop.kt
@@ -150,4 +150,4 @@
     result[index] = value
     System.arraycopy(this, index, result, index + 1, size - index)
     return result
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.desktop.kt b/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.desktop.kt
index be9c52f..aac6b0e 100644
--- a/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.desktop.kt
+++ b/compose/runtime/runtime/src/desktopMain/kotlin/androidx/compose/runtime/internal/FloatingPointEquality.desktop.kt
@@ -20,4 +20,4 @@
 internal actual inline fun Float.equalsWithNanFix(other: Float): Boolean = (this == other)
 
 @Suppress("NOTHING_TO_INLINE")
-internal actual inline fun Double.equalsWithNanFix(other: Double): Boolean = (this == other)
\ No newline at end of file
+internal actual inline fun Double.equalsWithNanFix(other: Double): Boolean = (this == other)
diff --git a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/ActualJvm.jvm.kt b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/ActualJvm.jvm.kt
index acafe13..e73fbb9 100644
--- a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/ActualJvm.jvm.kt
+++ b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/ActualJvm.jvm.kt
@@ -116,4 +116,4 @@
     override fun restoreThreadContext(context: CoroutineContext, oldState: Snapshot?) {
         snapshot.unsafeLeave(oldState)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.jvm.kt
index 7baefab..c474d37 100644
--- a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.runtime.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/ThreadMap.kt b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/ThreadMap.kt
index d4645eb..3721928 100644
--- a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/ThreadMap.kt
+++ b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/internal/ThreadMap.kt
@@ -108,4 +108,4 @@
     }
 }
 
-internal val emptyThreadMap = ThreadMap(0, LongArray(0), emptyArray())
\ No newline at end of file
+internal val emptyThreadMap = ThreadMap(0, LongArray(0), emptyArray())
diff --git a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/reflect/ComposableMethod.kt b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/reflect/ComposableMethod.kt
index 51c93dc..dadbf04 100644
--- a/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/reflect/ComposableMethod.kt
+++ b/compose/runtime/runtime/src/jvmMain/kotlin/androidx/compose/runtime/reflect/ComposableMethod.kt
@@ -216,4 +216,4 @@
     } ?: throw NoSuchMethodException("$name.$methodName")
 
     return method.asComposableMethod()!!
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/changelist/OperationDefinitionValidationTest.kt b/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/changelist/OperationDefinitionValidationTest.kt
index 74af930..6a6025c 100644
--- a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/changelist/OperationDefinitionValidationTest.kt
+++ b/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/changelist/OperationDefinitionValidationTest.kt
@@ -153,4 +153,4 @@
 
         return errors
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/kotlinx/test/IgnoreJsTarget.jvm.kt b/compose/runtime/runtime/src/jvmTest/kotlin/kotlinx/test/IgnoreJsTarget.jvm.kt
index a14cf3f..bebc8a3 100644
--- a/compose/runtime/runtime/src/jvmTest/kotlin/kotlinx/test/IgnoreJsTarget.jvm.kt
+++ b/compose/runtime/runtime/src/jvmTest/kotlin/kotlinx/test/IgnoreJsTarget.jvm.kt
@@ -18,4 +18,4 @@
 
 annotation class DoNothing
 
-actual typealias IgnoreJsTarget = DoNothing
\ No newline at end of file
+actual typealias IgnoreJsTarget = DoNothing
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 a0f493d..4a3aafd 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
@@ -75,4 +75,4 @@
         val lateAwaiter = async { clock.withFrameNanos { it } }
         assertAwaiterCancelled("lateAwaiter", lateAwaiter)
     }
-}
\ No newline at end of file
+}
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 2dc9e36..1289e49 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
@@ -694,4 +694,4 @@
 }
 
 data class SomeData(val value: String = "default")
-@Stable class StableRef<T>(var value: T)
\ No newline at end of file
+@Stable class StableRef<T>(var value: T)
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionObserverTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionObserverTests.kt
index b864ece8..e625a04 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionObserverTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionObserverTests.kt
@@ -558,4 +558,4 @@
         changes(1, 2, 3)
         changes(0, 1, 2, 3)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt
index 9912d15..74a4dd6 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt
@@ -816,4 +816,4 @@
         if (found != null) return found
     }
     return null
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionTests.kt
index 6e25f8d..f33bb2b 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionTests.kt
@@ -4189,4 +4189,4 @@
     itemRenderer(viewItem)
 }
 
-data class ListViewItem(val id: Int)
\ No newline at end of file
+data class ListViewItem(val id: Int)
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/EffectsTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/EffectsTests.kt
index 38b7cec..a92cdc3 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/EffectsTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/EffectsTests.kt
@@ -723,4 +723,4 @@
     fun recompose() { count.value += 1 }
 }
 
-fun use(@Suppress("UNUSED_PARAMETER") value: Any) { }
\ No newline at end of file
+fun use(@Suppress("UNUSED_PARAMETER") value: Any) { }
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt
index 42de67c..b121e62 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt
@@ -225,4 +225,4 @@
         expectChanges()
         validate()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt
index 012f6ee..119889b 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt
@@ -224,4 +224,4 @@
 @Stable
 class StableCounter(var count: Int = 0)
 
-data class Phone(val area: String, val prefix: String, val number: String)
\ No newline at end of file
+data class Phone(val area: String, val prefix: String, val number: String)
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt
index d6505b04..333289b 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt
@@ -4279,4 +4279,4 @@
         exceptionThrown,
         "Expected test to throw an exception containing \"$message\""
     )
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt
index f5b6b72..21e4f21 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt
@@ -62,4 +62,4 @@
         val result = updateChangedFlags(flags)
         assertEquals(flags, result)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt
index 992f6a2..95bbc05 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt
@@ -124,4 +124,4 @@
             assertEquals(keys.indexOf(key), value)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt
index 9e9cca7..705cc6b 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt
@@ -501,4 +501,4 @@
         }
         assertFalse(mapInterface.containsKey(keys[count]))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
index 617e518..f9e614a 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
@@ -241,4 +241,4 @@
     }
 
     data class Stuff(val item: Int)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
index b930a35..01ef6a8 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
@@ -181,4 +181,4 @@
 
     data class Scope(val item: Int)
     data class Value(val s: String)
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt
index cfa0614..613954f 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt
@@ -104,4 +104,4 @@
         val hasNext = next()
         assertEquals(true, hasNext)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Report.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Report.kt
index 3d88290..a74e777 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Report.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Report.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.runtime.mock
 
-data class Report(var from: String, var to: String)
\ No newline at end of file
+data class Report(var from: String, var to: String)
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/View.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/View.kt
index 2794899..886f7b3 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/View.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/View.kt
@@ -140,4 +140,4 @@
     fun findFirst(predicate: (view: View) -> Boolean) =
         findFirstOrNull(predicate) ?: error("View not found")
 }
-fun View.flatten(): List<View> = listOf(this) + children.flatMap { it.flatten() }
\ No newline at end of file
+fun View.flatten(): List<View> = listOf(this) + children.flatMap { it.flatten() }
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 8babf4b..9afeeef 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
@@ -144,4 +144,4 @@
     } else {
         content()
     }
-}
\ No newline at end of file
+}
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 0100bb8..f8a59eb 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
@@ -294,4 +294,4 @@
     fun validateOpenSnapshots() {
         assertEquals(count, openSnapshotCount())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt
index 9fb0d40..2cf4e88 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt
@@ -141,4 +141,4 @@
             override fun toString(): String = clazz.simpleName
         }
     }
-}
\ No newline at end of file
+}
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 58cdedd..7281f11 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
@@ -64,4 +64,4 @@
             snapshotTwo.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt
index 03590c9..8ac3ebe 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt
@@ -78,4 +78,4 @@
             assertEquals(lowestAdded, heap.lowestOrDefault(400))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt
index d2b2cf3..636b7f5 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt
@@ -241,4 +241,4 @@
             .runningFold(emptyList<T>()) { acc, value -> acc + value }
             .stateIn(CoroutineScope(currentCoroutineContext() + coroutineContext))
     }
-}
\ No newline at end of file
+}
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 dab7a74..8cd5fb0 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
@@ -672,4 +672,4 @@
     private fun defaultMap() = mutableStateMapOf(
         1 to 1f, 2 to 2f, 3 to 3f, 4 to 4f, 5 to 1f, 6 to 2f, 7 to 3f, 8 to 4f
     )
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt
index 4727b4a..97209ca 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt
@@ -84,4 +84,4 @@
     }
 
     private fun <T : Any> assertValidSet(set: SnapshotWeakSet<T>) = assertTrue(set.isValid())
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt
index bd2a660..841b436 100644
--- a/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt
@@ -250,4 +250,4 @@
         val identity = slots.compositionGroups.first().compositionGroups.drop(5).first().identity
         assertEquals(identity, slots.find(identity!!)?.identity)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt
index 08334e85..2d903c6 100644
--- a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt
+++ b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt
@@ -668,4 +668,4 @@
         assertEquals("abcde", resABCDE)
         assertEquals("abada", resABADA)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt
index da4987d..f12ce1e 100644
--- a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt
+++ b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt
@@ -75,4 +75,4 @@
         exception.get()?.let { throw it }
         assertNull(exception.get())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt
index a50c9a8..9cb0d14 100644
--- a/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt
+++ b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt
@@ -159,4 +159,4 @@
         local.set(100)
         assertEquals(100, local.get())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseRunner.android.kt b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseRunner.android.kt
index 8db9eec..4dbe7d39 100644
--- a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseRunner.android.kt
+++ b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseRunner.android.kt
@@ -391,4 +391,4 @@
     fun createBitmap(picture: Picture): Bitmap {
         return Bitmap.createBitmap(picture)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseSetup.android.kt b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseSetup.android.kt
index 079f6260..02f398a 100644
--- a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseSetup.android.kt
+++ b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/AndroidComposeTestCaseSetup.android.kt
@@ -43,4 +43,4 @@
         latch.await()
         error?.let { throw it }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ImageAssertions.android.kt b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ImageAssertions.android.kt
index daab5bab..8eeea13 100644
--- a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ImageAssertions.android.kt
+++ b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ImageAssertions.android.kt
@@ -327,4 +327,4 @@
         else -> offset.y
     }
     return Offset(x, y)
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ScreenshotTestsUtils.android.kt b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ScreenshotTestsUtils.android.kt
index 79dc916..0b410bd 100644
--- a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ScreenshotTestsUtils.android.kt
+++ b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/ScreenshotTestsUtils.android.kt
@@ -39,4 +39,4 @@
     rule: ScreenshotTestRule,
     goldenIdentifier: String,
     matcher: BitmapMatcher = MSSIMMatcher()
-) = asAndroidBitmap().assertAgainstGolden(rule, goldenIdentifier, matcher)
\ No newline at end of file
+) = asAndroidBitmap().assertAgainstGolden(rule, goldenIdentifier, matcher)
diff --git a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/TestRuleExtensions.android.kt b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/TestRuleExtensions.android.kt
index fd70854..4164cfa 100644
--- a/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/TestRuleExtensions.android.kt
+++ b/compose/test-utils/src/androidMain/kotlin/androidx/compose/testutils/TestRuleExtensions.android.kt
@@ -40,4 +40,4 @@
         testCase,
         getActivity()
     )
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeBenchmarkScope.kt b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeBenchmarkScope.kt
index 1c765e5..ae93c386 100644
--- a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeBenchmarkScope.kt
+++ b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeBenchmarkScope.kt
@@ -102,4 +102,4 @@
 fun <T> ComposeBenchmarkScope<T>.setupContent() {
     createTestCase()
     emitContent()
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeExecutionControl.kt b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeExecutionControl.kt
index 2e04559..3d67155 100644
--- a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeExecutionControl.kt
+++ b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeExecutionControl.kt
@@ -233,4 +233,4 @@
         "Changes are still pending after '$maxAmountOfFrames' " +
             "frames."
     )
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeTestCase.kt b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeTestCase.kt
index 5d5e032..5278479 100644
--- a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeTestCase.kt
+++ b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ComposeTestCase.kt
@@ -77,4 +77,4 @@
     open fun ContentWrappers(content: @Composable () -> Unit) {
         content()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/DpAssertions.kt b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/DpAssertions.kt
index 035441c..4d0c93a 100644
--- a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/DpAssertions.kt
+++ b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/DpAssertions.kt
@@ -67,4 +67,4 @@
                 "tolerance of $tolerance"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ToggleableTestCase.kt b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ToggleableTestCase.kt
index 9e5dc7d..fa524f1 100644
--- a/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ToggleableTestCase.kt
+++ b/compose/test-utils/src/commonMain/kotlin/androidx/compose/testutils/ToggleableTestCase.kt
@@ -23,4 +23,4 @@
  */
 interface ToggleableTestCase {
     fun toggleState()
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/test/kotlin/androidx/compose/testutils/DpAssertionsTest.kt b/compose/test-utils/src/test/kotlin/androidx/compose/testutils/DpAssertionsTest.kt
index 6ec0019..dc6ab69 100644
--- a/compose/test-utils/src/test/kotlin/androidx/compose/testutils/DpAssertionsTest.kt
+++ b/compose/test-utils/src/test/kotlin/androidx/compose/testutils/DpAssertionsTest.kt
@@ -50,4 +50,4 @@
             5.dp.assertIsNotEqualTo(5.4.dp)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/test-utils/src/test/kotlin/androidx/compose/testutils/ExpectTest.kt b/compose/test-utils/src/test/kotlin/androidx/compose/testutils/ExpectTest.kt
index 93d3316..01564423 100644
--- a/compose/test-utils/src/test/kotlin/androidx/compose/testutils/ExpectTest.kt
+++ b/compose/test-utils/src/test/kotlin/androidx/compose/testutils/ExpectTest.kt
@@ -127,4 +127,4 @@
         }
         throw AssertionError("Expected an AssertionError, but it wasn't thrown")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/MutableRect.kt b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/MutableRect.kt
index 1e2d5b1..747c516f 100644
--- a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/MutableRect.kt
+++ b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/MutableRect.kt
@@ -98,4 +98,4 @@
         "${bottom.toStringAsFixed(1)})"
 }
 
-fun MutableRect.toRect(): Rect = Rect(left, top, right, bottom)
\ No newline at end of file
+fun MutableRect.toRect(): Rect = Rect(left, top, right, bottom)
diff --git a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Rect.kt b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Rect.kt
index b7f3ebb..29af5fe 100644
--- a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Rect.kt
+++ b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Rect.kt
@@ -340,4 +340,4 @@
         lerp(start.right, stop.right, fraction),
         lerp(start.bottom, stop.bottom, fraction)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt
index 7f17248..3063bc1 100644
--- a/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt
+++ b/compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/Size.kt
@@ -222,4 +222,4 @@
  * with this [Size].
  */
 @Stable
-val Size.center: Offset get() = Offset(width / 2f, height / 2f)
\ No newline at end of file
+val Size.center: Offset get() = Offset(width / 2f, height / 2f)
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/CornerRadiusTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/CornerRadiusTest.kt
index 857370c..6726b83 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/CornerRadiusTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/CornerRadiusTest.kt
@@ -53,4 +53,4 @@
         assertEquals(17f, x)
         assertEquals(42f, y)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/GeometryUtilsTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/GeometryUtilsTest.kt
index 90f2ef39..4776374 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/GeometryUtilsTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/GeometryUtilsTest.kt
@@ -53,4 +53,4 @@
     fun testRoundDownToNearestInt() {
         assertEquals("0", 0.49f.toStringAsFixed(0))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/MutableRectTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/MutableRectTest.kt
index ce9a9c9..e4531a7 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/MutableRectTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/MutableRectTest.kt
@@ -91,4 +91,4 @@
         assertEquals(20f, r.right, 0f)
         assertEquals(6f, r.bottom, 0f)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt
index f63483a..75991f7 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/OffsetTest.kt
@@ -122,4 +122,4 @@
     fun testUnspecifiedOffsetToString() {
         assertEquals("Offset.Unspecified", Offset.Unspecified.toString())
     }
-}
\ No newline at end of file
+}
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 a911875..554987c 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
@@ -264,4 +264,4 @@
 
         assertEquals(Rect(25f, 25f, 150f, 150f), lerp(rect1, rect2, 0.5f))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt
index d610346..01d8f1d 100644
--- a/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt
+++ b/compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/SizeTest.kt
@@ -171,4 +171,4 @@
     fun testSpecifiedSizeToString() {
         Assert.assertEquals("Size(10.0, 20.0)", Size(10f, 20f).toString())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/benchmark/src/androidTest/java/androidx/compose/ui/graphics/benchmark/VectorBenchmark.kt b/compose/ui/ui-graphics/benchmark/src/androidTest/java/androidx/compose/ui/graphics/benchmark/VectorBenchmark.kt
index 0938440..3ad349a 100644
--- a/compose/ui/ui-graphics/benchmark/src/androidTest/java/androidx/compose/ui/graphics/benchmark/VectorBenchmark.kt
+++ b/compose/ui/ui-graphics/benchmark/src/androidTest/java/androidx/compose/ui/graphics/benchmark/VectorBenchmark.kt
@@ -76,4 +76,4 @@
     fun programmatic_draw() {
         benchmarkRule.benchmarkFirstDraw { ProgrammaticVectorTestCase() }
     }
-}
\ No newline at end of file
+}
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 331886e..6292556 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
@@ -167,4 +167,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/BrushSamples.kt b/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/BrushSamples.kt
index b825b33..c09b30a 100644
--- a/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/BrushSamples.kt
+++ b/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/BrushSamples.kt
@@ -163,4 +163,4 @@
         listOf(Color.Red, Color.Green, Color.Blue),
         center = Offset(10.0f, 20.0f)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/DrawScopeSample.kt b/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/DrawScopeSample.kt
index 9e4f005..753f176 100644
--- a/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/DrawScopeSample.kt
+++ b/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/DrawScopeSample.kt
@@ -136,4 +136,4 @@
                 drawIntoCanvas { canvas -> canvas.nativeCanvas.drawPicture(picture) }
             }
         })
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/PathEffectSample.kt b/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/PathEffectSample.kt
index b25f41e..4d96fc6 100644
--- a/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/PathEffectSample.kt
+++ b/compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/PathEffectSample.kt
@@ -103,4 +103,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 25472a9..92b82f6 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
@@ -447,4 +447,4 @@
         Saturation,
         Color,
         Luminosity
-    )
\ No newline at end of file
+    )
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 d849eb1..b123f45 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
@@ -639,4 +639,4 @@
             drawLatch.countDown()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidColorSpaceTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidColorSpaceTest.kt
index ca5301a..40802bc 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidColorSpaceTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidColorSpaceTest.kt
@@ -287,4 +287,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidRenderEffectTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidRenderEffectTest.kt
index a7d2422b..666c823 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidRenderEffectTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/AndroidRenderEffectTest.kt
@@ -52,4 +52,4 @@
     fun testOffsetEffectNotSupported() {
         assertFalse(OffsetEffect(1f, 2f).isSupported())
     }
-}
\ No newline at end of file
+}
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 a08d3dd..51414ee 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
@@ -108,4 +108,4 @@
     fun testFrameworkTileModeDecalConversion() {
         assertEquals(TileMode.Decal, android.graphics.Shader.TileMode.DECAL.toComposeTileMode())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/GradientTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/GradientTest.kt
index 272424f..08dfe0f 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/GradientTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/GradientTest.kt
@@ -368,4 +368,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 0d59a3f..13a71a7 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
@@ -45,4 +45,4 @@
         assertFalse(image.hasAlpha)
         assertEquals(cs, image.colorSpace)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/OutlineTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/OutlineTest.kt
index d14fdaa..776c8d5 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/OutlineTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/OutlineTest.kt
@@ -55,4 +55,4 @@
         )
         assertEquals(Rect(0f, 15f, 100f, 200f), pathOutline.bounds)
     }
-}
\ No newline at end of file
+}
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 0ed17ef..8c2bab9 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
@@ -89,4 +89,4 @@
         composePaint.shader = shader
         assertSame(composePaint.shader, nativePaint.shader)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathMeasureTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathMeasureTest.kt
index 64a36aa..e657bea 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathMeasureTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathMeasureTest.kt
@@ -46,4 +46,4 @@
         Assert.assertEquals(0.707106f, tangent.x, 0.0001f)
         Assert.assertEquals(0.707106f, tangent.y, 0.0001f)
     }
-}
\ No newline at end of file
+}
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 a51bfb3..1952be6 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
@@ -137,4 +137,4 @@
             super.reset()
         }
     }
-}
\ No newline at end of file
+}
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 f7cb47c..19f3fd1 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
@@ -92,4 +92,4 @@
         Assert.assertEquals(Color.Green, pixelmap[1, 1])
         Assert.assertEquals(Color.Yellow, pixelmap[2, 1])
     }
-}
\ No newline at end of file
+}
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 1386ef1..7e5437e 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
@@ -255,4 +255,4 @@
         Size(width.toFloat(), height.toFloat()),
         block
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/TestActivity.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/TestActivity.kt
index 144d4bd..8a439ac 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/TestActivity.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/TestActivity.kt
@@ -28,4 +28,4 @@
             hasFocusLatch.countDown()
         }
     }
-}
\ No newline at end of file
+}
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 ca0a142..4bf380b 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
@@ -337,4 +337,4 @@
             canvas.saveLayer(bounds, paint)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BrushPainterTest.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BrushPainterTest.kt
index aed63bc..55036a7 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BrushPainterTest.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/BrushPainterTest.kt
@@ -180,4 +180,4 @@
         )
         assertEquals(Size(0.0f, 100f), BrushPainter(brush).intrinsicSize)
     }
-}
\ No newline at end of file
+}
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 ebd4c8e..66ce5e1 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
@@ -220,4 +220,4 @@
         )
         assertEquals(Color.Blue, image.toPixelMap()[50, 50])
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTestHelper.kt b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTestHelper.kt
index 687792c..b940919 100644
--- a/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTestHelper.kt
+++ b/compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/painter/PainterTestHelper.kt
@@ -40,4 +40,4 @@
             draw(size, alpha = alpha, colorFilter = colorFilter)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidColorSpace.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidColorSpace.android.kt
index 37086be..6ce4ba6 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidColorSpace.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidColorSpace.android.kt
@@ -188,4 +188,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidImageBitmap.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidImageBitmap.android.kt
index 93d2f9c..d4d66bf 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidImageBitmap.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidImageBitmap.android.kt
@@ -209,4 +209,4 @@
     @JvmStatic
     internal fun Bitmap.composeColorSpace() =
         colorSpace?.toComposeColorSpace() ?: ColorSpaces.Srgb
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPaint.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPaint.android.kt
index 2f76400..7d50ef1 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPaint.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPaint.android.kt
@@ -267,4 +267,4 @@
     fun setBlendMode(paint: NativePaint, mode: BlendMode) {
         paint.blendMode = mode.toAndroidBlendMode()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPathEffect.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPathEffect.android.kt
index 70ab861..d1c062e 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPathEffect.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPathEffect.android.kt
@@ -63,4 +63,4 @@
         StampedPathEffectStyle.Rotate -> PathDashPathEffect.Style.ROTATE
         StampedPathEffectStyle.Translate -> PathDashPathEffect.Style.TRANSLATE
         else -> PathDashPathEffect.Style.TRANSLATE
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidShader.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidShader.android.kt
index cac1f02..f90333b 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidShader.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidShader.android.kt
@@ -202,4 +202,4 @@
                 " equal length."
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidTileMode.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidTileMode.android.kt
index 256ac61..2ac1aa4 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidTileMode.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidTileMode.android.kt
@@ -67,4 +67,4 @@
 
     @DoNotInline
     fun getComposeTileModeDecal() = TileMode.Decal
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidVertexMode.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidVertexMode.android.kt
index d86c1b3..c8e779e 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidVertexMode.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidVertexMode.android.kt
@@ -21,4 +21,4 @@
     VertexMode.TriangleStrip -> android.graphics.Canvas.VertexMode.TRIANGLE_STRIP
     VertexMode.TriangleFan -> android.graphics.Canvas.VertexMode.TRIANGLE_FAN
     else -> android.graphics.Canvas.VertexMode.TRIANGLES
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/CanvasUtils.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/CanvasUtils.android.kt
index 3f3d9ac..bcb4623 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/CanvasUtils.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/CanvasUtils.android.kt
@@ -98,4 +98,4 @@
             canvas.disableZ()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/RectHelper.android.kt b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/RectHelper.android.kt
index 9537090..cc1160f 100644
--- a/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/RectHelper.android.kt
+++ b/compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/RectHelper.android.kt
@@ -76,4 +76,4 @@
  * specified in the given [android.graphics.Rect]
  */
 fun android.graphics.Rect.toComposeIntRect(): IntRect =
-    IntRect(left, top, right, bottom)
\ No newline at end of file
+    IntRect(left, top, right, bottom)
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/BlendMode.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/BlendMode.kt
index 9bee6bc..f18f1d4 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/BlendMode.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/BlendMode.kt
@@ -501,4 +501,4 @@
  * to be supported as it is the default drawing algorithm. If a [BlendMode] that is not supported
  * is used, the default of SrcOver is consumed instead.
  */
-expect fun BlendMode.isSupported(): Boolean
\ No newline at end of file
+expect fun BlendMode.isSupported(): Boolean
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Brush.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Brush.kt
index 5f7a1d0..f236731 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Brush.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Brush.kt
@@ -666,4 +666,4 @@
         if (p.shader != shader) p.shader = shader
         if (p.alpha != alpha) p.alpha = alpha
     }
-}
\ No newline at end of file
+}
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 64d8783..d327689 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
@@ -595,4 +595,4 @@
      * @see enableZ
      */
     fun disableZ()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt
index bf442bc..0ce5481 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt
@@ -669,4 +669,4 @@
      * Return the color
      */
     operator fun invoke(): Color
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorFilter.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorFilter.kt
index 6d45d4d..b615d1e 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorFilter.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorFilter.kt
@@ -72,4 +72,4 @@
 
 internal expect fun actualColorMatrixColorFilter(colorMatrix: ColorMatrix): ColorFilter
 
-internal expect fun actualLightingColorFilter(multiply: Color, add: Color): ColorFilter
\ No newline at end of file
+internal expect fun actualLightingColorFilter(multiply: Color, add: Color): ColorFilter
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorMatrix.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorMatrix.kt
index ceed6c4..bb9218b 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorMatrix.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ColorMatrix.kt
@@ -325,4 +325,4 @@
         this[2, 1] = 1.772f
         this[2, 2] = 0f
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Degrees.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Degrees.kt
index bf2f08d..a03da8f 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Degrees.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Degrees.kt
@@ -24,4 +24,4 @@
  * Converts [radians] to degrees.
  */
 @PublishedApi
-internal fun degrees(radians: Float): Float = RadiansToDegrees * radians
\ No newline at end of file
+internal fun degrees(radians: Float): Float = RadiansToDegrees * radians
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt
index 909c69d..68f132e 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is experimental and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalGraphicsApi
\ No newline at end of file
+annotation class ExperimentalGraphicsApi
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/FilterQuality.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/FilterQuality.kt
index 3c121d0..0329619 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/FilterQuality.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/FilterQuality.kt
@@ -61,4 +61,4 @@
         High -> "High"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Float16.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Float16.kt
index 7d57a93..03ae3d0 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Float16.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Float16.kt
@@ -735,4 +735,4 @@
         return Float16.NaN
     }
     return if (x >= y) x else y
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ImageBitmap.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ImageBitmap.kt
index 1990708..7ad7d5d 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ImageBitmap.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ImageBitmap.kt
@@ -258,4 +258,4 @@
     config,
     hasAlpha,
     colorSpace
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
index 23a0b022..b3079b7 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
@@ -437,4 +437,4 @@
         }
     }
     return true
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PaintingStyle.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PaintingStyle.kt
index 6a5e40d..20787937 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PaintingStyle.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PaintingStyle.kt
@@ -50,4 +50,4 @@
         Stroke -> "Stroke"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathEffect.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathEffect.kt
index 3002f19..c70d534 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathEffect.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathEffect.kt
@@ -140,4 +140,4 @@
         Morph -> "Morph"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathFillType.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathFillType.kt
index 8edcf83..495e199 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathFillType.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathFillType.kt
@@ -56,4 +56,4 @@
         EvenOdd -> "EvenOdd"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathOperation.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathOperation.kt
index 0cef450..3dde746 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathOperation.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PathOperation.kt
@@ -150,4 +150,4 @@
     )
 )
 val PathOperation.Companion.xor: PathOperation
-    get() = Xor
\ No newline at end of file
+    get() = Xor
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PixelMap.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PixelMap.kt
index 3f4d673..8212167 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PixelMap.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PixelMap.kt
@@ -51,4 +51,4 @@
         /*@IntRange(from = 0)*/
         y: Int
     ): Color = Color(buffer[bufferOffset + y * stride + x])
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PointMode.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PointMode.kt
index e7d5e4e..78d3d51 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PointMode.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/PointMode.kt
@@ -67,4 +67,4 @@
         Polygon -> "Polygon"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/RenderEffect.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/RenderEffect.kt
index 62b0c8f..30ebfe3 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/RenderEffect.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/RenderEffect.kt
@@ -77,4 +77,4 @@
 expect class OffsetEffect(
     renderEffect: RenderEffect?,
     offset: Offset
-) : RenderEffect
\ No newline at end of file
+) : RenderEffect
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shader.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shader.kt
index 85217ee..59fc72c 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shader.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shader.kt
@@ -127,4 +127,4 @@
     image: ImageBitmap,
     tileModeX: TileMode,
     tileModeY: TileMode
-): Shader
\ No newline at end of file
+): Shader
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shadow.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shadow.kt
index 296eb18..c628042 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shadow.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Shadow.kt
@@ -87,4 +87,4 @@
         lerp(start.offset, stop.offset, fraction),
         lerp(start.blurRadius, stop.blurRadius, fraction)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/StrokeJoin.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/StrokeJoin.kt
index 780239b..5eb6122 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/StrokeJoin.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/StrokeJoin.kt
@@ -52,4 +52,4 @@
         Bevel -> "Bevel"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/TileMode.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/TileMode.kt
index ead07c5..b6cbeaa 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/TileMode.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/TileMode.kt
@@ -89,4 +89,4 @@
  * and [TileMode.Mirror] are guaranteed to be supported. If a [TileMode] that is not supported is
  * used, the default of [TileMode.Clamp] is consumed instead.
  */
-expect fun TileMode.isSupported(): Boolean
\ No newline at end of file
+expect fun TileMode.isSupported(): Boolean
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/VertexMode.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/VertexMode.kt
index f49997d..6a3c3a4 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/VertexMode.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/VertexMode.kt
@@ -50,4 +50,4 @@
         TriangleFan -> "TriangleFan"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Vertices.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Vertices.kt
index d8f495cc..2938e56 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Vertices.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Vertices.kt
@@ -72,4 +72,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Adaptation.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Adaptation.kt
index fb26363..2c8bd5a 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Adaptation.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Adaptation.kt
@@ -85,4 +85,4 @@
             override fun toString() = "Ciecat02"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorModel.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorModel.kt
index 497b1d4..8e71d85 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorModel.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorModel.kt
@@ -86,4 +86,4 @@
         Cmyk -> "Cmyk"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpace.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpace.kt
index 1a70b69..a754e16 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpace.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpace.kt
@@ -793,4 +793,4 @@
     val LMS =
         floatArrayOf(dstLMS[0] / srcLMS[0], dstLMS[1] / srcLMS[1], dstLMS[2] / srcLMS[2])
     return mul3x3(inverse3x3(matrix), mul3x3Diag(LMS, matrix))
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpaces.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpaces.kt
index 6de2bd53..15c35b8 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpaces.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/ColorSpaces.kt
@@ -342,4 +342,4 @@
         Unspecified,
         Oklab
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Connector.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Connector.kt
index a0b1d63..dfe2401 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Connector.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Connector.kt
@@ -336,4 +336,4 @@
         internal val OklabToSrgbPerceptual =
             Connector(ColorSpaces.Oklab, ColorSpaces.Srgb, RenderIntent.Perceptual)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Illuminant.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Illuminant.kt
index ece22df..c644c9f 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Illuminant.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Illuminant.kt
@@ -77,4 +77,4 @@
     val E = WhitePoint(0.33333f, 0.33333f)
 
     internal val D50Xyz = floatArrayOf(0.964212f, 1.0f, 0.825188f)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/RenderIntent.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/RenderIntent.kt
index eac73ba..4ebb599 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/RenderIntent.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/RenderIntent.kt
@@ -74,4 +74,4 @@
         Absolute -> "Absolute"
         else -> "Unknown"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Rgb.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Rgb.kt
index 4ded76b..fb50d9a 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Rgb.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Rgb.kt
@@ -1393,4 +1393,4 @@
  */
 internal fun interface DoubleFunction {
     operator fun invoke(double: Double): Double
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/TransferParameters.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/TransferParameters.kt
index bba82bb..c20f30a 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/TransferParameters.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/TransferParameters.kt
@@ -96,4 +96,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Xyz.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Xyz.kt
index 44b7753..08a24df 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Xyz.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/colorspace/Xyz.kt
@@ -76,4 +76,4 @@
     private fun clamp(x: Float): Float {
         return x.coerceIn(-2f, 2f)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/CanvasDrawScope.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/CanvasDrawScope.kt
index 5367870..c3a722e 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/CanvasDrawScope.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/CanvasDrawScope.kt
@@ -803,4 +803,4 @@
     override fun transform(matrix: Matrix) {
         this@asDrawTransform.canvas.concat(matrix)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawContext.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawContext.kt
index baea999..1bad45c 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawContext.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawContext.kt
@@ -72,4 +72,4 @@
     var density: Density
         get() = DefaultDensity
         set(_) {}
-}
\ No newline at end of file
+}
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 5649083..7ef2dc3 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
@@ -1014,4 +1014,4 @@
     override fun toString(): String {
         return "Stroke(width=$width, miter=$miter, cap=$cap, join=$join, pathEffect=$pathEffect)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeMarker.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeMarker.kt
index 62c789f..6701060 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeMarker.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeMarker.kt
@@ -20,4 +20,4 @@
  * DSL marker used to distinguish between drawing operations and canvas transform operations
  */
 @DslMarker
-annotation class DrawScopeMarker
\ No newline at end of file
+annotation class DrawScopeMarker
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 0aedc6ff..18e2fdf 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
@@ -175,4 +175,4 @@
      * @param matrix transformation matrix used to transform the drawing environment
      */
     fun transform(matrix: Matrix)
-}
\ No newline at end of file
+}
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 a22662d..cdebed0 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
@@ -160,4 +160,4 @@
     override fun disableZ() {
         throw UnsupportedOperationException()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.kt
index 1fdfcc3..e6691cb 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.graphics.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BitmapPainter.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BitmapPainter.kt
index acbb7ca..68373e2 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BitmapPainter.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BitmapPainter.kt
@@ -155,4 +155,4 @@
         return "BitmapPainter(image=$image, srcOffset=$srcOffset, srcSize=$srcSize, " +
             "filterQuality=$filterQuality)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BrushPainter.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BrushPainter.kt
index cfd8419..9aeb295 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BrushPainter.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/BrushPainter.kt
@@ -65,4 +65,4 @@
     override fun toString(): String {
         return "BrushPainter(brush=$brush)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/ColorPainter.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/ColorPainter.kt
index 9572548..63bc727 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/ColorPainter.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/ColorPainter.kt
@@ -64,4 +64,4 @@
      * Drawing a color does not have an intrinsic size, return [Size.Unspecified] here
      */
     override val intrinsicSize: Size = Size.Unspecified
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/Painter.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/Painter.kt
index cad2d23..e95e4b8 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/Painter.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/painter/Painter.kt
@@ -214,4 +214,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathBuilder.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathBuilder.kt
index 3848e3f..8754a23 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathBuilder.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathBuilder.kt
@@ -110,4 +110,4 @@
         nodes.add(node)
         return this
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathNode.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathNode.kt
index b9546e2..536eb5b 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathNode.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/PathNode.kt
@@ -396,4 +396,4 @@
 private const val NUM_REFLECTIVE_CURVE_TO_ARGS = 4
 private const val NUM_QUAD_TO_ARGS = 4
 private const val NUM_REFLECTIVE_QUAD_TO_ARGS = 2
-private const val NUM_ARC_TO_ARGS = 7
\ No newline at end of file
+private const val NUM_ARC_TO_ARGS = 7
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 1a2e8fa..3b5cfcd 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
@@ -338,4 +338,4 @@
             assertEquals(i.toFloat(), ret[i], 0.0f)
         }
     }
-}
\ No newline at end of file
+}
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 957d351..a146a65 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
@@ -274,4 +274,4 @@
             return true
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/RenderEffectTest.kt b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/RenderEffectTest.kt
index dcec7d9..665f3b7 100644
--- a/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/RenderEffectTest.kt
+++ b/compose/ui/ui-graphics/src/commonTest/kotlin/androidx/compose/ui/graphics/RenderEffectTest.kt
@@ -166,4 +166,4 @@
             renderEffect.toString()
         )
     }
-}
\ No newline at end of file
+}
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 914c15f..89e32b9 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
@@ -49,4 +49,4 @@
         assertEquals("Cmyk", ColorModel.Cmyk.toString())
         assertEquals(4, ColorModel.Cmyk.componentCount)
     }
-}
\ No newline at end of file
+}
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 fc55c77..62efd24 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
@@ -196,4 +196,4 @@
 
         override fun op(path1: Path, path2: Path, operation: PathOperation): Boolean = false
     }
-}
\ No newline at end of file
+}
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 8ead9ef..dad395a 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
@@ -257,4 +257,4 @@
     bitmap.allocPixels(ImageInfo.makeS32(width, height, ColorAlphaType.UNPREMUL))
     bitmap.installPixels(pixels)
     return bitmap.asComposeImageBitmap()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt b/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt
index 5c9a60a..5be1b32 100644
--- a/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt
+++ b/compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/DesktopGraphicsTest.kt
@@ -48,4 +48,4 @@
     fun teardown() {
         _surface?.close()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/jvmMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/ui/ui-graphics/src/jvmMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.jvm.kt
index 6c78dbb..03d40a0 100644
--- a/compose/ui/ui-graphics/src/jvmMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/ui/ui-graphics/src/jvmMain/kotlin/androidx/compose/ui/graphics/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.graphics.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/BlendMode.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/BlendMode.skiko.kt
index 4bd3882..9a56c52 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/BlendMode.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/BlendMode.skiko.kt
@@ -48,4 +48,4 @@
     BlendMode.Luminosity -> org.jetbrains.skia.BlendMode.LUMINOSITY
     // Always fallback to default blendmode of src over
     else -> org.jetbrains.skia.BlendMode.SRC_OVER
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Matrices.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Matrices.skiko.kt
index 9a7f904..14fedd7 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Matrices.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Matrices.skiko.kt
@@ -22,4 +22,4 @@
     1f, 0f, 0f,
     0f, 1f, 0f,
     0f, 0f, 1f
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Rects.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Rects.skiko.kt
index 196e43c..02b79b0 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Rects.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/Rects.skiko.kt
@@ -46,4 +46,4 @@
     radii[7] = bottomLeftCornerRadius.y
 
     return org.jetbrains.skia.RRect.makeComplexLTRB(left, top, right, bottom, radii)
-}
\ No newline at end of file
+}
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 9ea4923..d79674b 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
@@ -395,4 +395,4 @@
         FilterQuality.High -> CubicResampler(1 / 3.0f, 1 / 3.0f)
         else -> FilterMipmap(FilterMode.NEAREST, MipmapMode.NONE)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt
index 08811b8..4bfc05f 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPaint.skiko.kt
@@ -146,4 +146,4 @@
     }
 }
 
-actual fun BlendMode.isSupported(): Boolean = true
\ No newline at end of file
+actual fun BlendMode.isSupported(): Boolean = true
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt
index 0285785..3aa30a0 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPath.skiko.kt
@@ -272,4 +272,4 @@
         v[Matrix.Perspective1] = persp1 // 7
         v[8] = v8 // 8
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt
index cd96db9..619f7c2 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathEffect.skiko.kt
@@ -63,4 +63,4 @@
         StampedPathEffectStyle.Rotate -> SkPathEffect.Style.ROTATE
         StampedPathEffectStyle.Translate -> SkPathEffect.Style.TRANSLATE
         else -> SkPathEffect.Style.TRANSLATE
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt
index 810a409..d1efe79 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedPathMeasure.skiko.kt
@@ -75,4 +75,4 @@
 }
 
 actual fun PathMeasure(): PathMeasure =
-    SkiaBackedPathMeasure()
\ No newline at end of file
+    SkiaBackedPathMeasure()
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt
index 8d6e519..cea1bb0 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedRenderEffect.skiko.kt
@@ -150,4 +150,4 @@
     override fun toString(): String {
         return "OffsetEffect(renderEffect=$renderEffect, offset=$offset)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt
index 2e598a0..e68afc6 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaColorFilter.skiko.kt
@@ -41,4 +41,4 @@
     )
 
 internal actual fun actualLightingColorFilter(multiply: Color, add: Color): ColorFilter =
-    ColorFilter(SkiaColorFilter.makeLighting(multiply.toArgb(), add.toArgb()))
\ No newline at end of file
+    ColorFilter(SkiaColorFilter.makeLighting(multiply.toArgb(), add.toArgb()))
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 3c3b207..afef2c7 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
@@ -156,4 +156,4 @@
         ColorSpaces.DisplayP3 -> org.jetbrains.skia.ColorSpace.displayP3
         else -> org.jetbrains.skia.ColorSpace.sRGB
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaShader.skiko.kt b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaShader.skiko.kt
index 856aab6..7ba6809 100644
--- a/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaShader.skiko.kt
+++ b/compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaShader.skiko.kt
@@ -95,4 +95,4 @@
                 " equal length."
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/LambdaLocationTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/LambdaLocationTest.kt
index b98fc6fdd..cd23a61 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/LambdaLocationTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/LambdaLocationTest.kt
@@ -45,4 +45,4 @@
         assertThat(LambdaLocation.resolve(TestLambdas.unnamed))
             .isEqualTo(LambdaLocation("TestLambdas.kt", 35, 35))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/RecompositionTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/RecompositionTest.kt
index 368db56..8c38ba9 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/RecompositionTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/RecompositionTest.kt
@@ -194,4 +194,4 @@
             return node.childrenList.any { hasText(it, parameters, predicate) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/SynthesizedLambdaNameTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/SynthesizedLambdaNameTest.kt
index a6b8baf..c7acb19 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/SynthesizedLambdaNameTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/SynthesizedLambdaNameTest.kt
@@ -67,4 +67,4 @@
     }
 
     private fun name(lambda: Any) = lambda.javaClass.name
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/proto/ComposeExtensionsTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/proto/ComposeExtensionsTest.kt
index 0d47862..c7fb0d1 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/proto/ComposeExtensionsTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/proto/ComposeExtensionsTest.kt
@@ -27,4 +27,4 @@
         assertThat(findLambdaSelector("com.example.Class\$f1\$3\$2"))
             .isEqualTo("3$2")
     }
-}
\ No newline at end of file
+}
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 7e66fc6..83372bf 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
@@ -124,4 +124,4 @@
 
 suspend fun InspectorTester.sendCommand(command: Command): Response {
     return Response.parseFrom(sendCommand(command.toByteArray()))
-}
\ No newline at end of file
+}
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 21982eb..3cbe6bf 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
@@ -39,4 +39,4 @@
     override fun before() {
         ensureInitialised()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/ParametersTestActivity.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/ParametersTestActivity.kt
index 282d0a1..1600fb3 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/ParametersTestActivity.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/ParametersTestActivity.kt
@@ -87,4 +87,4 @@
 @Composable
 fun SomeContent(content: @Composable () -> Unit) = content()
 
-internal fun testClickHandler() {}
\ No newline at end of file
+internal fun testClickHandler() {}
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/TestActivity.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/TestActivity.kt
index fa9f5b7..4a10d8e 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/TestActivity.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/testdata/TestActivity.kt
@@ -18,4 +18,4 @@
 
 import androidx.activity.ComponentActivity
 
-class TestActivity : ComponentActivity()
\ No newline at end of file
+class TestActivity : ComponentActivity()
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/AnchorMapTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/AnchorMapTest.kt
index e896e92..ddc34af 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/AnchorMapTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/util/AnchorMapTest.kt
@@ -56,4 +56,4 @@
 
         override fun equals(other: Any?): Boolean = this === other
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/compose/ComposeExtensions.kt b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/compose/ComposeExtensions.kt
index c6e0cae..283952a 100644
--- a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/compose/ComposeExtensions.kt
+++ b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/compose/ComposeExtensions.kt
@@ -92,4 +92,4 @@
         }
         next
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ReflectionScope.kt b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ReflectionScope.kt
index f58cfe1..4dd88eb 100644
--- a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ReflectionScope.kt
+++ b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/ReflectionScope.kt
@@ -215,4 +215,4 @@
     override fun setUpperBounds(typeParameter: KTypeParameter?, bounds: MutableList<KType>?) {
         factory.setUpperBounds(typeParameter, bounds)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetector.kt b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetector.kt
index bfa381b..7e6a349 100644
--- a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetector.kt
+++ b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetector.kt
@@ -111,4 +111,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/SuspiciousCompositionLocalModifierReadDetector.kt b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/SuspiciousCompositionLocalModifierReadDetector.kt
index 2c13d25..5c7e102 100644
--- a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/SuspiciousCompositionLocalModifierReadDetector.kt
+++ b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/SuspiciousCompositionLocalModifierReadDetector.kt
@@ -135,4 +135,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetectorTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetectorTest.kt
index 191e087..d75769c 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetectorTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierNodeInspectablePropertiesDetectorTest.kt
@@ -243,4 +243,4 @@
         )
     }
 }
-/* ktlint-enable max-line-length */
\ No newline at end of file
+/* ktlint-enable max-line-length */
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/MultipleAwaitPointerEventScopesDetectorTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/MultipleAwaitPointerEventScopesDetectorTest.kt
index 13bee92..76d37c1 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/MultipleAwaitPointerEventScopesDetectorTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/MultipleAwaitPointerEventScopesDetectorTest.kt
@@ -675,4 +675,4 @@
     private val WarningMessage
         get() = "Warning: ${MultipleAwaitPointerEventScopesDetector.ErrorMessage} " +
             "[${MultipleAwaitPointerEventScopesDetector.IssueId}]"
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ReturnFromAwaitPointerEventScopeDetectorTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ReturnFromAwaitPointerEventScopeDetectorTest.kt
index e1d4102..faac842 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ReturnFromAwaitPointerEventScopeDetectorTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ReturnFromAwaitPointerEventScopeDetectorTest.kt
@@ -343,4 +343,4 @@
     private val WarningMessage: String =
         "Warning: ${ReturnFromAwaitPointerEventScopeDetector.ErrorMessage} " +
             "[${ReturnFromAwaitPointerEventScopeDetector.IssueId}]"
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/UiStubs.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/UiStubs.kt
index e32d2e1..eef686d 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/UiStubs.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/UiStubs.kt
@@ -239,4 +239,4 @@
                 RcwkYbaKJ5jbB9Mo4ek+UhqOxjONjEbhL7J1D8vfAwAA
                 """
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ApplySnapshotImmediatelyTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ApplySnapshotImmediatelyTest.kt
index af7875e..241f990 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ApplySnapshotImmediatelyTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ApplySnapshotImmediatelyTest.kt
@@ -100,4 +100,4 @@
         assertStateIs(1, 1, 2)
         assertDisplayIs(1, 1, 2)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeIdlingResourceTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeIdlingResourceTest.kt
index a72d7b8..4101860 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeIdlingResourceTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeIdlingResourceTest.kt
@@ -172,4 +172,4 @@
 private enum class AnimationStates {
     From,
     To
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeTestRuleWaitUntilTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeTestRuleWaitUntilTest.kt
index 3652cf4..3da62e9 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeTestRuleWaitUntilTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/ComposeTestRuleWaitUntilTest.kt
@@ -145,4 +145,4 @@
             rule.waitUntilDoesNotExist(hasTestTag(TestTag), timeoutMillis = Timeout)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/FirstDrawTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/FirstDrawTest.kt
index b92a5fd..a683209 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/FirstDrawTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/FirstDrawTest.kt
@@ -97,4 +97,4 @@
         // The compose view was off-screen, so it hasn't drawn yet
         assertThat(drawn).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/LateSetContentTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/LateSetContentTest.kt
index cd9d26c..461e776 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/LateSetContentTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/LateSetContentTest.kt
@@ -49,4 +49,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/TimeOutTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/TimeOutTest.kt
index 6986851..46788f9 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/TimeOutTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/TimeOutTest.kt
@@ -198,4 +198,4 @@
 
         override fun registerIdleTransitionCallback(callback: IdlingResource.ResourceCallback?) {}
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/WaitUntilNodeCountTest.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/WaitUntilNodeCountTest.kt
index 9fc70a6..0d78ba2 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/WaitUntilNodeCountTest.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/WaitUntilNodeCountTest.kt
@@ -145,4 +145,4 @@
             waitUntilDoesNotExist(hasTestTag(TestTag), timeoutMillis = Timeout)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/util/BoundaryNodes.kt b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/util/BoundaryNodes.kt
index a7dd618..e5d04e7 100644
--- a/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/util/BoundaryNodes.kt
+++ b/compose/ui/ui-test-junit4/src/androidAndroidTest/kotlin/androidx/compose/ui/test/junit4/util/BoundaryNodes.kt
@@ -34,4 +34,4 @@
     testTag: String
 ) {
     Column(Modifier.testTag(testTag)) {}
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.android.kt b/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.android.kt
index 22d4156..e535136 100644
--- a/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.android.kt
+++ b/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.android.kt
@@ -32,4 +32,4 @@
     ::runOnUiThread
 ) {
     internal val hasAwaiters = frameClock.hasAwaiters
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.desktop.kt b/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.desktop.kt
index 75d023f..5b21f1b 100644
--- a/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.desktop.kt
+++ b/compose/ui/ui-test-junit4/src/desktopMain/kotlin/androidx/compose/ui/test/junit4/MainTestClockImpl.desktop.kt
@@ -27,4 +27,4 @@
     testScheduler,
     frameDelayMillis,
     ::runOnUiThread
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-test-junit4/src/desktopTest/kotlin/androidx/compose/ui/test/ComposeUiTestTest.kt b/compose/ui/ui-test-junit4/src/desktopTest/kotlin/androidx/compose/ui/test/ComposeUiTestTest.kt
index aef2e84..0dd6f32 100644
--- a/compose/ui/ui-test-junit4/src/desktopTest/kotlin/androidx/compose/ui/test/ComposeUiTestTest.kt
+++ b/compose/ui/ui-test-junit4/src/desktopTest/kotlin/androidx/compose/ui/test/ComposeUiTestTest.kt
@@ -121,4 +121,4 @@
 
         companion object Key : CoroutineContext.Key<TestCoroutineContextElement>
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/AbstractMainTestClock.kt b/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/AbstractMainTestClock.kt
index 3028a20..3557dfa 100644
--- a/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/AbstractMainTestClock.kt
+++ b/compose/ui/ui-test-junit4/src/jvmMain/kotlin/androidx/compose/ui/test/junit4/AbstractMainTestClock.kt
@@ -74,4 +74,4 @@
             testScheduler.runCurrent()
         }
     }
-}
\ No newline at end of file
+}
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 9efd549..5518d55 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
@@ -75,4 +75,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/GradleDebugConfigurationDetector.kt b/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/GradleDebugConfigurationDetector.kt
index f5ed65b..2a56a77 100644
--- a/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/GradleDebugConfigurationDetector.kt
+++ b/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/GradleDebugConfigurationDetector.kt
@@ -115,4 +115,4 @@
         }
         return ""
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/TestManifestIssueRegistry.kt b/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/TestManifestIssueRegistry.kt
index a0b10da..4baeef0 100644
--- a/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/TestManifestIssueRegistry.kt
+++ b/compose/ui/ui-test-manifest-lint/src/main/java/androidx/compose/ui/test/manifest/lint/TestManifestIssueRegistry.kt
@@ -29,4 +29,4 @@
         identifier = "androidx.compose.ui.test.manifest",
         vendorName = "Android Open Source Project",
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/ApiLintVersionsTest.kt b/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/ApiLintVersionsTest.kt
index 18aaae3..f04f18b 100644
--- a/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/ApiLintVersionsTest.kt
+++ b/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/ApiLintVersionsTest.kt
@@ -42,4 +42,4 @@
         // Since we don't publish this lint registry, minApi can match the api version.
         Assert.assertEquals("registry.minApi matches registry.api", 10, registry.minApi)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/GradleDebugConfigurationDetectorTest.kt b/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/GradleDebugConfigurationDetectorTest.kt
index 172f6d9..1aa3977 100644
--- a/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/GradleDebugConfigurationDetectorTest.kt
+++ b/compose/ui/ui-test-manifest-lint/src/test/java/androix/compose/ui/test/manifest/lint/GradleDebugConfigurationDetectorTest.kt
@@ -235,4 +235,4 @@
                 """.trimIndent()
             )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertExistsTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertExistsTest.kt
index 776d826..4b564b4 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertExistsTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertExistsTest.kt
@@ -104,4 +104,4 @@
                 .assertDoesNotExist()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertsTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertsTest.kt
index 7ac558d..8dc6de9 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertsTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/AssertsTest.kt
@@ -158,4 +158,4 @@
     fun BoundaryNode(props: (SemanticsPropertyReceiver.() -> Unit)) {
         Column(Modifier.semantics(properties = props)) {}
     }
-}
\ No newline at end of file
+}
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 a380a02..b977aee 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
@@ -71,4 +71,4 @@
     fun BoundaryNode(props: (SemanticsPropertyReceiver.() -> Unit)) {
         Column(Modifier.semantics(properties = props)) {}
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/ErrorMessagesTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/ErrorMessagesTest.kt
index 4596f86..53d6400 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/ErrorMessagesTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/ErrorMessagesTest.kt
@@ -419,4 +419,4 @@
             content = composable
         )
     }
-}
\ No newline at end of file
+}
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 0a19723..f27d346 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
@@ -281,4 +281,4 @@
     fun BoundaryNode(props: (SemanticsPropertyReceiver.() -> Unit)) {
         Column(Modifier.semantics(properties = props)) {}
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FocusActionsTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FocusActionsTest.kt
index 63b09bb..9a98258 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FocusActionsTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/FocusActionsTest.kt
@@ -62,4 +62,4 @@
         rule.onNodeWithTag(tag(1)).assertIsFocused()
         rule.onNodeWithTag(tag(0)).assertIsNotFocused()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/PrintToStringTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/PrintToStringTest.kt
index e8b9d96..431eb9c 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/PrintToStringTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/PrintToStringTest.kt
@@ -283,4 +283,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TestMonotonicFrameClockTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TestMonotonicFrameClockTest.kt
index f5f336f..24a0b3db 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TestMonotonicFrameClockTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TestMonotonicFrameClockTest.kt
@@ -599,4 +599,4 @@
     private companion object {
         const val FrameDelayNanos = 16_000_000L
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TextActionsTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TextActionsTest.kt
index 6be0f40..090d8b2 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TextActionsTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/TextActionsTest.kt
@@ -362,4 +362,4 @@
             assertThat(actionPerformed).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/actions/ScrollToIndexTest.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/actions/ScrollToIndexTest.kt
index b92608e..a13191a 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/actions/ScrollToIndexTest.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/actions/ScrollToIndexTest.kt
@@ -118,4 +118,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 50a9ca0..27feb9b 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
@@ -92,4 +92,4 @@
                 .assertAny(hasTestTag("Child"))
         }
     }
-}
\ No newline at end of file
+}
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 719b1f7..5185442 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
@@ -151,4 +151,4 @@
 
         rule.waitForIdle()
     }
-}
\ No newline at end of file
+}
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 df67328..585fbae 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
@@ -118,4 +118,4 @@
         rule.onNode(hasAnyAncestor(hasTestTag("Child")))
             .assertDoesNotExist()
     }
-}
\ No newline at end of file
+}
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 b6c1c80..5a415b8 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
@@ -114,4 +114,4 @@
         rule.onNode(hasAnyChild(hasAnyChild(hasTestTag("Child"))))
             .assert(hasTestTag("Parent"))
     }
-}
\ No newline at end of file
+}
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 c98ec7f..70f1988 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
@@ -91,4 +91,4 @@
         rule.onAllNodes(hasAnyDescendant(hasTestTag("Child")))
             .assertCountEquals(3) // Parent, Parent2 and root
     }
-}
\ No newline at end of file
+}
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 5178fee..1975f2c 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
@@ -154,4 +154,4 @@
         rule.onNode(hasParent(hasAnySibling(hasTestTag("ParentSibling"))))
             .assert(hasTestTag("Me"))
     }
-}
\ No newline at end of file
+}
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 0ecda22..6855853 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
@@ -110,4 +110,4 @@
         rule.onNode(hasParent(hasParent(hasTestTag("Parent"))))
             .assert(hasTestTag("Child"))
     }
-}
\ No newline at end of file
+}
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 faef8f6..742ee99 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
@@ -116,4 +116,4 @@
                 .assertExists()
         }
     }
-}
\ No newline at end of file
+}
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 8b35a6e..ab51b59 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
@@ -94,4 +94,4 @@
             .onAncestors()
             .assertCountEquals(0)
     }
-}
\ No newline at end of file
+}
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 22e9c6a..40979dd 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
@@ -92,4 +92,4 @@
                 .assertExists()
         }
     }
-}
\ No newline at end of file
+}
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 0403487..673125d 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
@@ -64,4 +64,4 @@
             .onChildren()
             .assertCountEquals(0)
     }
-}
\ No newline at end of file
+}
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 4a78db7..4769eba 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
@@ -88,4 +88,4 @@
             .filter(hasTestTag("Child"))
             .assertCountEquals(0)
     }
-}
\ No newline at end of file
+}
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 129c653..0349ed9 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
@@ -113,4 +113,4 @@
                 .assertExists()
         }
     }
-}
\ No newline at end of file
+}
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 a78777d..7947e42 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
@@ -82,4 +82,4 @@
                 .assertExists()
         }
     }
-}
\ No newline at end of file
+}
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 1733f78..e6cbd90 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
@@ -79,4 +79,4 @@
                 .assertExists()
         }
     }
-}
\ No newline at end of file
+}
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 aeefb12..0524551 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
@@ -99,4 +99,4 @@
             .onSibling()
             .assertExists()
     }
-}
\ No newline at end of file
+}
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 7332ead..2bbd799 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
@@ -81,4 +81,4 @@
                 get(1).assert(hasTestTag("Child3"))
             }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/BoundaryNodes.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/BoundaryNodes.kt
index 1b7f84e..4cdc70f 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/BoundaryNodes.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/BoundaryNodes.kt
@@ -35,4 +35,4 @@
     modifier: Modifier = Modifier
 ) {
     Column(modifier.testTag(testTag)) {}
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/Output.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/Output.kt
index a67ef92..abfb166 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/Output.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/Output.kt
@@ -50,4 +50,4 @@
     }
 
     throw AssertionError("No AssertionError thrown!")
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestCounter.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestCounter.kt
index 9fac117..65979dd 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestCounter.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestCounter.kt
@@ -31,4 +31,4 @@
         }
         count = expected
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestTextField.kt b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestTextField.kt
index f687d45..e3895eb 100644
--- a/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestTextField.kt
+++ b/compose/ui/ui-test/src/androidAndroidTest/kotlin/androidx/compose/ui/test/util/TestTextField.kt
@@ -58,4 +58,4 @@
         )
         Text("$textContent ${textState.value.text}")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidCommonTest/kotlin/androidx/compose/ui/test/util/InputEventRecorder.kt b/compose/ui/ui-test/src/androidCommonTest/kotlin/androidx/compose/ui/test/util/InputEventRecorder.kt
index 5c6b49d..fbbfd11 100644
--- a/compose/ui/ui-test/src/androidCommonTest/kotlin/androidx/compose/ui/test/util/InputEventRecorder.kt
+++ b/compose/ui/ui-test/src/androidCommonTest/kotlin/androidx/compose/ui/test/util/InputEventRecorder.kt
@@ -40,4 +40,4 @@
                 " not ${event::class.simpleName}")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidImageHelpers.android.kt b/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidImageHelpers.android.kt
index fd9bb58..1099245 100644
--- a/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidImageHelpers.android.kt
+++ b/compose/ui/ui-test/src/androidMain/kotlin/androidx/compose/ui/test/AndroidImageHelpers.android.kt
@@ -157,4 +157,4 @@
         }
     }
     return getActivity().window
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Assertions.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Assertions.kt
index 6c9e153..0c8cbbf 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Assertions.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Assertions.kt
@@ -353,4 +353,4 @@
 
 internal expect fun SemanticsNode.clippedNodeBoundsInWindow(): Rect
 
-internal expect fun SemanticsNode.isInScreenBounds(): Boolean
\ No newline at end of file
+internal expect fun SemanticsNode.isInScreenBounds(): Boolean
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Expect.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Expect.kt
index c0f1810..02a2ef6 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Expect.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Expect.kt
@@ -31,4 +31,4 @@
  * if (identityHashCode(midVal) < identityHashCode(leftVal)) ...
  * ```
  */
-internal expect fun identityHashCode(instance: Any?): Int
\ No newline at end of file
+internal expect fun identityHashCode(instance: Any?): Int
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/MainTestClock.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/MainTestClock.kt
index 3a9447e..8e8f17d 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/MainTestClock.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/MainTestClock.kt
@@ -171,4 +171,4 @@
 /**
  * Thrown in cases where Compose test can't satisfy a condition in a defined time limit.
  */
-class ComposeTimeoutException(message: String?) : Throwable(message)
\ No newline at end of file
+class ComposeTimeoutException(message: String?) : Throwable(message)
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Selectors.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Selectors.kt
index 79c3652..d6d6fd3 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Selectors.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Selectors.kt
@@ -188,4 +188,4 @@
         useUnmergedTree,
         selector.addSelectorViaMatcher("filterToOne", matcher)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsMatcher.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsMatcher.kt
index c89f100..6f02c1b 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsMatcher.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsMatcher.kt
@@ -89,4 +89,4 @@
             !matcher(it)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsNodeInteractionsProvider.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsNodeInteractionsProvider.kt
index 32a03fe..2b23130 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsNodeInteractionsProvider.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsNodeInteractionsProvider.kt
@@ -59,4 +59,4 @@
         matcher: SemanticsMatcher,
         useUnmergedTree: Boolean = false
     ): SemanticsNodeInteractionCollection
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsSelector.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsSelector.kt
index d89cc1c3..95d44b4 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsSelector.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/SemanticsSelector.kt
@@ -150,4 +150,4 @@
     ) { nodes ->
         SelectionResult(nodes.filter { matcher.matches(it) })
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TextActions.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TextActions.kt
index 53c81a7..4c0f408 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TextActions.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/TextActions.kt
@@ -141,4 +141,4 @@
         // Duplicate the stack trace to make troubleshooting easier.
         stackTrace = cause.stackTrace
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Utils.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Utils.kt
index 48a1de6..90535cb 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Utils.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/Utils.kt
@@ -39,4 +39,4 @@
     }
 
     return null
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/DelayPropagatingContinuationInterceptorWrapper.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/DelayPropagatingContinuationInterceptorWrapper.kt
index 9a502ff..20212ac 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/DelayPropagatingContinuationInterceptorWrapper.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/DelayPropagatingContinuationInterceptorWrapper.kt
@@ -39,4 +39,4 @@
     ContinuationInterceptor,
     // Coroutines will internally use the Default dispatcher as the delay if the
     // ContinuationInterceptor does not implement Delay.
-    Delay by ((wrappedInterceptor as? Delay) ?: (Dispatchers.Default as Delay))
\ No newline at end of file
+    Delay by ((wrappedInterceptor as? Delay) ?: (Dispatchers.Default as Delay))
diff --git a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.kt b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.kt
index ac2f018..76f5774 100644
--- a/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/ui/ui-test/src/commonMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.test.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopAssertions.desktop.kt b/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopAssertions.desktop.kt
index f0ab8f2..375a472 100644
--- a/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopAssertions.desktop.kt
+++ b/compose/ui/ui-test/src/desktopMain/kotlin/androidx/compose/ui/test/DesktopAssertions.desktop.kt
@@ -29,4 +29,4 @@
 
 internal actual fun SemanticsNode.isInScreenBounds(): Boolean {
     TODO()
-}
\ No newline at end of file
+}
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 1d82eff..9514264 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
@@ -144,4 +144,4 @@
     override fun onDispose() {
         batchedEvents.clear()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/Expect.jvm.kt b/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/Expect.jvm.kt
index a436456..4fb8bc9 100644
--- a/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/Expect.jvm.kt
+++ b/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/Expect.jvm.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.test
 
-internal actual fun identityHashCode(instance: Any?): Int = System.identityHashCode(instance)
\ No newline at end of file
+internal actual fun identityHashCode(instance: Any?): Int = System.identityHashCode(instance)
diff --git a/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/FrameDeferringContinuationInterceptor.kt b/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/FrameDeferringContinuationInterceptor.kt
index 2ff66a0..7613ca4 100644
--- a/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/FrameDeferringContinuationInterceptor.kt
+++ b/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/FrameDeferringContinuationInterceptor.kt
@@ -195,4 +195,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.jvm.kt
index 699d0af..457d9d6 100644
--- a/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/ui/ui-test/src/jvmMain/kotlin/androidx/compose/ui/test/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.test.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/KeyEventsTest.kt b/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/KeyEventsTest.kt
index d39cd3f..0216a50 100644
--- a/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/KeyEventsTest.kt
+++ b/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/KeyEventsTest.kt
@@ -517,4 +517,4 @@
         recorder.events[2].verifyKeyEvent(keyDown, key.nativeKeyCode)
         recorder.events[3].verifyKeyEvent(keyUp, key.nativeKeyCode)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/multimodal/KeyAndMouseEventsTest.kt b/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/multimodal/KeyAndMouseEventsTest.kt
index 757d1c5..6d52228 100644
--- a/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/multimodal/KeyAndMouseEventsTest.kt
+++ b/compose/ui/ui-test/src/test/kotlin/androidx/compose/ui/test/inputdispatcher/multimodal/KeyAndMouseEventsTest.kt
@@ -450,4 +450,4 @@
         recorder.events[12].verifyMouseEvent(MotionEvent.ACTION_BUTTON_PRESS, 0L,
             Offset.Zero, MotionEvent.BUTTON_PRIMARY)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text-google-fonts/src/androidTest/java/androidx/compose/ui/text/googlefonts/GoogleFontTest.kt b/compose/ui/ui-text-google-fonts/src/androidTest/java/androidx/compose/ui/text/googlefonts/GoogleFontTest.kt
index 54a390c..dff7ae0 100644
--- a/compose/ui/ui-text-google-fonts/src/androidTest/java/androidx/compose/ui/text/googlefonts/GoogleFontTest.kt
+++ b/compose/ui/ui-text-google-fonts/src/androidTest/java/androidx/compose/ui/text/googlefonts/GoogleFontTest.kt
@@ -388,4 +388,4 @@
     return assetManager.open("ComGoogleAndroidGmsCertificate.dev").use {
         it.readBytes()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text-google-fonts/src/main/java/androidx/compose/ui/text/googlefonts/GoogleFont.kt b/compose/ui/ui-text-google-fonts/src/main/java/androidx/compose/ui/text/googlefonts/GoogleFont.kt
index 5af4b91..97ee309 100644
--- a/compose/ui/ui-text-google-fonts/src/main/java/androidx/compose/ui/text/googlefonts/GoogleFont.kt
+++ b/compose/ui/ui-text-google-fonts/src/main/java/androidx/compose/ui/text/googlefonts/GoogleFont.kt
@@ -372,4 +372,4 @@
             "usually means the font was attempted to load in a restricted context"
         else -> "Unknown error code"
     }
-}
\ No newline at end of file
+}
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 2765fb0..2d3c075 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
@@ -128,4 +128,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/HyphensLineBreakBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/HyphensLineBreakBenchmark.kt
index 016ee62..72f0dbc 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/HyphensLineBreakBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/HyphensLineBreakBenchmark.kt
@@ -187,4 +187,4 @@
     Hyphens.None -> "None"
     Hyphens.Auto -> "Auto"
     else -> throw IllegalArgumentException("Unrecognized Hyphens value for this test")
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/NonLinearFontScalingBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/NonLinearFontScalingBenchmark.kt
index d1e28a6..915ade6 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/NonLinearFontScalingBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/NonLinearFontScalingBenchmark.kt
@@ -172,4 +172,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 02c2151..efd0149 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
@@ -212,4 +212,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphMethodBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphMethodBenchmark.kt
index e5bbed1..1078156 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphMethodBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphMethodBenchmark.kt
@@ -177,4 +177,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphWithLineHeightBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphWithLineHeightBenchmark.kt
index 9ac6a7a..113a102 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphWithLineHeightBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/ParagraphWithLineHeightBenchmark.kt
@@ -136,4 +136,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/TextMeasurerBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/TextMeasurerBenchmark.kt
index 27e9cb6..07b7d03 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/TextMeasurerBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/TextMeasurerBenchmark.kt
@@ -193,4 +193,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/font/PlatformFontLookup.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/font/PlatformFontLookup.kt
index 6bfae1e..5de37b2 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/font/PlatformFontLookup.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/font/PlatformFontLookup.kt
@@ -80,4 +80,4 @@
             fontFamilyResolver.resolve(fontFamily, fontWeight)
         }
     }
-}
\ No newline at end of file
+}
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 da8dcd1..14de92a 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
@@ -104,4 +104,4 @@
             ep.apply(scenario.ops)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/GapBufferBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/GapBufferBenchmark.kt
index bc37b08..1c0e20d 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/GapBufferBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/input/GapBufferBenchmark.kt
@@ -107,4 +107,4 @@
             buffer.toString()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/intl/LocaleListBenchmark.kt b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/intl/LocaleListBenchmark.kt
index 58c3c4c..04625f6 100644
--- a/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/intl/LocaleListBenchmark.kt
+++ b/compose/ui/ui-text/benchmark/src/androidTest/java/androidx/compose/ui/text/benchmark/intl/LocaleListBenchmark.kt
@@ -48,4 +48,4 @@
     fun create() {
         benchmarkRule.measureRepeated { LocaleList(languageTag) }
     }
-}
\ No newline at end of file
+}
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 6f7f876..d6d5f13 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
@@ -128,4 +128,4 @@
     fun <T> generator(block: (generator: RandomTextGenerator) -> T): T {
         return block(textGenerator)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/samples/src/main/java/androidx/compose/ui/text/samples/TextMotionSamples.kt b/compose/ui/ui-text/samples/src/main/java/androidx/compose/ui/text/samples/TextMotionSamples.kt
index 7fbf0de..4e67915 100644
--- a/compose/ui/ui-text/samples/src/main/java/androidx/compose/ui/text/samples/TextMotionSamples.kt
+++ b/compose/ui/ui-text/samples/src/main/java/androidx/compose/ui/text/samples/TextMotionSamples.kt
@@ -57,4 +57,4 @@
         // Provide it via style argument but make sure that we are copying from current theme
         style = LocalTextStyle.current.copy(textMotion = TextMotion.Animated)
     )
-}
\ No newline at end of file
+}
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 1268ee3..fabf7eb 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
@@ -148,4 +148,4 @@
             resolveTextDirectionHeuristics(textDirection = TextDirection.ContentOrRtl)
         ).isEqualTo(LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_RTL)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/CacheTextLayoutInputTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/CacheTextLayoutInputTest.kt
index 43d704c..8efe719 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/CacheTextLayoutInputTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/CacheTextLayoutInputTest.kt
@@ -225,4 +225,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 fd2538f..3eb3630 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
@@ -289,4 +289,4 @@
             fontFamilyResolver = UncachedFontFamilyResolver(context)
         )
     }
-}
\ No newline at end of file
+}
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 d802b37..0b3797d 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
@@ -645,4 +645,4 @@
             fontFamilyResolver = fontFamilyResolver
         ) as AndroidParagraph
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationBoundingBoxTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationBoundingBoxTest.kt
index c72f952..4bcf7d6 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationBoundingBoxTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationBoundingBoxTest.kt
@@ -433,4 +433,4 @@
         LineBreakFrom.First to "\u05D0\u05D2\u05D2\n\u05D3\u05D4\u05D5 \u05D0\u05D2\u05D2",
         LineBreakFrom.Second to "\u05D0\u05D2\u05D2 \u05D3\u05D4\u05D5\n\u05D0\u05D2\u05D2",
     )
-)
\ No newline at end of file
+)
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 61ce517..8a16caf 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
@@ -971,4 +971,4 @@
         val ascentRatio = ascent / fontMetrics.lineHeight()
         return ceil(fontMetrics.lineHeight() * (1f - ascentRatio)).toInt()
     }
-}
\ No newline at end of file
+}
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 6416362..f5bcc9c 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
@@ -108,4 +108,4 @@
 
         assertThat(paragraph.getParagraphDirection(0)).isEqualTo(ResolvedTextDirection.Rtl)
     }
-}
\ No newline at end of file
+}
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 aa8e859..c01f046 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
@@ -214,4 +214,4 @@
             fontFamilyResolver = UncachedFontFamilyResolver(context)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt
index 8ff62fd..7164432 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt
@@ -580,4 +580,4 @@
             fontFamilyResolver = UncachedFontFamilyResolver(context)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformParagraphStyleTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformParagraphStyleTest.kt
index 09d8375..ed011c4 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformParagraphStyleTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformParagraphStyleTest.kt
@@ -161,4 +161,4 @@
             EmojiSupportMatch.Default
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformSpanStyleTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformSpanStyleTest.kt
index ef9afe5..db6d77d 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformSpanStyleTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformSpanStyleTest.kt
@@ -98,4 +98,4 @@
 
         assertThat(style).isEqualTo(otherStyle)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformTextStyleTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformTextStyleTest.kt
index 8aa22e0..a398665 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformTextStyleTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/PlatformTextStyleTest.kt
@@ -131,4 +131,4 @@
 
         assertThat(mergedStyle.platformStyle?.paragraphStyle?.includeFontPadding).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutCacheTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutCacheTest.kt
index 14984f1..bbd9b52 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutCacheTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutCacheTest.kt
@@ -318,4 +318,4 @@
             constraints = constraints
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerTest.kt
index dcbf9bb..404da84 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerTest.kt
@@ -425,4 +425,4 @@
             skipCache = skipCache
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextPainterTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextPainterTest.kt
index b847c51..36f3cd5 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextPainterTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextPainterTest.kt
@@ -659,4 +659,4 @@
         )
         return bitmap
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt
index 2799025..4a8357a 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt
@@ -253,4 +253,4 @@
             }
         }
     }.toTypedArray()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TtsAnnotationTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TtsAnnotationTest.kt
index f2d9d40..46f07b45 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TtsAnnotationTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TtsAnnotationTest.kt
@@ -37,4 +37,4 @@
         assertThat(ttsSpan.args.size()).isEqualTo(1)
         assertThat(ttsSpan.args.getString(TtsSpan.ARG_VERBATIM)).isEqualTo(verbatim)
     }
-}
\ No newline at end of file
+}
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 d5390c5..940c489 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
@@ -189,4 +189,4 @@
         // don't care about result, but it's not supposed to throw
         font.typefaceLoader.loadBlocking(context, font)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontUtilsTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontUtilsTest.kt
index 765f066..b4b4ca9 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontUtilsTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/AndroidFontUtilsTest.kt
@@ -51,4 +51,4 @@
                 .isEqualTo(Typeface.BOLD_ITALIC)
         }
     }
-}
\ No newline at end of file
+}
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 d42258b..9c8b80e 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
@@ -171,4 +171,4 @@
             return Typeface.SERIF
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFontTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFontTest.kt
index 260ad83..61d402a 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFontTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFontTest.kt
@@ -104,4 +104,4 @@
         }
         return fontName
     }
-}
\ No newline at end of file
+}
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 daf1c07..cb1d84c 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
@@ -125,4 +125,4 @@
             assertThat(typeface.bitmap("~")).isNotEqualToBitmap(defaultTypeface.bitmap("~"))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplCancellationTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplCancellationTest.kt
index 320737c..157daa7 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplCancellationTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplCancellationTest.kt
@@ -98,4 +98,4 @@
         val afterCache = currentCacheItem()
         assertThat(afterCache).isImmutableTypefaceOf(Typeface.DEFAULT)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplPreloadTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplPreloadTest.kt
index 4bb5b41..92e6b14 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplPreloadTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplPreloadTest.kt
@@ -308,4 +308,4 @@
 
     // other font chain semantics are tested directly, preload is just checking that we don't
     // trigger async work when it's not necessary
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplTest.kt
index 2dcdb87..6a0b85b 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolverImplTest.kt
@@ -777,4 +777,4 @@
         val typeface = resolveAsTypeface(fontFamily, FontWeight.W400)
         assertThat(typeface).isSameInstanceAs(Typeface.SERIF)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolver_androidKtTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolver_androidKtTest.kt
index 880eebb..61c9d2b 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolver_androidKtTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontFamilyResolver_androidKtTest.kt
@@ -37,4 +37,4 @@
         val result = subject.resolveAsTypeface(font.toFontFamily())
         assertThat(result.value).isSameInstanceAs(SANS_SERIF)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterPreloadTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterPreloadTest.kt
index 143c90f..c3ddac1 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterPreloadTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontListFontFamilyTypefaceAdapterPreloadTest.kt
@@ -321,4 +321,4 @@
         assertThat(preloadJob.isActive).isFalse()
         assertThat(typefaceLoader.completedRequests()).containsExactly(optionalFont)
     }
-}
\ No newline at end of file
+}
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 990e1cc..7a5bd38 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
@@ -772,4 +772,4 @@
         }
         assertThat(asyncResult).currentAsyncTypefaceValue(Typeface.DEFAULT)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontSynthesisTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontSynthesisTest.kt
index fcff7c3..2a2ab2a 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontSynthesisTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/FontSynthesisTest.kt
@@ -169,4 +169,4 @@
         Truth.assertThat(typeface500.isBold).isFalse()
         Truth.assertThat(typeface600.isBold).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapterTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapterTest.kt
index e5296c7..25c0ce2 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapterTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapterTest.kt
@@ -267,4 +267,4 @@
             assertThat(calledWith).isEmpty()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformTypefacesTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformTypefacesTest.kt
index 6e3e298..6fd8979 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformTypefacesTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/PlatformTypefacesTest.kt
@@ -207,4 +207,4 @@
             assertThat(genericFontFamilyTypeface).isEqualTo(optionalOnDeviceFontFamilyTypeface)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/testutils/AsyncTestFonts.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/testutils/AsyncTestFonts.kt
index 9f24373..a462530 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/testutils/AsyncTestFonts.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/font/testutils/AsyncTestFonts.kt
@@ -165,4 +165,4 @@
     override fun toString(): String {
         return "$name[$weight, $style]"
     }
-}
\ No newline at end of file
+}
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 9d05c2b..829ce54 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
@@ -130,4 +130,4 @@
         assertThat(eb.cursor).isEqualTo(0)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
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 849d7f8..3713066 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
@@ -169,4 +169,4 @@
         assertThat(eb.cursor).isEqualTo(2 * FAMILY.length)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
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 d43cf4e..9dd17dd 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
@@ -70,4 +70,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 44ecab1..5a95254 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
@@ -59,4 +59,4 @@
         assertThat(Locale("sr-Latn-SR")).isEqualTo(Locale("sr-Latn-SR"))
         assertThat(Locale("sr-Latn-SR")).isNotEqualTo(Locale("sr-Cyrl-SR"))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt
index aaa1171..7ccf78d 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt
@@ -62,4 +62,4 @@
             super.actualCustomStringRepresentation()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt
index 92fb82d..77a996f 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt
@@ -194,4 +194,4 @@
     }
 }
 
-internal data class SpanInfo<T : Any>(val span: T, val start: Int, val end: Int, val flags: Int)
\ No newline at end of file
+internal data class SpanInfo<T : Any>(val span: T, val start: Int, val end: Int, val flags: Int)
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 90b4e7c..bf4621a5 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
@@ -49,4 +49,4 @@
 
 internal fun IntegerSubject.isZero() {
     this.isEqualTo(0)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceResultSubject.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceResultSubject.kt
index 4a95dbe..066baf9 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceResultSubject.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceResultSubject.kt
@@ -70,4 +70,4 @@
         is Async ->
             "TypefaceResult.Immutable(currentState=${subject.current.value})"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableStringTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableStringTest.kt
index 9c0efcb..8976a8b 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableStringTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableStringTest.kt
@@ -421,4 +421,4 @@
         assertThat(spannable1).isNotSameInstanceAs(spannable2)
         assertThat(urlSpan1).isSameInstanceAs(urlSpan2)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsicsTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsicsTest.kt
index 8e9a930..6cd30ec 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsicsTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsicsTest.kt
@@ -90,4 +90,4 @@
         fontState.value = true
         assertThat(subject.hasStaleResolvedFonts).isFalse()
     }
-}
\ No newline at end of file
+}
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 162b8b0..daa999be 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
@@ -48,4 +48,4 @@
             AndroidTypefaceCache.getOrCreate(context, FontTestData.FONT_200_REGULAR)
         )
     }
-}
\ No newline at end of file
+}
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 0410d86..0f8c137 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
@@ -130,4 +130,4 @@
         // The italic font is not loaded, so querying Italic will return Normal font.
         assertThat(typefaceFromSubset).isTypefaceOf(FontWeight.Normal, FontStyle.Normal)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt
index 9df4326..8ea1d54 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt
@@ -587,4 +587,4 @@
     return Mockito.argThat { arg: Any ->
         arg is Int || arg is FontStyle
     } as FontStyle? ?: FontStyle.Normal
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/EmojiCompatStatusTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/EmojiCompatStatusTest.kt
index 3d15326..db0c29a 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/EmojiCompatStatusTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/EmojiCompatStatusTest.kt
@@ -151,4 +151,4 @@
         config.setMetadataLoadStrategy(LOAD_STRATEGY_MANUAL)
         return config to deferred
     }
-}
\ No newline at end of file
+}
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 121461be..0daffb0 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
@@ -52,4 +52,4 @@
             typeface.getNativeTypeface(FontWeight.Bold, FontStyle.Italic, FontSynthesis.None)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/SpannableExtensionsTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/SpannableExtensionsTest.kt
index 2ec8bcb..653562a 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/SpannableExtensionsTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/SpannableExtensionsTest.kt
@@ -600,4 +600,4 @@
             it.foregroundColor == Color.Red.toArgb()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextPaintExtensionsTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextPaintExtensionsTest.kt
index b7cdc5e3..1a0eceb78 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextPaintExtensionsTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextPaintExtensionsTest.kt
@@ -425,4 +425,4 @@
         assertThat(tp.flags and TextPaint.SUBPIXEL_TEXT_FLAG).isEqualTo(0)
         assertThat(tp.hinting).isEqualTo(TextPaint.HINTING_OFF)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt
index 3717a8e..20f5522 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt
@@ -56,4 +56,4 @@
         width = text.length * fontSize * 1.5f
     )
     return layout.bitmap()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/HyphensTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/HyphensTest.kt
index aa850f8..c3469bf 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/HyphensTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/HyphensTest.kt
@@ -55,4 +55,4 @@
         )
         assertThat(brokenLines).isEqualTo(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/LineBreakTest.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/LineBreakTest.kt
index d86dfa9..040414c 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/LineBreakTest.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/LineBreakTest.kt
@@ -248,4 +248,4 @@
 
         assertThat(brokenLines).isEqualTo(expectedBrokenLines)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/TextLineBreaker.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/TextLineBreaker.kt
index a0f3c2a..9077ca0 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/TextLineBreaker.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/style/TextLineBreaker.kt
@@ -72,4 +72,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 1eb166c..d4bc7c2 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
@@ -617,4 +617,4 @@
     val spannable = if (this is Spannable) this else SpannableString(this)
     spannable.setSpan(IndentationFixSpan(), spannable.length - 1, spannable.length - 1)
     return spannable
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidTextStyle.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidTextStyle.android.kt
index 5aef6b2..67f0518 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidTextStyle.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidTextStyle.android.kt
@@ -293,4 +293,4 @@
     fraction: Float
 ): PlatformSpanStyle {
     return start
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/EmojiSupportMatch.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/EmojiSupportMatch.kt
index 51660ef..9e2d651 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/EmojiSupportMatch.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/EmojiSupportMatch.kt
@@ -44,4 +44,4 @@
          */
         val None = EmojiSupportMatch(1)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.android.kt
index 30c1fc6..4314e40 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.android.kt
@@ -28,4 +28,4 @@
     val it = BreakIterator.getCharacterInstance()
     it.setText(this)
     return it.following(index)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/Paragraph.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/Paragraph.android.kt
index 2a0538e..251124e 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/Paragraph.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/Paragraph.android.kt
@@ -76,4 +76,4 @@
         drawStyle: DrawStyle?,
         blendMode: BlendMode
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt
index 98fa359..36e60db 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFont.kt
@@ -231,4 +231,4 @@
 }
 
 // keep generating AndroidFontKt to avoid API change
-private fun generateAndroidFontKtForApiCompatibility() {}
\ No newline at end of file
+private fun generateAndroidFontKtForApiCompatibility() {}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontLoader.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontLoader.android.kt
index 62c270d..57d55a7 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontLoader.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontLoader.android.kt
@@ -82,4 +82,4 @@
             }
         }, null)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontResolveInterceptor.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontResolveInterceptor.android.kt
index 0c91c61..b56bf6c 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontResolveInterceptor.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontResolveInterceptor.android.kt
@@ -58,4 +58,4 @@
         0
     }
     return AndroidFontResolveInterceptor(fontWeightAdjustment)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontUtils.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontUtils.android.kt
index 2c5633f..12a2f2f 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontUtils.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidFontUtils.android.kt
@@ -70,4 +70,4 @@
     @DoNotInline
     fun create(typeface: Typeface, finalFontWeight: Int, finalFontStyle: Boolean) =
         Typeface.create(typeface, finalFontWeight, finalFontStyle)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidTypeface.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidTypeface.android.kt
index 411ef8a..c06da8f 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidTypeface.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/AndroidTypeface.android.kt
@@ -75,4 +75,4 @@
  */
 fun FontFamily(typeface: Typeface): FontFamily {
     return FontFamily(Typeface(typeface))
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.android.kt
index 24ceb0a..56914a1 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.android.kt
@@ -109,4 +109,4 @@
             else -> loader.load(font)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFont.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFont.kt
index c9ae2fc..c6e128c 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFont.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/DeviceFontFamilyNameFont.kt
@@ -130,4 +130,4 @@
     override suspend fun awaitLoad(context: Context, font: AndroidFont): Typeface? {
         throw UnsupportedOperationException("All preloaded fonts are optional local.")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.android.kt
index 0bcc0a5..e1a83a1 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.android.kt
@@ -66,4 +66,4 @@
         }
         TypefaceHelperMethodsApi28.create(typeface, finalFontWeight, finalFontStyle)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/PlatformTypefaces.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/PlatformTypefaces.kt
index 4e39b41..b86a1f0 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/PlatformTypefaces.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/font/PlatformTypefaces.kt
@@ -307,4 +307,4 @@
         in 8..10 -> "$name-black" // 900 black, fallback 800, no match 1000
         else -> name // can't reach
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.android.kt
index d8bb227..1e8f4f3 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.android.kt
@@ -51,4 +51,4 @@
      * cancelled.
      */
     fun createInputConnection(outAttrs: EditorInfo): InputConnection
-}
\ No newline at end of file
+}
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 8c3d370..602c01f 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
@@ -81,4 +81,4 @@
 
     override fun parseLanguageTag(languageTag: String): PlatformLocale =
         AndroidLocale(JavaLocale.forLanguageTag(languageTag))
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableString.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableString.android.kt
index f9f160e..0e0bb15 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableString.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidAccessibilitySpannableString.android.kt
@@ -178,4 +178,4 @@
 private object Api28Impl {
     @DoNotInline
     fun createTypefaceSpan(typeface: Typeface): TypefaceSpan = TypefaceSpan(typeface)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.android.kt
index a9ff30a..70f8f41 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.android.kt
@@ -51,4 +51,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.android.kt
index 9b0108d..859a17a 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.android.kt
@@ -58,4 +58,4 @@
                 fontStyle == FontStyle.Italic
             )
         }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidMultiParagraphDraw.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidMultiParagraphDraw.kt
index 0b86686..8f8c48e 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidMultiParagraphDraw.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidMultiParagraphDraw.kt
@@ -91,4 +91,4 @@
         it.paragraph.paint(canvas, brush, alpha, shadow, decoration, drawStyle, blendMode)
         canvas.translate(0f, it.paragraph.height)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.android.kt
index 2fd7809..b3c0f75 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.android.kt
@@ -123,4 +123,4 @@
 
 private val NoopSpan = object : CharacterStyle() {
     override fun updateDrawState(p0: TextPaint?) {}
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.android.kt
index 8dfa683..9a20cf8 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.android.kt
@@ -203,4 +203,4 @@
 }
 
 private val TextStyle.hasEmojiCompat: Boolean
-    get() = platformStyle?.paragraphStyle?.emojiSupportMatch != EmojiSupportMatch.None
\ No newline at end of file
+    get() = platformStyle?.paragraphStyle?.emojiSupportMatch != EmojiSupportMatch.None
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.android.kt
index 33e1e35..bbaab79 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.android.kt
@@ -42,4 +42,4 @@
 }
 
 internal actual fun ActualStringDelegate(): PlatformStringDelegate =
-    AndroidStringDelegate()
\ No newline at end of file
+    AndroidStringDelegate()
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTextPaint.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTextPaint.android.kt
index cc7c683..bfc47eb 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTextPaint.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTextPaint.android.kt
@@ -140,4 +140,4 @@
         val alphaInt = alpha.coerceIn(0f, 1f).times(255).roundToInt()
         setAlpha(alphaInt)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceWrapper.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceWrapper.android.kt
index 673e6ff..63ff7c7 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceWrapper.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceWrapper.android.kt
@@ -36,4 +36,4 @@
     ): Typeface {
         return typeface
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/URLSpanCache.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/URLSpanCache.kt
index a8444ba..f50503b 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/URLSpanCache.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/URLSpanCache.kt
@@ -43,4 +43,4 @@
     @Suppress("AcronymName")
     fun toURLSpan(urlAnnotation: UrlAnnotation): URLSpan =
         spansByAnnotation.getOrPut(urlAnnotation) { URLSpan(urlAnnotation.url) }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt
index 1148632..16ebd74 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.android.kt
@@ -47,4 +47,4 @@
             *localeList.map { it.toJavaLocale() }.toTypedArray()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.android.kt
index ee6daab..bc686ff 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.android.kt
@@ -193,4 +193,4 @@
     Float.MIN_VALUE
 } else {
     blurRadius
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TtsAnnotationExtensions.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TtsAnnotationExtensions.android.kt
index 8066ab1..aa3844a 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TtsAnnotationExtensions.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TtsAnnotationExtensions.android.kt
@@ -29,4 +29,4 @@
 fun VerbatimTtsAnnotation.toSpan(): TtsSpan {
     val builder = TtsSpan.VerbatimBuilder(verbatim)
     return builder.build()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/LineBreak.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/LineBreak.android.kt
index cdd2a88..6bd954f 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/LineBreak.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/LineBreak.android.kt
@@ -336,4 +336,4 @@
 
 private fun unpackByte2(mask: Int) = 0x000000FF and (mask shr 8)
 
-private fun unpackByte3(mask: Int) = 0x000000FF and (mask shr 16)
\ No newline at end of file
+private fun unpackByte3(mask: Int) = 0x000000FF and (mask shr 16)
diff --git a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/TextMotion.android.kt b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/TextMotion.android.kt
index c508974..eca6c08 100644
--- a/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/TextMotion.android.kt
+++ b/compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/style/TextMotion.android.kt
@@ -94,4 +94,4 @@
             else -> "Invalid"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
index d447d62..3398b6a 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
@@ -1123,4 +1123,4 @@
 /**
  * Returns an AnnotatedString with empty text and no annotations.
  */
-internal fun emptyAnnotatedString() = EmptyAnnotatedString
\ No newline at end of file
+internal fun emptyAnnotatedString() = EmptyAnnotatedString
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AtomicReference.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AtomicReference.kt
index 334935a..a5d2e10 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AtomicReference.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/AtomicReference.kt
@@ -23,4 +23,4 @@
     fun set(value: V)
     fun getAndSet(value: V): V
     fun compareAndSet(expect: V, newValue: V): Boolean
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/CharHelpers.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/CharHelpers.kt
index 11dd57b..661d04e 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/CharHelpers.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/CharHelpers.kt
@@ -26,4 +26,4 @@
  * Helper function that returns the following character boundary index. It will return -1 if it
  * can't go forward.
  */
-internal expect fun String.findFollowingBreak(index: Int): Int
\ No newline at end of file
+internal expect fun String.findFollowingBreak(index: Int): Int
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ExperimentalTextApi.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ExperimentalTextApi.kt
index b67456b..70f8ef4 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ExperimentalTextApi.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ExperimentalTextApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is experimental and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalTextApi
\ No newline at end of file
+annotation class ExperimentalTextApi
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt
index 710ac39..0eea1c1 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt
@@ -26,4 +26,4 @@
     AnnotationTarget.PROPERTY
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class InternalTextApi
\ No newline at end of file
+annotation class InternalTextApi
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt
index c1839cb..cd86a8f 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt
@@ -149,4 +149,4 @@
     val intrinsics: ParagraphIntrinsics,
     val startIndex: Int,
     val endIndex: Int
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
index 8cbe75b..f9d7e81 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
@@ -559,4 +559,4 @@
     constraints
 )
 
-internal fun Float.ceilToInt(): Int = ceil(this).toInt()
\ No newline at end of file
+internal fun Float.ceilToInt(): Int = ceil(this).toInt()
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt
index b63d2cf..4aa26740 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt
@@ -102,4 +102,4 @@
     placeholders = placeholders,
     density = density,
     fontFamilyResolver = fontFamilyResolver
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt
index 7e7f2eb..5e85d27 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt
@@ -133,4 +133,4 @@
          */
         val TextCenter = PlaceholderVerticalAlign(7)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/PlatformTextStyle.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/PlatformTextStyle.kt
index 549354e..0c8ea32 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/PlatformTextStyle.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/PlatformTextStyle.kt
@@ -94,4 +94,4 @@
     start: PlatformSpanStyle,
     stop: PlatformSpanStyle,
     fraction: Float
-): PlatformSpanStyle
\ No newline at end of file
+): PlatformSpanStyle
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Savers.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Savers.kt
index c5ad4ce..4ebba20 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Savers.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Savers.kt
@@ -418,4 +418,4 @@
 private val LocaleSaver = Saver<Locale, Any>(
     save = { it.toLanguageTag() },
     restore = { Locale(languageTag = it as String) }
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt
index 9a92316..c24f8d2 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt
@@ -948,4 +948,4 @@
     if (platformStyle == null) return other
     if (other == null) return platformStyle
     return platformStyle.merge(other)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/String.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/String.kt
index 8261b49..4b9b08b 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/String.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/String.kt
@@ -135,4 +135,4 @@
 fun String.decapitalize(localeList: LocaleList): String =
     if (localeList.isEmpty()) decapitalize(Locale.current) else decapitalize(localeList[0])
 
-private val stringDelegate = ActualStringDelegate()
\ No newline at end of file
+private val stringDelegate = ActualStringDelegate()
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt
index cc822d5..584b461 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt
@@ -600,4 +600,4 @@
             "placeholderRects=$placeholderRects" +
             ")"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurer.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurer.kt
index eb8cef9..533d7eb 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurer.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurer.kt
@@ -409,4 +409,4 @@
 
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt
index 23f39f9..d215853 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt
@@ -395,4 +395,4 @@
     }
 
     return Constraints(minWidth, maxWidth, minHeight, maxHeight)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt
index 2fbf0a79..6d7115a 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt
@@ -125,4 +125,4 @@
         "end cannot be negative. [start: $start, end: $end]"
     }
     return packInts(start, end)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TtsAnnotation.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TtsAnnotation.kt
index 95373e8..a66ad82 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TtsAnnotation.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/TtsAnnotation.kt
@@ -45,4 +45,4 @@
     override fun toString(): String {
         return "VerbatimTtsAnnotation(verbatim=$verbatim)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/UrlAnnotation.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/UrlAnnotation.kt
index e47f951..7573ee7 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/UrlAnnotation.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/UrlAnnotation.kt
@@ -37,4 +37,4 @@
     override fun toString(): String {
         return "UrlAnnotation(url=$url)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/ContainerHelpers.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/ContainerHelpers.kt
index 92676d0..c9a697c 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/ContainerHelpers.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/caches/ContainerHelpers.kt
@@ -46,4 +46,4 @@
         }
     }
     return lo.inv() // value not present
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.kt
index 59636a8..dcf7c54 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/DelegatingFontLoaderForDeprecatedUsage.kt
@@ -23,4 +23,4 @@
 )
 internal expect fun createFontFamilyResolver(
     fontResourceLoader: Font.ResourceLoader
-): FontFamily.Resolver
\ No newline at end of file
+): FontFamily.Resolver
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.kt
index 81bc069..a348a3d 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamilyResolver.kt
@@ -245,4 +245,4 @@
         get() = synchronized(lock) {
             resultCache.size
         }
-}
\ No newline at end of file
+}
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 783254f..9d0e94c 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
@@ -424,4 +424,4 @@
             put(font, platformFontLoader, it)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt
index bca26c5..b227277 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt
@@ -162,4 +162,4 @@
     ): List<Font> {
         return matchFont(fontFamily.fonts, fontWeight, fontStyle)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt
index 80a3f17..70cd4f7f 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt
@@ -98,4 +98,4 @@
     font: Font,
     requestedWeight: FontWeight,
     requestedStyle: FontStyle
-): Any
\ No newline at end of file
+): Any
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontVariation.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontVariation.kt
index 2332e60..bc4f389 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontVariation.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/font/FontVariation.kt
@@ -369,4 +369,4 @@
     ): Settings {
         return Settings(weight(weight.weight), italic(style.value.toFloat()), *settings)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditCommand.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditCommand.kt
index 1b03ee1..f78b444 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditCommand.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditCommand.kt
@@ -560,4 +560,4 @@
  * is a Unicode low-surrogate code unit.
  */
 private fun isSurrogatePair(high: Char, low: Char): Boolean =
-    high.isHighSurrogate() && low.isLowSurrogate()
\ No newline at end of file
+    high.isHighSurrogate() && low.isLowSurrogate()
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt
index 09c150e..b8ef202 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt
@@ -175,4 +175,4 @@
         // Do not return toString() by default, since that might contain sensitive text.
         else -> "Unknown EditCommand: " + (this::class.simpleName ?: "{anonymous EditCommand}")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt
index 1ef3163..7b816a1 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt
@@ -97,4 +97,4 @@
         @Stable
         val Done: ImeAction = ImeAction(7)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeOptions.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeOptions.kt
index 86152fd..abc8377 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeOptions.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeOptions.kt
@@ -96,4 +96,4 @@
         return "ImeOptions(singleLine=$singleLine, capitalization=$capitalization, " +
             "autoCorrect=$autoCorrect, keyboardType=$keyboardType, imeAction=$imeAction)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventCallback.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventCallback.kt
index 27433de..d6d18d9 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventCallback.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventCallback.kt
@@ -38,4 +38,4 @@
      */
     @Suppress("CallbackMethodName")
     fun onImeAction(imeAction: ImeAction)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardCapitalization.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardCapitalization.kt
index 8981899..f9819aa 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardCapitalization.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardCapitalization.kt
@@ -60,4 +60,4 @@
         @Stable
         val Sentences = KeyboardCapitalization(3)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.kt
index d0851f9..4dcc7fa 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.kt
@@ -20,4 +20,4 @@
  * Represents a request to open a platform-specific text input session via
  * `PlatformTextInputModifierNode.textInputSession`.
  */
-expect interface PlatformTextInputMethodRequest
\ No newline at end of file
+expect interface PlatformTextInputMethodRequest
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt
index ed074ba..77f74d1 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt
@@ -198,4 +198,4 @@
 /**
  * Returns the currently selected text.
  */
-fun TextFieldValue.getSelectedText(): AnnotatedString = annotatedString.subSequence(selection)
\ No newline at end of file
+fun TextFieldValue.getSelectedText(): AnnotatedString = annotatedString.subSequence(selection)
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.kt
index b49c2e4..f788d98 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.text.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformMultiParagraphDraw.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformMultiParagraphDraw.kt
index 79208ff..a398968 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformMultiParagraphDraw.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformMultiParagraphDraw.kt
@@ -41,4 +41,4 @@
     decoration: TextDecoration? = null,
     drawStyle: DrawStyle? = null,
     blendMode: BlendMode = BlendMode.SrcOver
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt
index 3f754003..78815c0 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt
@@ -73,4 +73,4 @@
     placeholders: List<AnnotatedString.Range<Placeholder>>,
     density: Density,
     fontFamilyResolver: FontFamily.Resolver
-): ParagraphIntrinsics
\ No newline at end of file
+): ParagraphIntrinsics
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt
index 95f3d64..7f5ba3e 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt
@@ -18,4 +18,4 @@
 
 import androidx.compose.ui.text.PlatformStringDelegate
 
-internal expect fun ActualStringDelegate(): PlatformStringDelegate
\ No newline at end of file
+internal expect fun ActualStringDelegate(): PlatformStringDelegate
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt
index f650511..df1d450 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt
@@ -64,4 +64,4 @@
             fraction
         )
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/LineBreak.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/LineBreak.kt
index 44d49c1..0dea51a3 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/LineBreak.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/LineBreak.kt
@@ -67,4 +67,4 @@
         @Stable
         val Paragraph: LineBreak
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt
index 19f57ab..8e379e8 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt
@@ -32,4 +32,4 @@
      * Represents the text that is right-to-left.
      */
     Rtl
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextForegroundStyle.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextForegroundStyle.kt
index 517236f..f21c244 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextForegroundStyle.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextForegroundStyle.kt
@@ -145,4 +145,4 @@
 
 private fun Float.takeOrElse(block: () -> Float): Float {
     return if (this.isNaN()) block() else this
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextMotion.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextMotion.kt
index 145ae70..50d95a5 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextMotion.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextMotion.kt
@@ -40,4 +40,4 @@
          */
         val Animated: TextMotion
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
index da392d0..8fc4117 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
@@ -68,4 +68,4 @@
         @Stable
         val Visible = TextOverflow(3)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.desktop.kt b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.desktop.kt
index ccb4e3f..e9e9e9f 100644
--- a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.desktop.kt
+++ b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/JvmCharHelpers.desktop.kt
@@ -28,4 +28,4 @@
     val it = BreakIterator.makeCharacterInstance()
     it.setText(this)
     return it.following(index)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.desktop.kt b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.desktop.kt
index f2ac5ec..44b8f04 100644
--- a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.desktop.kt
+++ b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.desktop.kt
@@ -24,4 +24,4 @@
     font: Font,
     requestedWeight: FontWeight,
     requestedStyle: FontStyle
-): Any = typeface
\ No newline at end of file
+): Any = typeface
diff --git a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.desktop.kt b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.desktop.kt
index f1b408d5..503015a 100644
--- a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.desktop.kt
+++ b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.desktop.kt
@@ -36,4 +36,4 @@
      * [Component.getInputMethodRequests] while the session is active.
      */
     val inputMethodRequests: InputMethodRequests
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.desktop.kt b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.desktop.kt
index 87dbb789..8a42784 100644
--- a/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.desktop.kt
+++ b/compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/platform/DesktopStringDelegate.desktop.kt
@@ -43,4 +43,4 @@
 }
 
 internal actual fun ActualStringDelegate(): PlatformStringDelegate =
-    DesktopStringDelegate()
\ No newline at end of file
+    DesktopStringDelegate()
diff --git a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/CacheTest.kt b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/CacheTest.kt
index 0bc44ec..9d1d6b6 100644
--- a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/CacheTest.kt
+++ b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/CacheTest.kt
@@ -126,4 +126,4 @@
         Truth.assertThat(cache.map.size)
             .isEqualTo(1)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopFontTest.kt b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopFontTest.kt
index 155edc2..7c60589 100644
--- a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopFontTest.kt
+++ b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/DesktopFontTest.kt
@@ -74,4 +74,4 @@
         Truth.assertThat(fontLoader.loadPlatformTypes(loadedFontFamily).aliases)
             .isEqualTo(listOf("Sample Font"))
     }
-}
\ No newline at end of file
+}
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 f9c9607..5c1e63a 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
@@ -334,4 +334,4 @@
             constraints = Constraints(maxWidth = width.ceilToInt()),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/TestUtils.kt b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/TestUtils.kt
index e283426..79eac26 100644
--- a/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/TestUtils.kt
+++ b/compose/ui/ui-text/src/desktopTest/kotlin/androidx/compose/ui/text/TestUtils.kt
@@ -19,4 +19,4 @@
 private val os = System.getProperty("os.name").lowercase()
 internal val isLinux = os.startsWith("linux")
 internal val isWindows = os.startsWith("win")
-internal val isMacOs = os.startsWith("mac")
\ No newline at end of file
+internal val isMacOs = os.startsWith("mac")
diff --git a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/input/GapBuffer.jvm.kt b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/input/GapBuffer.jvm.kt
index 522fe42..9238ccc 100644
--- a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/input/GapBuffer.jvm.kt
+++ b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/input/GapBuffer.jvm.kt
@@ -24,4 +24,4 @@
 ) {
     @Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
     (this as java.lang.String).getChars(startIndex, endIndex, destination, destinationOffset)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.jvm.kt
index 450447e..88c3269 100644
--- a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.text.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/platform/Synchronization.jvm.kt b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/platform/Synchronization.jvm.kt
index a688db2..9421baf 100644
--- a/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/platform/Synchronization.jvm.kt
+++ b/compose/ui/ui-text/src/jvmMain/kotlin/androidx/compose/ui/text/platform/Synchronization.jvm.kt
@@ -22,4 +22,4 @@
 
 internal actual inline fun <R> synchronized(lock: SynchronizedObject, block: () -> R): R {
     return kotlin.synchronized(lock, block)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/DesktopTextStyle.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/DesktopTextStyle.skiko.kt
index bcd4619..c78eb71 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/DesktopTextStyle.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/DesktopTextStyle.skiko.kt
@@ -140,4 +140,4 @@
     fraction: Float
 ): PlatformSpanStyle {
     return start
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/Paragraph.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/Paragraph.skiko.kt
index 2a0538e..251124e 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/Paragraph.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/Paragraph.skiko.kt
@@ -76,4 +76,4 @@
         drawStyle: DrawStyle?,
         blendMode: BlendMode
     )
-}
\ No newline at end of file
+}
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 73d9583..4827ba2 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
@@ -73,4 +73,4 @@
 @OptIn(ExperimentalTextApi::class)
 internal fun createFontFamilyResolver(fontCache: FontCache): FontFamily.Resolver {
     return FontFamilyResolverImpl(SkiaFontLoader(fontCache))
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.skiko.kt
index 22f1e52..10c76dc 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/PlatformFontFamilyTypefaceAdapter.skiko.kt
@@ -34,4 +34,4 @@
         )
         return TypefaceResult.Immutable(result)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/SkiaFontLoader.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/SkiaFontLoader.skiko.kt
index ca2e9f6..7ed707a 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/SkiaFontLoader.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/font/SkiaFontLoader.skiko.kt
@@ -66,4 +66,4 @@
     }
 
     override val cacheKey: Any = fontCache // results are valid for all shared caches
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/ParagraphLayouter.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/ParagraphLayouter.skiko.kt
index 61b2f14..a020695 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/ParagraphLayouter.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/ParagraphLayouter.skiko.kt
@@ -104,4 +104,4 @@
         }
         return para
     }
-}
\ No newline at end of file
+}
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 9eb93ef..9cc0c21 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
@@ -215,4 +215,4 @@
 }
 
 internal expect val typefacesCache: Cache<String, SkTypeface>
-internal expect fun loadFromTypefacesCache(font: Font): SkTypeface
\ No newline at end of file
+internal expect fun loadFromTypefacesCache(font: Font): SkTypeface
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.skiko.kt
index 923d798..967a500 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaMultiParagraphDraw.skiko.kt
@@ -42,4 +42,4 @@
         canvas.translate(0f, it.paragraph.height)
     }
     canvas.restore()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.skiko.kt
index b4739b4..0a94be1 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/platform/SkiaParagraphIntrinsics.skiko.kt
@@ -90,4 +90,4 @@
     private fun contentBasedTextDirection() = text.contentBasedTextDirection()
 }
 
-internal expect fun String.contentBasedTextDirection(): ResolvedTextDirection?
\ No newline at end of file
+internal expect fun String.contentBasedTextDirection(): ResolvedTextDirection?
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/LineBreak.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/LineBreak.skiko.kt
index 300119a..dad3ca8 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/LineBreak.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/LineBreak.skiko.kt
@@ -30,4 +30,4 @@
 
         actual val Paragraph: LineBreak = LineBreak(3)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/TextMotion.skiko.kt b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/TextMotion.skiko.kt
index 63c3537..eb79c74 100644
--- a/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/TextMotion.skiko.kt
+++ b/compose/ui/ui-text/src/skikoMain/kotlin/androidx/compose/ui/text/style/TextMotion.skiko.kt
@@ -25,4 +25,4 @@
 
         actual val Animated: TextMotion = TextMotion()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt
index 16c64c8..7e8e019 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt
@@ -1163,4 +1163,4 @@
         start = indexOf(start),
         end = indexOf(end) + 1
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt
index 05297b1..63ad3da 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt
@@ -559,4 +559,4 @@
             addStyle(ParagraphStyle(), 0, 2)
         }
     }
-}
\ No newline at end of file
+}
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 2f4bc88..20a0dc2 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
@@ -326,4 +326,4 @@
         assertThat(uppercase.spanStyles).isEqualTo(input.spanStyles)
         assertThat(uppercase.paragraphStyles).isEqualTo(input.paragraphStyles)
     }
-}
\ No newline at end of file
+}
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 469aa3f..469b97e6 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
@@ -75,4 +75,4 @@
                 .isEqualTo(i / paragraphHeight)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt
index a17d7f1..86bec68c 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt
@@ -41,4 +41,4 @@
             placeholderVerticalAlign = PlaceholderVerticalAlign.AboveBaseline
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/SaversTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/SaversTest.kt
index 8cb738b..8365149 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/SaversTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/SaversTest.kt
@@ -398,4 +398,4 @@
 
         assertThat(LocaleList.Saver.restore(saved!!)).isEqualTo(original)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextRangeTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextRangeTest.kt
index 9c47e02..dbcdce2 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextRangeTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/TextRangeTest.kt
@@ -163,4 +163,4 @@
         assertThat(TextRange(0, 1).toString()).isEqualTo("TextRange(0, 1)")
         assertThat(TextRange(1, 1).toString()).isEqualTo("TextRange(1, 1)")
     }
-}
\ No newline at end of file
+}
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 7b894df..3c7d779 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
@@ -393,4 +393,4 @@
     ) {
         constructor(parameter: KProperty1<*, *>) : this(parameter.name, parameter.returnType)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AndroidFontResolverInterceptorTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AndroidFontResolverInterceptorTest.kt
index 3de00a3a..4f352de 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AndroidFontResolverInterceptorTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/AndroidFontResolverInterceptorTest.kt
@@ -95,4 +95,4 @@
         assertThat(subject.interceptFontSynthesis(FontSynthesis.Weight))
             .isEqualTo(FontSynthesis.Weight)
     }
-}
\ No newline at end of file
+}
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 89883bd..89b1749 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
@@ -146,4 +146,4 @@
             override val cacheKey: String = "androidx.compose.ui.text.font.makeResourceLoader"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt
index e2298bf..2ba7e82 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt
@@ -87,4 +87,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt
index 0315bcd..ab361ef 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt
@@ -928,4 +928,4 @@
         @ExperimentalTextApi
         override val loadingStrategy: FontLoadingStrategy = FontLoadingStrategy.Blocking
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTest.kt
index 1673ded..b2db0b0 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTest.kt
@@ -82,4 +82,4 @@
         assertThat(fontFamily).isNotEmpty()
         assertThat(fontFamily[0]).isSameInstanceAs(font)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTestData.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTestData.kt
index 2393d7a..a3514ed 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTestData.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontTestData.kt
@@ -194,4 +194,4 @@
             style = FontStyle.Italic
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontVariationTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontVariationTest.kt
index cac46e1..08ae46f 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontVariationTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontVariationTest.kt
@@ -160,4 +160,4 @@
         assertThat(variation.axisName).isEqualTo("fzzt")
         assertThat(variation.toVariationValue(null)).isEqualTo(7f)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt
index f22a6400..0d0a4db 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt
@@ -137,4 +137,4 @@
         assertThat(FontWeight.W400.compareTo(FontWeight.W300)).isEqualTo(1)
         assertThat(FontWeight.W400.compareTo(FontWeight.W500)).isEqualTo(-1)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt
index 86147f6..8c56a73 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt
@@ -33,4 +33,4 @@
 
         assertThat(loadedFontFamily.typeface).isEqualTo(typeface)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/ResourceFontVariationSettingsTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/ResourceFontVariationSettingsTest.kt
index 189eb795f..d38bcac 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/ResourceFontVariationSettingsTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/font/ResourceFontVariationSettingsTest.kt
@@ -75,4 +75,4 @@
 
         assertThat(resourceFont.hashCode()).isNotEqualTo(resourceFont2.hashCode())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/CommitTextCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/CommitTextCommandTest.kt
index 81d5e19..2c7a253 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/CommitTextCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/CommitTextCommandTest.kt
@@ -182,4 +182,4 @@
         assertThat(eb.cursor).isEqualTo(6)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextCommandTest.kt
index fe3eea8..bd134c2 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextCommandTest.kt
@@ -297,4 +297,4 @@
         assertThat(eb.toString()).isEqualTo("bcde")
         assertThat(eb.cursor).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsCommandTest.kt
index 72d1ccf4..73492cc 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsCommandTest.kt
@@ -308,4 +308,4 @@
         assertThat(eb.toString()).isEqualTo("bcde")
         assertThat(eb.cursor).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
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 64bd8a4..12db189 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
@@ -332,4 +332,4 @@
         )
         assertThat(error).hasCauseThat().hasMessageThat().isEqualTo("Better luck next time")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt
index a8b520e..56c8497 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt
@@ -433,4 +433,4 @@
         assertThat(eb.cursor).isEqualTo(0)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/FinishComposingTextCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/FinishComposingTextCommandTest.kt
index 5858de9..e6449d9 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/FinishComposingTextCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/FinishComposingTextCommandTest.kt
@@ -49,4 +49,4 @@
         assertThat(eb.selectionEnd).isEqualTo(4)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt
index ad381bc..e3ac749 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt
@@ -682,4 +682,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt
index 561ae15..a3129b6 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt
@@ -53,4 +53,4 @@
             assertThat(offsetMapping.transformedToOriginal(i)).isEqualTo(i)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingRegionCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingRegionCommandTest.kt
index 81c5159..f6b7e46 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingRegionCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingRegionCommandTest.kt
@@ -127,4 +127,4 @@
         assertThat(eb.compositionStart).isEqualTo(0)
         assertThat(eb.compositionEnd).isEqualTo(5)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingTextCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingTextCommandTest.kt
index f0d5992..4ee8fae 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingTextCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetComposingTextCommandTest.kt
@@ -202,4 +202,4 @@
         assertThat(eb.compositionStart).isEqualTo(5)
         assertThat(eb.compositionEnd).isEqualTo(6)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetSelectionCommandTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetSelectionCommandTest.kt
index 995f7dc..baec7aa 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetSelectionCommandTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/SetSelectionCommandTest.kt
@@ -122,4 +122,4 @@
         assertThat(eb.selectionEnd).isEqualTo(5)
         assertThat(eb.hasComposition()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt
index d14b201..48da0c4 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt
@@ -235,4 +235,4 @@
 
         assertThat(restored).isEqualTo(original)
     }
-}
\ No newline at end of file
+}
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 fcb894e..6cce6e9 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
@@ -69,4 +69,4 @@
             assertThat(subject[i]).isEqualTo(expected[i])
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt
index f29101d..d57c0cd 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt
@@ -32,4 +32,4 @@
         val lerpBaselineShift = lerp(a, b, t)
         assertThat(lerpBaselineShift.multiplier).isEqualTo(1.3f)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/HyphensTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/HyphensTest.kt
index bb75b61..e776927 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/HyphensTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/HyphensTest.kt
@@ -54,4 +54,4 @@
         val otherHyphens = Hyphens.Auto
         assertThat(hyphens.hashCode()).isEqualTo(otherHyphens.hashCode())
     }
-}
\ No newline at end of file
+}
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 1aeef097..8d9fc96 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
@@ -105,4 +105,4 @@
         )
         assertThat(lineHeightStyle.hashCode()).isEqualTo(otherLineHeightStyle.hashCode())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt
index 6fcbdb0..28df454 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt
@@ -78,4 +78,4 @@
             (TextDecoration.Underline + TextDecoration.LineThrough).toString()
         ).isEqualTo("TextDecoration[Underline, LineThrough]")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextForegroundStyleTest.kt b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextForegroundStyleTest.kt
index f9be743..9b2d38e 100644
--- a/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextForegroundStyleTest.kt
+++ b/compose/ui/ui-text/src/test/java/androidx/compose/ui/text/style/TextForegroundStyleTest.kt
@@ -191,4 +191,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/OffsetData.kt b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/OffsetData.kt
index 06a5051..61727c4 100644
--- a/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/OffsetData.kt
+++ b/compose/ui/ui-tooling-data/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/data/OffsetData.kt
@@ -85,4 +85,4 @@
 @Composable
 fun Greeting(name: String) {
     Text(text = "Hello $name!")
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling-data/src/jvmMain/kotlin/androidx/compose/ui/tooling/data/UiToolingDataApi.kt b/compose/ui/ui-tooling-data/src/jvmMain/kotlin/androidx/compose/ui/tooling/data/UiToolingDataApi.kt
index 15b71a6..8049a4c 100644
--- a/compose/ui/ui-tooling-data/src/jvmMain/kotlin/androidx/compose/ui/tooling/data/UiToolingDataApi.kt
+++ b/compose/ui/ui-tooling-data/src/jvmMain/kotlin/androidx/compose/ui/tooling/data/UiToolingDataApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is for tooling only and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class UiToolingDataApi
\ No newline at end of file
+annotation class UiToolingDataApi
diff --git a/compose/ui/ui-tooling-preview/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/Preview.kt b/compose/ui/ui-tooling-preview/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/Preview.kt
index 520f4a6..d57ddc4 100644
--- a/compose/ui/ui-tooling-preview/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/Preview.kt
+++ b/compose/ui/ui-tooling-preview/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/Preview.kt
@@ -20,4 +20,4 @@
 @Target(
     AnnotationTarget.FUNCTION
 )
-annotation class Preview
\ No newline at end of file
+annotation class Preview
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeInvokerTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeInvokerTest.kt
index 68328d1..efe77d9 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeInvokerTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/ComposeInvokerTest.kt
@@ -184,4 +184,4 @@
         override val values: Sequence<CornerRadius>
             get() = sequenceOf(CornerRadius(42f), CornerRadius.Zero, CornerRadius(0f, 34f))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt
index 806dd6c..b916f34 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/DesignInfoProviderComposable.kt
@@ -52,4 +52,4 @@
                 }
             }
         }
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/HotReloaderTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/HotReloaderTest.kt
index baa0d04..3c117e8 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/HotReloaderTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/HotReloaderTest.kt
@@ -47,4 +47,4 @@
         assertNotNull(saveStateAndDisposeMethod)
         assertNotNull(loadStateAndDisposeMethod)
     }
-}
\ No newline at end of file
+}
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 03e6561..2d81a2e 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
@@ -70,4 +70,4 @@
                     Text("Hello world")
             }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestAnimationPreview.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestAnimationPreview.kt
index 1ec7539..623f4ee 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestAnimationPreview.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestAnimationPreview.kt
@@ -476,4 +476,4 @@
 fun MaterialPreview() {
     val state = remember { mutableStateOf(ToggleableState.On) }.value
     TriStateCheckbox(state, {})
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestViewModel.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestViewModel.kt
index fa3f31c..429a983 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestViewModel.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/TestViewModel.kt
@@ -31,4 +31,4 @@
     fun increaseCounter() {
         counter.value = ++count
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimationTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimationTest.kt
index 459a6aa..6d19a7d 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimationTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimationTest.kt
@@ -286,4 +286,4 @@
         assertNotNull(composeAnimation.toolingState)
         return composeAnimation
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimationTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimationTest.kt
index 2fcda35..e7ececc 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimationTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimationTest.kt
@@ -87,4 +87,4 @@
         assertEquals(1, search.animations.size)
         assertNull(search.animations.first().parseAnimatedContent())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimationTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimationTest.kt
index 6c06aaf..1711089 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimationTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimationTest.kt
@@ -41,4 +41,4 @@
             Assert.assertNull(composeAnimation.childTransition)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimationSearchTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimationSearchTest.kt
index 5b00bba..8996987 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimationSearchTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/AnimationSearchTest.kt
@@ -393,4 +393,4 @@
         rule.searchAndTrackAllAnimations(search) { AnimatedContentExtensionPreview() }
         assertTrue(search.hasAnimations)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimationTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimationTest.kt
index 90d7752..cca3022 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimationTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimationTest.kt
@@ -68,4 +68,4 @@
         }
         InfiniteTransitionComposeAnimation.testOverrideAvailability(true)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt
index 2b6de36..c765d46 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/PreviewAnimationClockTest.kt
@@ -682,4 +682,4 @@
 
 private enum class RotationColor { RC1, RC2, RC3 }
 
-private const val eps = 0.00001f
\ No newline at end of file
+private const val eps = 0.00001f
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimationTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimationTest.kt
index b0d110e..8de8eb7 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimationTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimationTest.kt
@@ -103,4 +103,4 @@
             Assert.assertEquals(setOf(TransitionClockTest.CustomState(0)), composeAnimation.states)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/Utils.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/Utils.kt
index 9cb987b..c91edb6 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/Utils.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/Utils.kt
@@ -128,4 +128,4 @@
     fun assertEquals(expected: Long, actual: Long, delta: Long) {
         Assert.assertEquals(null, expected.toFloat(), actual.toFloat(), delta.toFloat())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClockTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClockTest.kt
index f58d39d..b55547c 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClockTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClockTest.kt
@@ -677,4 +677,4 @@
             assertEquals(listOf(ComposeAnimatedProperty(label, newTargetValue)), properties)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClockTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClockTest.kt
index d19c2f8..6bad9d0 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClockTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClockTest.kt
@@ -184,4 +184,4 @@
         rule.waitForIdle()
         return clock
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClockTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClockTest.kt
index d1a0b86..4d920ca 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClockTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClockTest.kt
@@ -299,4 +299,4 @@
             assertEquals(1300, clock.getMaxDuration())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClockTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClockTest.kt
index 39af8c6..48b3e9c 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClockTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClockTest.kt
@@ -683,4 +683,4 @@
     fun assertEquals(expected: Long, actual: Long, delta: Long) {
         assertEquals(null, expected.toFloat(), actual.toFloat(), delta.toFloat())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/UtilsTest.kt b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/UtilsTest.kt
index a5cf31a..e3e263d 100644
--- a/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/UtilsTest.kt
+++ b/compose/ui/ui-tooling/src/androidAndroidTest/kotlin/androidx/compose/ui/tooling/animation/clock/UtilsTest.kt
@@ -291,4 +291,4 @@
             ), value
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt
index fef35b7..0f33184 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/LayoutlibFontResourceLoader.kt
@@ -48,4 +48,4 @@
     fun load(context: Context, font: ResourceFont): Typeface {
         return context.resources.getFont(font.resId)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.android.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.android.kt
index 981a832..77b605b 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.android.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.android.kt
@@ -31,4 +31,4 @@
             Log.e(Tag, message, throwable)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ShadowViewInfo.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ShadowViewInfo.kt
index 40e5b35..9d7614d 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ShadowViewInfo.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ShadowViewInfo.kt
@@ -117,4 +117,4 @@
     }
 
     return newTree
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ViewInfoUtil.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ViewInfoUtil.kt
index 3a0a662..0240056 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ViewInfoUtil.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/ViewInfoUtil.kt
@@ -75,4 +75,4 @@
         }
 
     return builder.toString()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimation.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimation.kt
index a1e339b..b97565b 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimation.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimateXAsStateComposeAnimation.kt
@@ -73,4 +73,4 @@
             apiAvailable = override
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimation.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimation.kt
index f825633..d2a2ea8 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimation.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedContentComposeAnimation.kt
@@ -60,4 +60,4 @@
             apiAvailable = override
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimation.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimation.kt
index 2c123fb..cc946833 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimation.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimatedVisibilityComposeAnimation.kt
@@ -44,4 +44,4 @@
     @Suppress("UNCHECKED_CAST")
     val childTransition: Transition<Any>?
         get() = animationObject.transitions.getOrNull(0) as? Transition<Any>
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimationSearch.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimationSearch.kt
index 268394b..7e61b68 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimationSearch.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/AnimationSearch.kt
@@ -352,4 +352,4 @@
                 }.findRememberedData())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimation.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimation.kt
index 092f5a1..751b170 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimation.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/InfiniteTransitionComposeAnimation.kt
@@ -65,4 +65,4 @@
             apiAvailable = override
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ToolingState.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ToolingState.kt
index c785e65..0cf6e60 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ToolingState.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/ToolingState.kt
@@ -36,4 +36,4 @@
  */
 class ToolingState<T>(default: T) : State<T> {
     override var value by mutableStateOf(default)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimation.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimation.kt
index 7f313f6..53f9e03 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimation.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/TransitionComposeAnimation.kt
@@ -41,4 +41,4 @@
     override val label: String?
 ) : ComposeAnimation, TransitionBasedAnimation<T> {
     override val type = ComposeAnimationType.TRANSITION_ANIMATION
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/UnsupportedComposeAnimation.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/UnsupportedComposeAnimation.kt
index 33bd152..765d62e 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/UnsupportedComposeAnimation.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/UnsupportedComposeAnimation.kt
@@ -49,4 +49,4 @@
             apiAvailable = override
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClock.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClock.kt
index 7367903..b6328bd 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClock.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimateXAsStateClock.kt
@@ -94,4 +94,4 @@
             initialVelocity = animation.animationObject.velocity
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClock.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClock.kt
index aeb3e35..f1eeb55 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClock.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/AnimatedVisibilityClock.kt
@@ -83,4 +83,4 @@
 
     private fun AnimatedVisibilityState.toCurrentTargetPair() =
         if (this == AnimatedVisibilityState.Enter) false to true else true to false
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/ComposeAnimationClock.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/ComposeAnimationClock.kt
index 239805a..8de5646 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/ComposeAnimationClock.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/ComposeAnimationClock.kt
@@ -59,4 +59,4 @@
      * [setStateParameters] allows to update [state] in that case.
      */
     fun setStateParameters(par1: Any, par2: Any? = null)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClock.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClock.kt
index 2cc56af..50572b8 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClock.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/InfiniteTransitionClock.kt
@@ -82,4 +82,4 @@
         val animation = repeatableSpec.animation.vectorize(typeConverter)
         return millisToNanos(animation.delayMillis.toLong() + animation.durationMillis * repeats)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClock.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClock.kt
index da45461..75efa36 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClock.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/TransitionClock.kt
@@ -84,4 +84,4 @@
             state.initial, state.target, animationTimeNanos
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/Utils.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/Utils.kt
index 0ecdc83..d2a700f 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/Utils.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/clock/Utils.kt
@@ -277,4 +277,4 @@
         }
     }
     return null
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/AnimatedVisibilityState.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/AnimatedVisibilityState.kt
index 1e928d2..20bcff6 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/AnimatedVisibilityState.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/AnimatedVisibilityState.kt
@@ -28,4 +28,4 @@
         val Enter = AnimatedVisibilityState("Enter")
         val Exit = AnimatedVisibilityState("Exit")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/ComposeAnimationState.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/ComposeAnimationState.kt
index 4673b8f..6ec28c6 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/ComposeAnimationState.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/ComposeAnimationState.kt
@@ -19,4 +19,4 @@
 import androidx.compose.ui.tooling.animation.clock.ComposeAnimationClock
 
 /** State of [ComposeAnimationClock]. */
-internal interface ComposeAnimationState
\ No newline at end of file
+internal interface ComposeAnimationState
diff --git a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/TargetState.kt b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/TargetState.kt
index fcffb740..6f3d736 100644
--- a/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/TargetState.kt
+++ b/compose/ui/ui-tooling/src/androidMain/kotlin/androidx/compose/ui/tooling/animation/states/TargetState.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.tooling.animation.states
 
 /** [ComposeAnimationState] for animations with [initial] and [target] states. */
-internal data class TargetState<T>(val initial: T, val target: T) : ComposeAnimationState
\ No newline at end of file
+internal data class TargetState<T>(val initial: T, val target: T) : ComposeAnimationState
diff --git a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/PreviewLogger.desktop.kt b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/PreviewLogger.desktop.kt
index 7b9ca9f..fd8b2bd3 100644
--- a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/PreviewLogger.desktop.kt
+++ b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/PreviewLogger.desktop.kt
@@ -29,4 +29,4 @@
             System.err.println("$Tag: $message.\n$throwable")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/NonInteractivePreviewFacade.kt b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/NonInteractivePreviewFacade.kt
index 5cec2cc..43b3ce5 100644
--- a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/NonInteractivePreviewFacade.kt
+++ b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/NonInteractivePreviewFacade.kt
@@ -65,4 +65,4 @@
             return window.surface.makeImageSnapshot().encodeToData()!!.bytes
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt
index a64124c..037308b 100644
--- a/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt
+++ b/compose/ui/ui-tooling/src/desktopMain/kotlin/androidx/compose/desktop/ui/tooling/preview/runtime/PreviewRunner.kt
@@ -55,4 +55,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.jvm.kt b/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.jvm.kt
index c26ea17..967ba0c 100644
--- a/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.jvm.kt
+++ b/compose/ui/ui-tooling/src/jvmMain/kotlin/androidx/compose/ui/tooling/PreviewLogger.jvm.kt
@@ -23,4 +23,4 @@
 
         internal fun logError(message: String, throwable: Throwable? = null)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/samples/src/main/java/androidx/compose/ui/unit/samples/DpSample.kt b/compose/ui/ui-unit/samples/src/main/java/androidx/compose/ui/unit/samples/DpSample.kt
index 7a3e049..9937c09 100644
--- a/compose/ui/ui-unit/samples/src/main/java/androidx/compose/ui/unit/samples/DpSample.kt
+++ b/compose/ui/ui-unit/samples/src/main/java/androidx/compose/ui/unit/samples/DpSample.kt
@@ -50,4 +50,4 @@
             drawRect(Color.Red, style = Stroke(lineThicknessPx))
         }
     }
-}
\ No newline at end of file
+}
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 dc7c3ea..e38840e 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
@@ -54,4 +54,4 @@
     companion object {
         class TestActivity : Activity()
     }
-}
\ No newline at end of file
+}
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 8c08f71..090c7fb 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
@@ -65,4 +65,4 @@
     companion object {
         class TestActivity : Activity()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/ExperimentalUnitApi.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/ExperimentalUnitApi.kt
index 3db6a8c..a037e98 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/ExperimentalUnitApi.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/ExperimentalUnitApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is experimental and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalUnitApi
\ No newline at end of file
+annotation class ExperimentalUnitApi
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntOffset.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntOffset.kt
index ab0feed..4c7bd77 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntOffset.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntOffset.kt
@@ -176,4 +176,4 @@
  * Round a [Offset] down to the nearest [Int] coordinates.
  */
 @Stable
-inline fun Offset.round(): IntOffset = IntOffset(x.roundToInt(), y.roundToInt())
\ No newline at end of file
+inline fun Offset.round(): IntOffset = IntOffset(x.roundToInt(), y.roundToInt())
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntSize.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntSize.kt
index c56c857..7a7ae72 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntSize.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntSize.kt
@@ -108,4 +108,4 @@
 
 // temporary while PxSize is transitioned to Size
 @Stable
-fun IntSize.toSize() = Size(width.toFloat(), height.toFloat())
\ No newline at end of file
+fun IntSize.toSize() = Size(width.toFloat(), height.toFloat())
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/LayoutDirection.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/LayoutDirection.kt
index 80c5765..efbfb17 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/LayoutDirection.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/LayoutDirection.kt
@@ -31,4 +31,4 @@
      * Horizontal layout direction is from Right to Left.
      */
     Rtl
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Velocity.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Velocity.kt
index 6de7ed1..3af3650 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Velocity.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Velocity.kt
@@ -141,4 +141,4 @@
     operator fun rem(operand: Float) = Velocity(x % operand, y % operand)
 
     override fun toString() = "($x, $y) px/sec"
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.kt
index aa09639..f08c3ae 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.unit.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/ui/ui-unit/src/jvmMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/ui/ui-unit/src/jvmMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.jvm.kt
index ff766cb..bef0212 100644
--- a/compose/ui/ui-unit/src/jvmMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/ui/ui-unit/src/jvmMain/kotlin/androidx/compose/ui/unit/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.unit.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DensityTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DensityTest.kt
index bcb2400..9060a47 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DensityTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DensityTest.kt
@@ -125,4 +125,4 @@
     fun testSizeUnspecifiedToDpSize() = with(density) {
         assertEquals(DpSize.Unspecified, Size.Unspecified.toDpSize())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpOffsetTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpOffsetTest.kt
index 6e2b181..02d10c8 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpOffsetTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpOffsetTest.kt
@@ -107,4 +107,4 @@
     fun testUnspecifiedToString() {
         assertEquals("DpOffset.Unspecified", DpOffset.Unspecified.toString())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpSizeTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpSizeTest.kt
index 14cbd2e..b3d3eaa 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpSizeTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpSizeTest.kt
@@ -108,4 +108,4 @@
     fun testUnspecifiedToString() {
         assertEquals("DpSize.Unspecified", DpSize.Unspecified.toString())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt
index 9061916..5518904 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt
@@ -202,4 +202,4 @@
     fun testTakeOrElseFalse() {
         assertTrue(Dp.Unspecified.takeOrElse { Dp(1f) }.isSpecified)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntOffsetTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntOffsetTest.kt
index 8aa0f12..2a864d5 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntOffsetTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntOffsetTest.kt
@@ -53,4 +53,4 @@
     fun toOffset() {
         assertEquals(Offset(3f, 10f), IntOffset(3, 10).toOffset())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntRectTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntRectTest.kt
index d1f93a7..2dd9332 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntRectTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntRectTest.kt
@@ -252,4 +252,4 @@
             Rect(2.4f, 2.5f, 3.9f, 5.3f).roundToIntRect(),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntSizeTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntSizeTest.kt
index e98769a..4e84fda 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntSizeTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/IntSizeTest.kt
@@ -58,4 +58,4 @@
         assertEquals(10, w)
         assertEquals(20, h)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/TextUnitTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/TextUnitTest.kt
index 7144295..5346f73 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/TextUnitTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/TextUnitTest.kt
@@ -513,4 +513,4 @@
     fun testTakeOrElseFalse() {
         Assert.assertTrue(TextUnit.Unspecified.takeOrElse { 1.sp }.isSpecified)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/VelocityTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/VelocityTest.kt
index 9720402..b3c4ebf 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/VelocityTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/VelocityTest.kt
@@ -104,4 +104,4 @@
         Assert.assertEquals(100f, copy.x)
         Assert.assertEquals(300f, copy.y)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-util/src/androidMain/kotlin/androidx/compose/ui/util/AndroidTrace.android.kt b/compose/ui/ui-util/src/androidMain/kotlin/androidx/compose/ui/util/AndroidTrace.android.kt
index ab3abb3..266bbf5 100644
--- a/compose/ui/ui-util/src/androidMain/kotlin/androidx/compose/ui/util/AndroidTrace.android.kt
+++ b/compose/ui/ui-util/src/androidMain/kotlin/androidx/compose/ui/util/AndroidTrace.android.kt
@@ -29,4 +29,4 @@
     } finally {
         Trace.endSection()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-util/src/commonMain/kotlin/androidx/compose/ui/util/InlineClassHelper.kt b/compose/ui/ui-util/src/commonMain/kotlin/androidx/compose/ui/util/InlineClassHelper.kt
index b2f3402..c1548f2 100644
--- a/compose/ui/ui-util/src/commonMain/kotlin/androidx/compose/ui/util/InlineClassHelper.kt
+++ b/compose/ui/ui-util/src/commonMain/kotlin/androidx/compose/ui/util/InlineClassHelper.kt
@@ -60,4 +60,4 @@
  */
 inline fun unpackInt2(value: Long): Int {
     return value.and(0xFFFFFFFF).toInt()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/InlineClassHelperTest.kt b/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/InlineClassHelperTest.kt
index 7f52124..a254057 100644
--- a/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/InlineClassHelperTest.kt
+++ b/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/InlineClassHelperTest.kt
@@ -95,4 +95,4 @@
         assertEquals(first, unpackInt1(packed))
         assertEquals(second, unpackInt2(packed))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/MathHelpersTest.kt b/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/MathHelpersTest.kt
index d391158..93d8958 100644
--- a/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/MathHelpersTest.kt
+++ b/compose/ui/ui-util/src/test/kotlin/androidx/compose/ui/util/MathHelpersTest.kt
@@ -97,4 +97,4 @@
             assertThat(lerp(from, to, 1.00f)).isEqualTo((4 * multiplier).toLong())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/ReusableAndroidViewBindingTest.kt b/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/ReusableAndroidViewBindingTest.kt
index 2561853..cbf7ecd 100644
--- a/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/ReusableAndroidViewBindingTest.kt
+++ b/compose/ui/ui-viewbinding/samples/src/androidTest/java/androidx/compose/ui/samples/ReusableAndroidViewBindingTest.kt
@@ -340,4 +340,4 @@
     companion object {
         private val ButtonFqClassName = Button::class.qualifiedName!!
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui-viewbinding/samples/src/main/java/androidx/compose/ui/samples/AndroidViewBindingSample.kt b/compose/ui/ui-viewbinding/samples/src/main/java/androidx/compose/ui/samples/AndroidViewBindingSample.kt
index 67baa43..694e5e6 100644
--- a/compose/ui/ui-viewbinding/samples/src/main/java/androidx/compose/ui/samples/AndroidViewBindingSample.kt
+++ b/compose/ui/ui-viewbinding/samples/src/main/java/androidx/compose/ui/samples/AndroidViewBindingSample.kt
@@ -56,4 +56,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/BenchmarkModifierExtensions.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/BenchmarkModifierExtensions.kt
index 893ed85..aa45c87 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/BenchmarkModifierExtensions.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/BenchmarkModifierExtensions.kt
@@ -146,4 +146,4 @@
     } else {
         runWithTimingDisabled { block() }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LayoutNodeModifierBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LayoutNodeModifierBenchmark.kt
index f462daa..b95cb7d 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LayoutNodeModifierBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LayoutNodeModifierBenchmark.kt
@@ -169,4 +169,4 @@
                 .apply(base, description)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LifecycleAwareWindowRecomposerBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LifecycleAwareWindowRecomposerBenchmark.kt
index 082292b..f1d69a0 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LifecycleAwareWindowRecomposerBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/LifecycleAwareWindowRecomposerBenchmark.kt
@@ -76,4 +76,4 @@
                 .apply(base, description)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/ModifiersBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/ModifiersBenchmark.kt
index 226b652..f879471 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/ModifiersBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/ModifiersBenchmark.kt
@@ -306,4 +306,4 @@
 
 fun Modifier.emptyElement(): Modifier = this then object : Modifier.Element {}
 @Suppress("UNUSED_PARAMETER")
-fun capture(value: Any?) {}
\ No newline at end of file
+fun capture(value: Any?) {}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/autofill/AndroidAutofillBenchmark.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/autofill/AndroidAutofillBenchmark.kt
index 87cfc77..66b8f02 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/autofill/AndroidAutofillBenchmark.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/autofill/AndroidAutofillBenchmark.kt
@@ -82,4 +82,4 @@
             composeView.autofill(autofillValues)
         }
     }
-}
\ No newline at end of file
+}
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 87a6eab..26d85af 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
@@ -202,4 +202,4 @@
 
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/TapIntegrationBenchmarkValues.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/TapIntegrationBenchmarkValues.kt
index 796abbc..8ef603f 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/TapIntegrationBenchmarkValues.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/TapIntegrationBenchmarkValues.kt
@@ -18,4 +18,4 @@
 
 val ItemHeightPx = 1f
 
-val NumItems = 100
\ No newline at end of file
+val NumItems = 100
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 058b533..552adeb 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
@@ -104,4 +104,4 @@
     companion object {
         private const val TestNumDataPoints = 100
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/utils.kt b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/utils.kt
index c28a69f..f3e935c 100644
--- a/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/utils.kt
+++ b/compose/ui/ui/benchmark/src/androidTest/java/androidx/compose/ui/benchmark/input/pointer/utils.kt
@@ -80,4 +80,4 @@
     MotionEvent.PointerCoords().apply {
         this.x = x
         this.y = y
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/DeclarativeGraphicsDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/DeclarativeGraphicsDemo.kt
index 52f5641..91cff21 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/DeclarativeGraphicsDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/DeclarativeGraphicsDemo.kt
@@ -127,4 +127,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PainterResourcesDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PainterResourcesDemo.kt
index 306808e..da40196 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PainterResourcesDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/PainterResourcesDemo.kt
@@ -55,4 +55,4 @@
         Image(painter, contentDescription = null)
         Image(vector, contentDescription = null)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/AdjacentScrollablesFocusDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/AdjacentScrollablesFocusDemo.kt
index 31040db..52b8957 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/AdjacentScrollablesFocusDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/AdjacentScrollablesFocusDemo.kt
@@ -99,4 +99,4 @@
             .border(2.dp, Color.Black)
             .background(Color.White)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/CaptureFocusDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/CaptureFocusDemo.kt
index fc4646b..368151e 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/CaptureFocusDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/CaptureFocusDemo.kt
@@ -80,4 +80,4 @@
                 .onFocusChanged { longStringBorder = if (it.isCaptured) Red else Transparent }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ClickableInLazyColumnDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ClickableInLazyColumnDemo.kt
index ccf7d99..6c591c6 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ClickableInLazyColumnDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ClickableInLazyColumnDemo.kt
@@ -36,4 +36,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ConditionalFocusabilityDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ConditionalFocusabilityDemo.kt
index 7c416f6..289e230 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ConditionalFocusabilityDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ConditionalFocusabilityDemo.kt
@@ -127,4 +127,4 @@
         .size(150.dp, 50.dp)
         .background(color)
         .onFocusChanged { color = if (it.isFocused) Red else Gray }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInDialogDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInDialogDemo.kt
index 0997274..e8d5c94 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInDialogDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInDialogDemo.kt
@@ -72,4 +72,4 @@
 private fun FocusStatus() {
     val windowInfo = LocalWindowInfo.current
     Text("Status: Window ${if (windowInfo.isWindowFocused) "is" else "is not"} focused.")
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInPopupDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInPopupDemo.kt
index a5c21ca..39f1676 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInPopupDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/FocusInPopupDemo.kt
@@ -78,4 +78,4 @@
 private fun FocusStatus() {
     val windowInfo = LocalWindowInfo.current
     Text("Status: Window ${if (windowInfo.isWindowFocused) "is" else "is not"} focused.")
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DoubleTapInTapDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DoubleTapInTapDemo.kt
index d0cf3d4..e06d701 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DoubleTapInTapDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/DoubleTapInTapDemo.kt
@@ -78,4 +78,4 @@
                 .background(color = innerColor.value, shape = RectangleShape)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/EventTypesDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/EventTypesDemo.kt
index 7d94bd5..6a760c1 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/EventTypesDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/EventTypesDemo.kt
@@ -132,4 +132,4 @@
     while (events.size > 100) {
         events.removeAt(0)
     }
-}
\ No newline at end of file
+}
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 f6aa708..b686261 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
@@ -255,4 +255,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/LongPressDragGestureDetectorDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/LongPressDragGestureDetectorDemo.kt
index 4ed3a64..8426140 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/LongPressDragGestureDetectorDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/LongPressDragGestureDetectorDemo.kt
@@ -67,4 +67,4 @@
                 .background(color.value)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedPressDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedPressDemo.kt
index f9887e5..e526e1b 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedPressDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/gestures/NestedPressDemo.kt
@@ -122,4 +122,4 @@
             .border(BorderStroke(2.dp, BorderColor))
             .padding(2.dp)
     ) { content() }
-}
\ No newline at end of file
+}
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 213634a..0b6abd6 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
@@ -218,4 +218,4 @@
             Text("I'm text $it", modifier = Modifier.padding(16.dp))
         }
     }
-}
\ No newline at end of file
+}
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 f755807..b75515e 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
@@ -295,4 +295,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/input/TouchModeDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/input/TouchModeDemo.kt
index 962dd5e..0077972 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/input/TouchModeDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/input/TouchModeDemo.kt
@@ -57,4 +57,4 @@
             Text("Exit touch mode")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt
index 3c839a9..6535363 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/keyinput/InterceptEnterToSendMessageDemo.kt
@@ -101,4 +101,4 @@
         annotatedString.replaceRange(selection.start, selection.end, value).toString(),
         TextRange(cursorLocation, cursorLocation)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/recyclerview/RecyclerViewDemos.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/recyclerview/RecyclerViewDemos.kt
index 0c3ce8c..9a172fd 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/recyclerview/RecyclerViewDemos.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/recyclerview/RecyclerViewDemos.kt
@@ -25,4 +25,4 @@
         FragmentDemo("Basic interop (enabled)", RecyclerViewInteropDemoFragment::class),
         FragmentDemo("Basic interop (disabled)", RecyclerViewInteropOffDemoFragment::class),
     )
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ComplexInteractions.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ComplexInteractions.kt
index a750b67..e233f66 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ComplexInteractions.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ComplexInteractions.kt
@@ -122,4 +122,4 @@
     ) {
         Text("Click me")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropAndroidInCompose.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropAndroidInCompose.kt
index 595b15f..4f883bc 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropAndroidInCompose.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropAndroidInCompose.kt
@@ -316,4 +316,4 @@
             Text(motionEventString.value)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropComposeInAndroid.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropComposeInAndroid.kt
index e071074..7dfe44c 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropComposeInAndroid.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/PointerInputInteropComposeInAndroid.kt
@@ -440,4 +440,4 @@
             return MyDialogFragment()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ResizeComposeViewDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ResizeComposeViewDemo.kt
index 28ae4b0..411c70c 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ResizeComposeViewDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ResizeComposeViewDemo.kt
@@ -64,4 +64,4 @@
             Text("Touch the screen to change the size of the child ComposeView")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ScrollingAndroidViewsDemo.kt b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ScrollingAndroidViewsDemo.kt
index 6cfb3ae..debf0ea 100644
--- a/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ScrollingAndroidViewsDemo.kt
+++ b/compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/viewinterop/ScrollingAndroidViewsDemo.kt
@@ -125,4 +125,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 d66efbd..9cf049f 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
@@ -41,4 +41,4 @@
             Box(Modifier.size(dialogWidth, dialogHeight).background(Color.White))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DrawModifierSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DrawModifierSample.kt
index 4335d1e..85db583 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DrawModifierSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/DrawModifierSample.kt
@@ -153,4 +153,4 @@
     }
     fun Modifier.circle(color: Color) = this then CircleElement(color)
     Box(Modifier.fillMaxSize().circle(Color.Blue))
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/FocusSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/FocusSamples.kt
index e254b12d..69035e5 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/FocusSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/FocusSamples.kt
@@ -318,4 +318,4 @@
             Box(Modifier.focusRequester(nextItem).focusable())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierCompositionLocalSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierCompositionLocalSample.kt
index 108ffc5..aad6edd 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierCompositionLocalSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierCompositionLocalSample.kt
@@ -79,4 +79,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 d1869e6..189abfb 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
@@ -137,4 +137,4 @@
                 .clickable { sender?.sendMessage("Hello World") }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierSamples.kt
index 020c4b9..1fdb55e 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ModifierSamples.kt
@@ -534,4 +534,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt
index 84c940f..1d3cc92 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/NestedScrollSamples.kt
@@ -174,4 +174,4 @@
             modifier = Modifier.align(Alignment.Center)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnPlacedSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnPlacedSamples.kt
index 3fa3518..339a098 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnPlacedSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/OnPlacedSamples.kt
@@ -87,4 +87,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 d4081c2..9b4e1b5 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
@@ -69,4 +69,4 @@
         contentDescription = null,
         modifier = Modifier.requiredSize(50.dp)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlacementScopeCoordinatesSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlacementScopeCoordinatesSample.kt
index fc5a7d4..cd84c1d 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlacementScopeCoordinatesSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlacementScopeCoordinatesSample.kt
@@ -92,4 +92,4 @@
             }
         })
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlatformTextInputModifierNodeSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlatformTextInputModifierNodeSample.kt
index f9d8358..84e67f9 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlatformTextInputModifierNodeSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlatformTextInputModifierNodeSample.kt
@@ -67,4 +67,4 @@
             TODO("Create platform-specific request")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerIconSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerIconSample.kt
index afb8484..432ebf02 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerIconSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerIconSample.kt
@@ -40,4 +40,4 @@
         }
         Text("Just text with global pointerIcon")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerInputModifierSamples.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerInputModifierSamples.kt
index efc55bd..a328c59 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerInputModifierSamples.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PointerInputModifierSamples.kt
@@ -70,4 +70,4 @@
                 }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/RotateSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/RotateSample.kt
index cf3d922..3a4ec18 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/RotateSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/RotateSample.kt
@@ -31,4 +31,4 @@
         Modifier.rotate(45f)
             .size(100.dp, 100.dp)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ScaleSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ScaleSample.kt
index e7798dbf..f05fabe 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ScaleSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ScaleSample.kt
@@ -40,4 +40,4 @@
         Modifier.scale(scaleX = 2f, scaleY = 3f)
             .size(100.dp, 100.dp)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SoftwareKeyboardControllerSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SoftwareKeyboardControllerSample.kt
index c8e75ff..5da88e4 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SoftwareKeyboardControllerSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SoftwareKeyboardControllerSample.kt
@@ -72,4 +72,4 @@
             Text("Show software keyboard.")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SubcomposeLayoutSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SubcomposeLayoutSample.kt
index b116741..17abe1a 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SubcomposeLayoutSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/SubcomposeLayoutSample.kt
@@ -49,4 +49,4 @@
     }
 }
 
-enum class SlotsEnum { Main, Dependent }
\ No newline at end of file
+enum class SlotsEnum { Main, Dependent }
diff --git a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ZIndexModifierSample.kt b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ZIndexModifierSample.kt
index 77494b1..dc81b73 100644
--- a/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ZIndexModifierSample.kt
+++ b/compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/ZIndexModifierSample.kt
@@ -30,4 +30,4 @@
         Text("Drawn second", Modifier.zIndex(1f))
         Text("Drawn first")
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/GoldenCommon.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/GoldenCommon.kt
index e342c5f..06d928c 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/GoldenCommon.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/GoldenCommon.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui
 
-internal const val GOLDEN_UI = "compose/ui/ui"
\ No newline at end of file
+internal const val GOLDEN_UI = "compose/ui/ui"
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/OpenComposeView.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/OpenComposeView.kt
index ece2f94..ef0b4a6 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/OpenComposeView.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/OpenComposeView.kt
@@ -40,4 +40,4 @@
     fun setContent(content: @Composable () -> Unit) {
         this.content.value = content
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt
index b1d5933..e9275f2 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/SnapshotFlowTest.kt
@@ -59,4 +59,4 @@
             assertEquals(1, lastComposedValue)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/accessibility/CollectionInfoTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/accessibility/CollectionInfoTest.kt
index 20a459c2..181ef0b 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/accessibility/CollectionInfoTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/accessibility/CollectionInfoTest.kt
@@ -378,4 +378,4 @@
             accessibilityDelegate.populateAccessibilityNodeInfoProperties(node.id, info, node)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/autofill/AndroidAutoFillTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/autofill/AndroidAutoFillTest.kt
index 7f914ad..0ed8118 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/autofill/AndroidAutoFillTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/autofill/AndroidAutoFillTest.kt
@@ -128,4 +128,4 @@
         // Assert.
         assertThat(autofilledValue).isEqualTo(expectedValue)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/BlurTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/BlurTest.kt
index f4f5968..3b871fb 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/BlurTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/BlurTest.kt
@@ -187,4 +187,4 @@
     fun testUnboundedBlurredEdgeTreatmentDoesNotHaveShape() {
         assertNull(BlurredEdgeTreatment.Unbounded.shape)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/InvalidatingNotPlacedChildTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/InvalidatingNotPlacedChildTest.kt
index c5ec5ae..4133459 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/InvalidatingNotPlacedChildTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/draw/InvalidatingNotPlacedChildTest.kt
@@ -433,4 +433,4 @@
         useDuringLayout?.value
         placeable.place(0, 0)
     }
-}
\ No newline at end of file
+}
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 e49c957..1098436 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
@@ -967,4 +967,4 @@
             placeable.place(0, 0)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusSearchNonPlacedItemsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusSearchNonPlacedItemsTest.kt
index b78a3c0..1c65e9d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusSearchNonPlacedItemsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusSearchNonPlacedItemsTest.kt
@@ -548,4 +548,4 @@
         }
         rule.runOnIdle { initialFocus.requestFocus() }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusViewInteropTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusViewInteropTest.kt
index 47e1944..b2c2ef2 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusViewInteropTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusViewInteropTest.kt
@@ -107,4 +107,4 @@
         }
         IntRect(left, top, right, bottom)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/Utils.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/Utils.kt
index fb57437..5c81cab 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/Utils.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/gesture/Utils.kt
@@ -95,4 +95,4 @@
         this.y = y
         setAxisValue(AXIS_HSCROLL, scrollX)
         setAxisValue(AXIS_VSCROLL, scrollY)
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/VectorInvalidationTestCase.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/VectorInvalidationTestCase.kt
index 6696cb1..d286ad3 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/VectorInvalidationTestCase.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/VectorInvalidationTestCase.kt
@@ -74,4 +74,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParserTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParserTest.kt
index 4a724a3..c02449d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParserTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParserTest.kt
@@ -287,4 +287,4 @@
         )
         return this as T
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/EditorInfoTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/EditorInfoTest.kt
index 3e2c63b..caf9dbb 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/EditorInfoTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/EditorInfoTest.kt
@@ -540,4 +540,4 @@
     private fun EditorInfo.update(imeOptions: ImeOptions) {
         this.update(imeOptions, TextFieldValue())
     }
-}
\ No newline at end of file
+}
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 545bd5d..ebe91c8 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
@@ -632,4 +632,4 @@
         ic.endBatchEdit()
         verify(mCallback, never()).onEditCommands(any())
     }
-}
\ No newline at end of file
+}
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 2bec941..0050d0b 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
@@ -64,4 +64,4 @@
         textInputService.createInputConnection(info)
         verify(e2).updateEditorInfo(eq(info))
     }
-}
\ No newline at end of file
+}
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 9d383b7..27063fa 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
@@ -210,4 +210,4 @@
 
         assertThat(inputConnection.mTextFieldValue).isEqualTo(value)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MotionEventSpyTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MotionEventSpyTest.kt
index 53d2990..2bba86f 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MotionEventSpyTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/MotionEventSpyTest.kt
@@ -106,4 +106,4 @@
             ACTION_DOWN, ACTION_MOVE, ACTION_UP
         )
     }
-}
\ No newline at end of file
+}
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 9f9ade5..b24fba5 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
@@ -261,4 +261,4 @@
         rule.waitForIdle()
         return events
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt
index 922f012..26e13a8 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerIconTest.kt
@@ -4098,4 +4098,4 @@
             exit()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
index 03a8fd5..2fac881 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
@@ -3462,4 +3462,4 @@
 ) {
     val logEntry = this[index]
     assertThat(logEntry).isInstanceOf(OnCancelFilterEntry::class.java)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewHookupTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewHookupTest.kt
index a76783f..038d0d5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewHookupTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterAndroidViewHookupTest.kt
@@ -571,4 +571,4 @@
         this.disallowIntercept = disallowIntercept
         super.requestDisallowInterceptTouchEvent(disallowIntercept)
     }
-}
\ No newline at end of file
+}
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 877e911..e18277c 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
@@ -172,4 +172,4 @@
         hitListener()
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterComposeHookupTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterComposeHookupTest.kt
index 139d5e5..5b0ba1e 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterComposeHookupTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInteropFilterComposeHookupTest.kt
@@ -449,4 +449,4 @@
         assertThat(eventStringLog[2]).isEqualTo(PointerEventPass.Final.toString())
         assertThat(eventStringLog[3]).isEqualTo("motionEvent")
     }
-}
\ No newline at end of file
+}
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 5714cc7..5617f9f 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
@@ -1329,4 +1329,4 @@
                 placeable.place(0, 0)
             }
         }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LayoutCooperationTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LayoutCooperationTest.kt
index e91f316..01365b8 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LayoutCooperationTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LayoutCooperationTest.kt
@@ -115,4 +115,4 @@
                 .assertLeftPositionInRootIsEqualTo(expectedLeft)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LookaheadScopeTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LookaheadScopeTest.kt
index 1b3d5d6..7f3e41e 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LookaheadScopeTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/LookaheadScopeTest.kt
@@ -2499,4 +2499,4 @@
             postPlacement()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureOnlyTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureOnlyTest.kt
index 41e78f7..35eae9e 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureOnlyTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureOnlyTest.kt
@@ -279,4 +279,4 @@
             assertThat(view.height).isEqualTo(10)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsRealClockTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsRealClockTest.kt
index 36a3ef8..9a60433 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsRealClockTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsRealClockTest.kt
@@ -554,4 +554,4 @@
             ): Int = height
         })
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt
index 5cd91ca..3b7b505 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt
@@ -583,4 +583,4 @@
             ): Int = height.roundToPx()
         })
     }
-}
\ No newline at end of file
+}
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 d850fd8..316e180 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
@@ -163,4 +163,4 @@
         assertEquals(parent.measuredWidth, composeView.measuredWidth)
         assertEquals(parent.measuredHeight, composeView.measuredHeight)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/SubcomposeLayoutTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/SubcomposeLayoutTest.kt
index 925bd71..132b1dd 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/SubcomposeLayoutTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/SubcomposeLayoutTest.kt
@@ -2444,4 +2444,4 @@
 private enum class Screens {
     Screen1,
     Screen2,
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/TestRuleExecutesLayoutPassesWhenWaitingForIdleTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/TestRuleExecutesLayoutPassesWhenWaitingForIdleTest.kt
index ec23d95..b1bbfb6 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/TestRuleExecutesLayoutPassesWhenWaitingForIdleTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/TestRuleExecutesLayoutPassesWhenWaitingForIdleTest.kt
@@ -390,4 +390,4 @@
             assertThat(placements).isEqualTo(numUpdates + 1)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/CompositionLocalMapInjectionTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/CompositionLocalMapInjectionTest.kt
index d64b638..c04b52d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/CompositionLocalMapInjectionTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/CompositionLocalMapInjectionTest.kt
@@ -363,4 +363,4 @@
 
 @Composable fun OldBox(modifier: Modifier = Modifier) {
     OldLayout(modifier, EmptyBoxMeasurePolicy)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalMultiLayoutNodeTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalMultiLayoutNodeTest.kt
index 070ab8e..cd34e19 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalMultiLayoutNodeTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalMultiLayoutNodeTest.kt
@@ -411,4 +411,4 @@
         // Assert.
         rule.runOnIdle { assertThat(readString).isEqualTo(providedValue) }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalSameLayoutNodeTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalSameLayoutNodeTest.kt
index 2120f41c..7144730 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalSameLayoutNodeTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/modifier/ModifierLocalSameLayoutNodeTest.kt
@@ -529,4 +529,4 @@
             assertThat(calls).isEqualTo(1)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/InvalidateSubtreeTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/InvalidateSubtreeTest.kt
index e416db9..bffa21e 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/InvalidateSubtreeTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/InvalidateSubtreeTest.kt
@@ -159,4 +159,4 @@
         override fun hashCode() = 0
         override fun equals(other: Any?) = (other === this)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeCoroutineScopeTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeCoroutineScopeTest.kt
index 2c3e809..aa3938b 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeCoroutineScopeTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeCoroutineScopeTest.kt
@@ -77,4 +77,4 @@
             assertThat(exception!!.stackTrace).isEmpty()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitChildrenTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitChildrenTest.kt
index 1efc8c7..9ba4db0 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitChildrenTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitChildrenTest.kt
@@ -205,4 +205,4 @@
     }
 
     private fun Modifier.otherModifier(): Modifier = this.then(Modifier)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitSelfAndChildrenTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitSelfAndChildrenTest.kt
index 60325f5..7c0aa04 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitSelfAndChildrenTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/ModifierNodeVisitSelfAndChildrenTest.kt
@@ -289,4 +289,4 @@
     }
 
     private fun Modifier.otherModifier(): Modifier = this.then(Modifier)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/MyersDiffTests.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/MyersDiffTests.kt
index edf4fce..8fb31f5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/MyersDiffTests.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/MyersDiffTests.kt
@@ -175,4 +175,4 @@
         }
     })
     return DiffResult(result, log)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NestedVectorStackTests.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NestedVectorStackTests.kt
index 67f3d39..74a3c0e 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NestedVectorStackTests.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NestedVectorStackTests.kt
@@ -56,4 +56,4 @@
         }
         Assert.assertEquals("987654321", result)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTester.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTester.kt
index bd20a93..520b601 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTester.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTester.kt
@@ -317,4 +317,4 @@
         val afterEntity = chain.tail
         assert(beforeEntity === afterEntity)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTests.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTests.kt
index ecac318..6d74a3a 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTests.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/node/NodeChainTests.kt
@@ -213,4 +213,4 @@
     // - number of inserts/deletes/etc for different types of updates
     // - ensure which same-size updates go through diff vs not
     // - ensure that entities in chain are attached, out of chain are detached
-}
\ No newline at end of file
+}
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 f35c3e2..62da8e8 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
@@ -261,4 +261,4 @@
 
         assertThat(annotatedString).isEqualTo(recoveredAnnotatedString)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidComposeViewsInRecyclerViewTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidComposeViewsInRecyclerViewTest.kt
index dbeebe7..ffafb50 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidComposeViewsInRecyclerViewTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidComposeViewsInRecyclerViewTest.kt
@@ -586,4 +586,4 @@
             items += this.getRecycledViewCount(type)
         }
         return items
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidCompositionLocalTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidCompositionLocalTest.kt
index e8a1fd1..fc5fdde 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidCompositionLocalTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidCompositionLocalTest.kt
@@ -130,4 +130,4 @@
             assertThat(compositionCount).isEqualTo(3)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt
index c2cc74f..be76106 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt
@@ -45,4 +45,4 @@
         )
         assertThat(typeface).isNotNull()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewOverlayTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewOverlayTest.kt
index c671c55..b1c2668 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewOverlayTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewOverlayTest.kt
@@ -139,4 +139,4 @@
     private fun Recomposer.waitForIdle() = runBlocking {
         currentState.filter { it == Recomposer.State.Idle }.first()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewTest.kt
index 1b702f2..ee097a3 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewTest.kt
@@ -48,4 +48,4 @@
         ) as ViewGroup
         assertFalse("XML overrides ComposeView.isTransitionGroup", view.isTransitionGroup)
     }
-}
\ No newline at end of file
+}
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 7de34c5..1a6bb2d 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
@@ -164,4 +164,4 @@
     }
 }
 
-private fun DepthSortedSet() = DepthSortedSet(extraAssertions = true)
\ No newline at end of file
+private fun DepthSortedSet() = DepthSortedSet(extraAssertions = true)
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 6cc5157..e452968 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
@@ -94,4 +94,4 @@
         assertThat(modifier.valueOverride).isEqualTo("box")
         assertThat(modifier.inspectableElements.asIterable()).isEmpty()
     }
-}
\ No newline at end of file
+}
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 1ef304ba..84ac6dc 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
@@ -103,4 +103,4 @@
         keyboardController!!.show()
         keyboardController!!.hide()
     }
-}
\ No newline at end of file
+}
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 44ebf7c..ebea1a2 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
@@ -282,4 +282,4 @@
         get() = SampleCoroutineContextElement
 
     companion object : CoroutineContext.Key<SampleCoroutineContextElement>
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/ColorResourcesTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/ColorResourcesTest.kt
index cca5c26..c36fcd7 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/ColorResourcesTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/ColorResourcesTest.kt
@@ -47,4 +47,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/PrimitiveResourcesTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/PrimitiveResourcesTest.kt
index a503656..649b9a4 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/PrimitiveResourcesTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/res/PrimitiveResourcesTest.kt
@@ -80,4 +80,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 89b9648..272ad1a 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
@@ -205,4 +205,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerHelperTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerHelperTest.kt
index ff12cf1..0b655a3 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerHelperTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextMeasurerHelperTest.kt
@@ -125,4 +125,4 @@
 
         assertThat(measurers.size).isEqualTo(2)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/AndroidPlatformTextInputSessionTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/AndroidPlatformTextInputSessionTest.kt
index 33b1003..240c782 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/AndroidPlatformTextInputSessionTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/AndroidPlatformTextInputSessionTest.kt
@@ -188,4 +188,4 @@
 
         coroutineContext.job.cancelChildren()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapperTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapperTest.kt
index 54e4c2b..952e014 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapperTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapperTest.kt
@@ -116,4 +116,4 @@
 
         verify(delegate, never()).setSelection(any(), any())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputViewIntegrationTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputViewIntegrationTest.kt
index ed2bbe7..4a4d1f5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputViewIntegrationTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputViewIntegrationTest.kt
@@ -658,4 +658,4 @@
             onNode(this)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/TestInputMethodRequest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/TestInputMethodRequest.kt
index 8bdddc8..f33098c 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/TestInputMethodRequest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/TestInputMethodRequest.kt
@@ -27,4 +27,4 @@
     override fun createInputConnection(outAttrs: EditorInfo): InputConnection {
         return this
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/EditTextInteropTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/EditTextInteropTest.kt
index d849a82..afda8a0 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/EditTextInteropTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/EditTextInteropTest.kt
@@ -58,4 +58,4 @@
         //  propagate hardware keys correctly, assert that the EditText receives the entered value.
         assertThat(keyConsumed).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropTestHelper.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropTestHelper.kt
index 5392884..6122079 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropTestHelper.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropTestHelper.kt
@@ -411,4 +411,4 @@
 internal fun abs(velocity: Velocity) = Velocity(
     kotlin.math.abs(velocity.x),
     kotlin.math.abs(velocity.y)
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropThreeFoldTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropThreeFoldTest.kt
index 67a83e3f..9f23cb0 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropThreeFoldTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropThreeFoldTest.kt
@@ -285,4 +285,4 @@
                 modifier = outerModifier
             )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropViewHolderTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropViewHolderTest.kt
index 78c6077..9f35c31 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropViewHolderTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/NestedScrollInteropViewHolderTest.kt
@@ -211,4 +211,4 @@
                 .isEqualTo(recyclerViewConsumptionTracker.velocityConsumed)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/PoolingContainerComposeTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/PoolingContainerComposeTest.kt
index a9b7904..5385d1d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/PoolingContainerComposeTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/PoolingContainerComposeTest.kt
@@ -181,4 +181,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/VelocityTrackingParityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/VelocityTrackingParityTest.kt
index 1736506..73ac5d5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/VelocityTrackingParityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/viewinterop/VelocityTrackingParityTest.kt
@@ -194,4 +194,4 @@
     }
 }
 
-private const val VelocityDifferenceTolerance = 10f
\ No newline at end of file
+private const val VelocityDifferenceTolerance = 10f
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/ActivityWithInsets.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/ActivityWithInsets.kt
index be8f248..04359b5 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/ActivityWithInsets.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/ActivityWithInsets.kt
@@ -24,4 +24,4 @@
         WindowCompat.setDecorFitsSystemWindows(window, false)
         super.onCreate(savedInstanceState)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogSecureFlagTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogSecureFlagTest.kt
index 7b1a7b6..01dd14d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogSecureFlagTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/DialogSecureFlagTest.kt
@@ -127,4 +127,4 @@
         return (owner.rootView.layoutParams as WindowManager.LayoutParams).flags and
             WindowManager.LayoutParams.FLAG_SECURE != 0
     }
-}
\ No newline at end of file
+}
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 d98d807..f53a959 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
@@ -375,4 +375,4 @@
             Truth.assertThat(actualWidth).isEqualTo((40 * rule.density.density).roundToInt())
         }
     }
-}
\ No newline at end of file
+}
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 b9949ca..c6ce011 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
@@ -397,4 +397,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupSecureFlagTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupSecureFlagTest.kt
index 2889dc2..f4aec1d 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupSecureFlagTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PopupSecureFlagTest.kt
@@ -138,4 +138,4 @@
         return popupMatcher.lastSeenWindowParams!!.flags and
             WindowManager.LayoutParams.FLAG_SECURE != 0
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt
index 3ef53ac..1b530eb 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/autofill/AndroidAutofill.android.kt
@@ -227,4 +227,4 @@
         width: Int,
         height: Int
     ) = structure.setDimens(left, top, scrollX, scrollY, width, height)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/AndroidVectorResources.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/AndroidVectorResources.android.kt
index 1c1e21c..0cb7728 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/AndroidVectorResources.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/AndroidVectorResources.android.kt
@@ -95,4 +95,4 @@
         intArrayOf(android.R.attr.name, android.R.attr.pathData)
     val STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH_NAME = 0
     val STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH_PATH_DATA = 1
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParser.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParser.android.kt
index b307f18..53c5b79 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParser.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/graphics/vector/compat/XmlVectorParser.android.kt
@@ -723,4 +723,4 @@
             return result
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.android.kt
index c0ce531..05cd2ca 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.android.kt
@@ -33,4 +33,4 @@
         }?.issuesEnterExit ?: false
 
     actual var suppressMovementConsumption: Boolean = false
-}
\ No newline at end of file
+}
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 c2c1350..d0ab04a 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
@@ -78,4 +78,4 @@
 internal actual val pointerIconDefault: PointerIcon = AndroidPointerIconType(TYPE_DEFAULT)
 internal actual val pointerIconCrosshair: PointerIcon = AndroidPointerIconType(TYPE_CROSSHAIR)
 internal actual val pointerIconText: PointerIcon = AndroidPointerIconType(TYPE_TEXT)
-internal actual val pointerIconHand: PointerIcon = AndroidPointerIconType(TYPE_HAND)
\ No newline at end of file
+internal actual val pointerIconHand: PointerIcon = AndroidPointerIconType(TYPE_HAND)
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtils.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtils.android.kt
index 05ca9c9..f9cc561 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtils.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/input/pointer/PointerInteropUtils.android.kt
@@ -84,4 +84,4 @@
 
         action = oldAction
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/UiApplier.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/UiApplier.android.kt
index c3ec8d3..c516421 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/UiApplier.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/UiApplier.android.kt
@@ -47,4 +47,4 @@
         super.onEndChanges()
         root.owner?.onEndApplyChanges()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/ViewInterop.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/ViewInterop.android.kt
index 3126227..bfeff03 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/ViewInterop.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/node/ViewInterop.android.kt
@@ -94,4 +94,4 @@
         setTag(viewAdaptersKey, adapter)
     }
     return adapter
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidClipboardManager.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidClipboardManager.android.kt
index 445b00b..cdc9714 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidClipboardManager.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidClipboardManager.android.kt
@@ -547,4 +547,4 @@
 private const val BASELINE_SHIFT_SIZE = FLOAT_SIZE
 private const val TEXT_GEOMETRIC_TRANSFORM_SIZE = FLOAT_SIZE * 2
 private const val TEXT_DECORATION_SIZE = INT_SIZE
-private const val SHADOW_SIZE = COLOR_SIZE + FLOAT_SIZE * 3
\ No newline at end of file
+private const val SHADOW_SIZE = COLOR_SIZE + FLOAT_SIZE * 3
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt
index f707d67..eb48e82 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoader.android.kt
@@ -67,4 +67,4 @@
     fun create(context: Context, resourceId: Int): Typeface {
         return context.resources.getFont(resourceId)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt
index 54d9e4c..6849410 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidTextToolbar.android.kt
@@ -101,4 +101,4 @@
     fun invalidateContentRect(actionMode: ActionMode) {
         actionMode.invalidateContentRect()
     }
-}
\ No newline at end of file
+}
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 1f96ec4..cbb4b7f 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
@@ -57,4 +57,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUriHandler.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUriHandler.android.kt
index c95ab4f..714ba62 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUriHandler.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidUriHandler.android.kt
@@ -25,4 +25,4 @@
     override fun openUri(uri: String) {
         context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(uri)))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/NestedScrollInteropConnection.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/NestedScrollInteropConnection.kt
index 06ca492..b43e3fc 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/NestedScrollInteropConnection.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/NestedScrollInteropConnection.kt
@@ -233,4 +233,4 @@
     hostView: View = LocalView.current
 ): NestedScrollConnection = remember(hostView) {
     NestedScrollInteropConnection(hostView)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.android.kt
index 7cc8793..ea9cf2f 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.android.kt
@@ -28,4 +28,4 @@
     val view: View
 
     actual suspend fun startInputMethod(request: PlatformTextInputMethodRequest): Nothing
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WeakCache.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WeakCache.kt
index 1d196f3..d3bfe77 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WeakCache.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WeakCache.kt
@@ -73,4 +73,4 @@
             }
         } while (item != null)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt
index 820d05d..7eb5d64 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/Wrapper.android.kt
@@ -216,4 +216,4 @@
     @DoNotInline
     fun attributeSourceResourceMap(view: View): Map<Int, Int> =
         view.attributeSourceResourceMap
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/accessibility/CollectionInfo.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/accessibility/CollectionInfo.kt
index 7a4e421..212864c 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/accessibility/CollectionInfo.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/accessibility/CollectionInfo.kt
@@ -150,4 +150,4 @@
         columnSpan,
         false,
         itemNode.config.getOrElse(SemanticsProperties.Selected) { false }
-    )
\ No newline at end of file
+    )
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/PrimaryTextActionModeCallback.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/PrimaryTextActionModeCallback.android.kt
index b2441f4..9d711b6 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/PrimaryTextActionModeCallback.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/PrimaryTextActionModeCallback.android.kt
@@ -38,4 +38,4 @@
     override fun onDestroyActionMode(mode: ActionMode?) {
         callback.onDestroyActionMode()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/TextActionModeCallback.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/TextActionModeCallback.android.kt
index 97fbb47..a1d60a6 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/TextActionModeCallback.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/actionmodecallback/TextActionModeCallback.android.kt
@@ -116,4 +116,4 @@
      * This item will be shown before all items that have order greater than this value.
      */
     val order = id
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/PainterResources.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/PainterResources.android.kt
index b075bfc..32dcbe67 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/PainterResources.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/PainterResources.android.kt
@@ -121,4 +121,4 @@
 ) : RuntimeException(message, cause)
 
 private const val errorMessage =
-    "Only VectorDrawables and rasterized asset types are supported ex. PNG, JPG, WEBP"
\ No newline at end of file
+    "Only VectorDrawables and rasterized asset types are supported ex. PNG, JPG, WEBP"
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/Resources.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/Resources.android.kt
index d034198..5834528 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/Resources.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/res/Resources.android.kt
@@ -31,4 +31,4 @@
 internal fun resources(): Resources {
     LocalConfiguration.current
     return LocalContext.current.resources
-}
\ No newline at end of file
+}
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 136a23c..eeb02ee 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
@@ -150,4 +150,4 @@
     fun clear() {
         map.clear()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.android.kt
index 515bef0..f30e414 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.android.kt
@@ -52,4 +52,4 @@
 @set:ExperimentalComposeUiApi
 @ExperimentalComposeUiApi
 var SemanticsPropertyReceiver.testTagsAsResourceId by
-    SemanticsPropertiesAndroid.TestTagsAsResourceId
\ No newline at end of file
+    SemanticsPropertiesAndroid.TestTagsAsResourceId
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/InputEventCallback2.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/InputEventCallback2.android.kt
index 84b9702..11c09cf 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/InputEventCallback2.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/InputEventCallback2.android.kt
@@ -61,4 +61,4 @@
      * @param ic a closed input connection
      */
     fun onConnectionClosed(ic: RecordingInputConnection)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapper.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapper.kt
index 345de38..df90db0 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapper.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapper.kt
@@ -200,4 +200,4 @@
 
     final override fun commitContent(p0: InputContentInfo, p1: Int, p2: Bundle?): Boolean =
         delegate?.commitContent(p0, p1, p2) ?: false
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.android.kt
index dfa347d..1e26015 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.android.kt
@@ -449,4 +449,4 @@
     private fun logDebug(message: String) {
         if (DEBUG) { Log.d(TAG, "$DEBUG_CLASS.$message, $isActive") }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt
index a721c15..be9b6c5 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt
@@ -572,4 +572,4 @@
     postFrameCallback { runnable.run() }
 }
 
-private fun hasFlag(bits: Int, flag: Int): Boolean = (bits and flag) == flag
\ No newline at end of file
+private fun hasFlag(bits: Int, flag: Int): Boolean = (bits and flag) == flag
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/AndroidView.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/AndroidView.android.kt
index efabfe9..2aba2bf 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/AndroidView.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/AndroidView.android.kt
@@ -395,4 +395,4 @@
     private fun unregisterSaveStateProvider() {
         savableRegistryEntry = null
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropView.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropView.android.kt
index 7c03e9a..3d00470 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropView.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropView.android.kt
@@ -18,4 +18,4 @@
 
 import android.view.View
 
-actual typealias InteropView = View
\ No newline at end of file
+actual typealias InteropView = View
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.android.kt
index 278fdeb..485d153 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.android.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.viewinterop
 
-internal actual typealias InteropViewFactoryHolder = AndroidViewHolder
\ No newline at end of file
+internal actual typealias InteropViewFactoryHolder = AndroidViewHolder
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/SecureFlagPolicy.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/SecureFlagPolicy.android.kt
index 4a4e04d..4046a63 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/SecureFlagPolicy.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/SecureFlagPolicy.android.kt
@@ -46,4 +46,4 @@
         SecureFlagPolicy.SecureOn -> true
         SecureFlagPolicy.Inherit -> isSecureFlagSetOnParent
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/AtomicReference.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/AtomicReference.kt
index e7eddf6..72a4419 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/AtomicReference.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/AtomicReference.kt
@@ -24,4 +24,4 @@
     fun set(value: V)
     fun getAndSet(value: V): V
     fun compareAndSet(expect: V, newValue: V): Boolean
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Expect.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Expect.kt
index 0e9bad8..ec40633 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Expect.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/Expect.kt
@@ -36,4 +36,4 @@
 @OptIn(ExperimentalComposeUiApi::class)
 internal expect fun InspectorInfo.tryPopulateReflectively(
     element: ModifierNodeElement<*>
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ExperimentalComposeUiApi.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ExperimentalComposeUiApi.kt
index 00116b9..fac714b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ExperimentalComposeUiApi.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/ExperimentalComposeUiApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is experimental and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalComposeUiApi
\ No newline at end of file
+annotation class ExperimentalComposeUiApi
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/Autofill.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/Autofill.kt
index 84e8ca6..d1db594b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/Autofill.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/Autofill.kt
@@ -101,4 +101,4 @@
         result = 31 * result + (onFill?.hashCode() ?: 0)
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/AutofillTree.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/AutofillTree.kt
index 5a8eb84..e200bc6 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/AutofillTree.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/autofill/AutofillTree.kt
@@ -48,4 +48,4 @@
      * [id] with the specified [value].
      */
     fun performAutofill(id: Int, value: String) = children[id]?.onFill?.invoke(value)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Blur.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Blur.kt
index a34e0b4..7eda4d8 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Blur.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Blur.kt
@@ -150,4 +150,4 @@
 fun Modifier.blur(
     radius: Dp,
     edgeTreatment: BlurredEdgeTreatment = BlurredEdgeTreatment.Rectangle
-) = blur(radius, radius, edgeTreatment)
\ No newline at end of file
+) = blur(radius, radius, edgeTreatment)
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Clip.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Clip.kt
index 0694e48..45e4290 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Clip.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Clip.kt
@@ -33,4 +33,4 @@
  * @param shape the content will be clipped to this [Shape].
  */
 @Stable
-fun Modifier.clip(shape: Shape) = graphicsLayer(shape = shape, clip = true)
\ No newline at end of file
+fun Modifier.clip(shape: Shape) = graphicsLayer(shape = shape, clip = true)
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Rotate.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Rotate.kt
index 5579bc1..4e98780 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Rotate.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/Rotate.kt
@@ -33,4 +33,4 @@
  */
 @Stable
 fun Modifier.rotate(degrees: Float) =
-    if (degrees != 0f) graphicsLayer(rotationZ = degrees) else this
\ No newline at end of file
+    if (degrees != 0f) graphicsLayer(rotationZ = degrees) else this
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusPropertiesModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusPropertiesModifierNode.kt
index 20b61f1..0359bb4 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusPropertiesModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusPropertiesModifierNode.kt
@@ -35,4 +35,4 @@
 
 fun FocusPropertiesModifierNode.invalidateFocusProperties() {
     requireOwner().focusOwner.scheduleInvalidation(this)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/DrawCache.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/DrawCache.kt
index c11e511..1c4a8e1 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/DrawCache.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/DrawCache.kt
@@ -103,4 +103,4 @@
     private fun DrawScope.clear() {
         drawRect(color = Color.Black, blendMode = BlendMode.Clear)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedback.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedback.kt
index e6b6fec..234ac09 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedback.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedback.kt
@@ -24,4 +24,4 @@
      * Provide haptic feedback to the user.
      */
     fun performHapticFeedback(hapticFeedbackType: HapticFeedbackType)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackType.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackType.kt
index 96607ef..65e8fac 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackType.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/hapticfeedback/HapticFeedbackType.kt
@@ -53,4 +53,4 @@
 internal expect object PlatformHapticFeedbackType {
     val LongPress: HapticFeedbackType
     val TextHandleMove: HapticFeedbackType
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/InputModeManager.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/InputModeManager.kt
index f6a6fe2..d070126 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/InputModeManager.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/InputModeManager.kt
@@ -73,4 +73,4 @@
 
     @ExperimentalComposeUiApi
     override fun requestInputMode(inputMode: InputMode) = onRequestInputModeChange.invoke(inputMode)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollModifier.kt
index 94c56a7..651727c 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollModifier.kt
@@ -371,4 +371,4 @@
         properties["connection"] = connection
         properties["dispatcher"] = dispatcher
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.kt
index 2484837..a1ac20b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.kt
@@ -239,4 +239,4 @@
  * The unique identifier used as the key for the custom [ModifierLocalProvider] created to tell us
  * the current [PointerIcon].
  */
-private val ModifierLocalPointerIcon = modifierLocalOf<PointerIconModifierLocal?> { null }
\ No newline at end of file
+private val ModifierLocalPointerIcon = modifierLocalOf<PointerIconModifierLocal?> { null }
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker.kt
index d73b265..beddee4 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker.kt
@@ -685,4 +685,4 @@
 @get:ExperimentalComposeUiApi
 @set:ExperimentalComposeUiApi
 @ExperimentalComposeUiApi
-var VelocityTrackerAddPointsFix: Boolean by mutableStateOf(false)
\ No newline at end of file
+var VelocityTrackerAddPointsFix: Boolean by mutableStateOf(false)
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.kt
index 2c32968..209ced5 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui.internal
 
-internal expect annotation class JvmDefaultWithCompatibility()
\ No newline at end of file
+internal expect annotation class JvmDefaultWithCompatibility()
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntermediateLayoutModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntermediateLayoutModifierNode.kt
index 19fcadb..a371e65 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntermediateLayoutModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntermediateLayoutModifierNode.kt
@@ -314,4 +314,4 @@
         override val coroutineContext: CoroutineContext
             get() = coroutineScope.coroutineContext
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntrinsicMeasureScope.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntrinsicMeasureScope.kt
index 68891fa..a039b3b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntrinsicMeasureScope.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/IntrinsicMeasureScope.kt
@@ -38,4 +38,4 @@
      */
     val isLookingAhead: Boolean
         get() = false
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutId.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutId.kt
index 9fa709a..693195a 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutId.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutId.kt
@@ -82,4 +82,4 @@
  * @sample androidx.compose.ui.samples.LayoutTagChildrenUsage
  */
 val Measurable.layoutId: Any?
-    get() = (parentData as? LayoutIdParentData)?.layoutId
\ No newline at end of file
+    get() = (parentData as? LayoutIdParentData)?.layoutId
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutModifier.kt
index 8c3c500..4e8bdbe 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LayoutModifier.kt
@@ -293,4 +293,4 @@
     override fun toString(): String {
         return "LayoutModifierImpl(measureBlock=$measureBlock)"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LookaheadScope.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LookaheadScope.kt
index 949cb76..ba4ee3b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LookaheadScope.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/LookaheadScope.kt
@@ -187,4 +187,4 @@
 
     override val Placeable.PlacementScope.lookaheadScopeCoordinates: LayoutCoordinates
         get() = scopeCoordinates!!()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Measurable.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Measurable.kt
index d32be83..a5efa15 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Measurable.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/Measurable.kt
@@ -28,4 +28,4 @@
      * size. A [Measurable] can only be measured once inside a layout pass.
      */
     fun measure(constraints: Constraints): Placeable
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureResult.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureResult.kt
index 3181d94..ab309fb 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureResult.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/MeasureResult.kt
@@ -14,4 +14,4 @@
     val height: Int
     val alignmentLines: Map<AlignmentLine, Int>
     fun placeChildren()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnPlacedModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnPlacedModifier.kt
index c4acf63..fcfda60 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnPlacedModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/OnPlacedModifier.kt
@@ -76,4 +76,4 @@
      * parent [LayoutModifier] and parent layout can be calculated using the [LayoutCoordinates].
      */
     fun onPlaced(coordinates: LayoutCoordinates)
-}
\ No newline at end of file
+}
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 b20aa16..5ad4f9c 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
@@ -423,4 +423,4 @@
  */
 private val DefaultLayerBlock: GraphicsLayerScope.() -> Unit = {}
 
-private val DefaultConstraints = Constraints()
\ No newline at end of file
+private val DefaultConstraints = Constraints()
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/RootMeasurePolicy.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/RootMeasurePolicy.kt
index 91aec0b..7c76766 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/RootMeasurePolicy.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/RootMeasurePolicy.kt
@@ -64,4 +64,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ScaleFactor.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ScaleFactor.kt
index 7ea18cd..35e79ac 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ScaleFactor.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/ScaleFactor.kt
@@ -194,4 +194,4 @@
         androidx.compose.ui.util.lerp(start.scaleX, stop.scaleX, fraction),
         androidx.compose.ui.util.lerp(start.scaleY, stop.scaleY, fraction)
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocal.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocal.kt
index b98ef0a..34662c8 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocal.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocal.kt
@@ -106,4 +106,4 @@
      * or above this modifier in the layout tree.
      */
     val <T> ModifierLocal<T>.current: T
-}
\ No newline at end of file
+}
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 cb2ad69..6d291ff 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
@@ -71,4 +71,4 @@
     }
 
     override fun hashCode() = consumer.hashCode()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalManager.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalManager.kt
index 620349c..68e7866 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalManager.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/modifier/ModifierLocalManager.kt
@@ -118,4 +118,4 @@
         removedLocal += key
         invalidate()
     }
-}
\ No newline at end of file
+}
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 b689b69..39894e1 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
@@ -66,4 +66,4 @@
             override val value by derivedStateOf(value)
         }
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/BackwardsCompatNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/BackwardsCompatNode.kt
index 179c56f..89ab17a 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/BackwardsCompatNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/BackwardsCompatNode.kt
@@ -456,4 +456,4 @@
 private fun BackwardsCompatNode.isChainUpdate(): Boolean {
     val tailNode = requireLayoutNode().nodes.tail as TailModifierNode
     return tailNode.attachHasBeenRun
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/CompositionLocalConsumerModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/CompositionLocalConsumerModifierNode.kt
index 2d6f733..5b541ad 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/CompositionLocalConsumerModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/CompositionLocalConsumerModifierNode.kt
@@ -73,4 +73,4 @@
         "Cannot read CompositionLocal because the Modifier node is not currently attached."
     }
     return requireLayoutNode().compositionLocalMap[local]
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatableNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatableNode.kt
index ece4784..d5ad56e 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatableNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatableNode.kt
@@ -423,4 +423,4 @@
 private fun MutableVector<Modifier.Node>?.pop(): Modifier.Node? {
     return if (this == null || isEmpty()) null
     else removeAt(size - 1)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/GlobalPositionAwareModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/GlobalPositionAwareModifierNode.kt
index cc280a3..3265083 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/GlobalPositionAwareModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/GlobalPositionAwareModifierNode.kt
@@ -41,4 +41,4 @@
      * the [LayoutCoordinates] argument or when the [onGloballyPositioned] is called.
      */
     fun onGloballyPositioned(coordinates: LayoutCoordinates)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/InteroperableComposeUiNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/InteroperableComposeUiNode.kt
index 1c9615a..612d684 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/InteroperableComposeUiNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/InteroperableComposeUiNode.kt
@@ -27,4 +27,4 @@
 @InternalComposeUiApi
 sealed interface InteroperableComposeUiNode {
     fun getInteropView(): InteropView?
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutAwareModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutAwareModifierNode.kt
index 9f6af91..6637cb9 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutAwareModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutAwareModifierNode.kt
@@ -47,4 +47,4 @@
      * most common usage is [onSizeChanged].
      */
     fun onRemeasured(size: IntSize) {}
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutModifierNode.kt
index 9bac97d..fa1fb316 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutModifierNode.kt
@@ -299,4 +299,4 @@
 
     private enum class IntrinsicMinMax { Min, Max }
     private enum class IntrinsicWidthHeight { Width, Height }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNode.kt
index 2fa7171..c55e1d35 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNode.kt
@@ -1458,4 +1458,4 @@
  */
 internal fun LayoutNode.add(child: LayoutNode) {
     insertAt(children.size, child)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeAlignmentLines.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeAlignmentLines.kt
index b682397..98abd1b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeAlignmentLines.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeAlignmentLines.kt
@@ -243,4 +243,4 @@
 
     override fun NodeCoordinator.calculatePositionInParent(position: Offset): Offset =
         this.lookaheadDelegate!!.position.toOffset() + position
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeDrawScope.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeDrawScope.kt
index 23c5790..784e739 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeDrawScope.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeDrawScope.kt
@@ -124,4 +124,4 @@
         next = next.child
     }
     return null
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MeasureBlocks.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MeasureBlocks.kt
index f813b01..351ac71 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MeasureBlocks.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MeasureBlocks.kt
@@ -70,4 +70,4 @@
         measurables: List<IntrinsicMeasurable>,
         w: Int
     ): Int
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ModifierNodeElement.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ModifierNodeElement.kt
index 7cf6f2d..009aaf0 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ModifierNodeElement.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ModifierNodeElement.kt
@@ -101,4 +101,4 @@
      * inputs may implement this function by checking the type of the other object.
      */
     abstract override fun equals(other: Any?): Boolean
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MutableVectorWithMutationTracking.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MutableVectorWithMutationTracking.kt
index 5a7b0aa..5312521 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MutableVectorWithMutationTracking.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/MutableVectorWithMutationTracking.kt
@@ -50,4 +50,4 @@
     fun asList(): List<T> = vector.asMutableList()
 
     operator fun get(index: Int): T = vector[index]
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NestedVectorStack.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NestedVectorStack.kt
index ba3a4c7..915bc00 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NestedVectorStack.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NestedVectorStack.kt
@@ -54,4 +54,4 @@
             current++
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeChain.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeChain.kt
index f6a0aea..20e43e3 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeChain.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeChain.kt
@@ -832,4 +832,4 @@
         }
     }
     return result
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt
index 31c7c4c..afe3564 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt
@@ -333,4 +333,4 @@
     } else {
         calculateNodeKindSetFrom(node)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnerScope.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnerScope.kt
index 938d179..9a94292 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnerScope.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnerScope.kt
@@ -28,4 +28,4 @@
      * observations are no longer necessary.
      */
     val isValidOwnerScope: Boolean
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ParentDataModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ParentDataModifierNode.kt
index 950f087..03dd713 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ParentDataModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/ParentDataModifierNode.kt
@@ -41,4 +41,4 @@
  * This invalidates the current node's parent data, and ensures that layouts that utilize it will be
  * scheduled to relayout for the next frame.
  */
-fun ParentDataModifierNode.invalidateParentData() = requireLayoutNode().invalidateParentData()
\ No newline at end of file
+fun ParentDataModifierNode.invalidateParentData() = requireLayoutNode().invalidateParentData()
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/RootForTest.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/RootForTest.kt
index e009d51..aea1975 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/RootForTest.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/RootForTest.kt
@@ -61,4 +61,4 @@
      */
     @ExperimentalComposeUiApi
     fun measureAndLayoutForTest() {}
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/SemanticsModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/SemanticsModifierNode.kt
index 1cc3317..3b50fbd 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/SemanticsModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/SemanticsModifierNode.kt
@@ -103,4 +103,4 @@
     }
 
     return requireCoordinator(Nodes.Semantics).touchBoundsInRoot()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AccessibilityManager.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AccessibilityManager.kt
index 70beef4..fa8a959 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AccessibilityManager.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AccessibilityManager.kt
@@ -48,4 +48,4 @@
         containsText: Boolean = false,
         containsControls: Boolean = false
     ): Long
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AtomicInt.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AtomicInt.kt
index b5a0be1..f36eaed 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AtomicInt.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AtomicInt.kt
@@ -22,4 +22,4 @@
 expect class AtomicInt(value_: Int) {
     fun addAndGet(delta: Int): Int
     fun compareAndSet(expected: Int, new: Int): Boolean
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ClassHelpers.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ClassHelpers.kt
index 92b94de..a52773b 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ClassHelpers.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/ClassHelpers.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.platform
 
 // For performance optimizations of type.
-internal expect fun Any.nativeClass(): Any
\ No newline at end of file
+internal expect fun Any.nativeClass(): Any
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/DebugUtils.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/DebugUtils.kt
index b31b781..b352175 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/DebugUtils.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/DebugUtils.kt
@@ -20,4 +20,4 @@
     block()
 }
 
-internal expect fun simpleIdentityToString(obj: Any, name: String?): String
\ No newline at end of file
+internal expect fun simpleIdentityToString(obj: Any, name: String?): String
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 25b5cd5..e497bd2 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
@@ -63,4 +63,4 @@
     when (val policy = coroutineContext[InfiniteAnimationPolicy]) {
         null -> withFrameNanos(onFrame)
         else -> policy.onInfiniteOperation { withFrameNanos(onFrame) }
-    }
\ No newline at end of file
+    }
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InvertMatrix.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InvertMatrix.kt
index d2e6c52..8f0153c 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InvertMatrix.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/InvertMatrix.kt
@@ -74,4 +74,4 @@
     other[3, 2] = ((-a30 * b03 + a31 * b01 - a32 * b00) * invDet)
     other[3, 3] = ((a20 * b03 - a21 * b01 + a22 * b00) * invDet)
     return true
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/PlatformTextInputModifierNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/PlatformTextInputModifierNode.kt
index b577306..2706ca9 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/PlatformTextInputModifierNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/PlatformTextInputModifierNode.kt
@@ -88,4 +88,4 @@
  */
 suspend fun PlatformTextInputModifierNode.textInputSession(
     session: suspend PlatformTextInputSessionScope.() -> Nothing
-): Nothing = requireOwner().textInputSession(session)
\ No newline at end of file
+): Nothing = requireOwner().textInputSession(session)
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 d52279c..eebf652 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
@@ -158,4 +158,4 @@
     opPath.reset()
     touchPointPath.reset()
     return !isClipped
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/SoftwareKeyboardController.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/SoftwareKeyboardController.kt
index 12a4c1a..e25a7cc 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/SoftwareKeyboardController.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/SoftwareKeyboardController.kt
@@ -72,4 +72,4 @@
         @Suppress("DEPRECATION")
         textInputService.hideSoftwareKeyboard()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/Subcomposition.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/Subcomposition.kt
index 0942d88..d1dd4cc 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/Subcomposition.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/Subcomposition.kt
@@ -23,4 +23,4 @@
 internal expect fun createSubcomposition(
     container: LayoutNode,
     parent: CompositionContext
-): Composition
\ No newline at end of file
+): Composition
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TestTag.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TestTag.kt
index c146d16..557f57d 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TestTag.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TestTag.kt
@@ -32,4 +32,4 @@
     properties = {
         testTag = tag
     }
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbar.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbar.kt
index 4ac8387..44591ac 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbar.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbar.kt
@@ -52,4 +52,4 @@
      * @return [TextToolbarStatus] of [TextToolbar].
      */
     val status: TextToolbarStatus
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbarStatus.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbarStatus.kt
index e4afc87..d814abc 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbarStatus.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/TextToolbarStatus.kt
@@ -28,4 +28,4 @@
      * The [TextToolbar] is hidden.
      */
     Hidden
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/UriHandler.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/UriHandler.kt
index 3a0b7c1..104fc59 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/UriHandler.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/UriHandler.kt
@@ -24,4 +24,4 @@
      * Open given URL in browser
      */
     fun openUri(uri: String)
-}
\ No newline at end of file
+}
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 d74db18..79fd45b 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
@@ -54,4 +54,4 @@
      */
     val minimumTouchTargetSize: DpSize
         get() = DpSize(48.dp, 48.dp)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsModifier.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsModifier.kt
index 688113e..dd4decb 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsModifier.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsModifier.kt
@@ -205,4 +205,4 @@
     properties["properties"] = semanticsConfiguration.associate { (key, value) ->
         key.name to value
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsNode.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsNode.kt
index 1c5a975..e72cfd8 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsNode.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsNode.kt
@@ -466,4 +466,4 @@
 
 private val SemanticsNode.role get() = this.unmergedConfig.getOrNull(SemanticsProperties.Role)
 private fun SemanticsNode.contentDescriptionFakeNodeId() = this.id + 2_000_000_000
-private fun SemanticsNode.roleFakeNodeId() = this.id + 1_000_000_000
\ No newline at end of file
+private fun SemanticsNode.roleFakeNodeId() = this.id + 1_000_000_000
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt
index 96d0e6b..39e6cb6 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt
@@ -1386,4 +1386,4 @@
     action: (() -> Boolean)?
 ) {
     this[SemanticsActions.PageRight] = AccessibilityAction(label, action)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/state/ToggleableState.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/state/ToggleableState.kt
index 0258ebf..7a03d3a 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/state/ToggleableState.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/state/ToggleableState.kt
@@ -42,4 +42,4 @@
  *
  * @param value whether the ToggleableState is on or off
  */
-fun ToggleableState(value: Boolean) = if (value) On else Off
\ No newline at end of file
+fun ToggleableState(value: Boolean) = if (value) On else Off
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurerHelper.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurerHelper.kt
index 5b6565a..9c0a0a8 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurerHelper.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/text/TextMeasurerHelper.kt
@@ -51,4 +51,4 @@
     return remember(fontFamilyResolver, density, layoutDirection, cacheSize) {
         TextMeasurer(fontFamilyResolver, density, layoutDirection, cacheSize)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropView.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropView.kt
index 4fd9db3..9bc1832 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropView.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropView.kt
@@ -24,4 +24,4 @@
  * in which case the typealias will resolve to [Any].
  */
 @InternalComposeUiApi
-expect class InteropView
\ No newline at end of file
+expect class InteropView
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.kt
index 56ba24a..f72fa1e 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.kt
@@ -22,4 +22,4 @@
 @InternalComposeUiApi
 internal expect class InteropViewFactoryHolder : ComposeNodeLifecycleCallback {
     fun getInteropView(): InteropView?
-}
\ No newline at end of file
+}
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 b849495..2c00a20 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
@@ -398,4 +398,4 @@
         DesktopPlatform.Current == DesktopPlatform.MacOS &&
             ((modifiersEx and InputEvent.BUTTON1_DOWN_MASK) != 0) &&
             ((modifiersEx and InputEvent.CTRL_DOWN_MASK) != 0)
-        )
\ No newline at end of file
+        )
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/LocalLayerContainer.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/LocalLayerContainer.desktop.kt
index 7999d4f..c0f9c25 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/LocalLayerContainer.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/LocalLayerContainer.desktop.kt
@@ -21,4 +21,4 @@
 
 internal val LocalLayerContainer = compositionLocalOf<Container> {
     error("CompositionLocal LayerContainer not provided")
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.desktop.kt
index 808d843..d689afa 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/hapticfeedback/PlatformHapticFeedbackType.desktop.kt
@@ -22,4 +22,4 @@
 internal actual object PlatformHapticFeedbackType {
     actual val LongPress: HapticFeedbackType = HapticFeedbackType(0)
     actual val TextHandleMove: HapticFeedbackType = HapticFeedbackType(9)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/KeyShortcut.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/KeyShortcut.desktop.kt
index 2c4f3ce..ad253e1 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/KeyShortcut.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/key/KeyShortcut.desktop.kt
@@ -93,4 +93,4 @@
         if (shift) value = value or InputEvent.SHIFT_DOWN_MASK
         value
     }
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.desktop.kt
index 0bd66bd..bb0a910 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/InternalPointerEvent.desktop.kt
@@ -41,4 +41,4 @@
 
     // Assume that all changes are from mouse events for now
     actual fun issuesEnterExitEvent(pointerId: PointerId): Boolean = true
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.desktop.kt
index 06534e7..e6e52fd 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/input/pointer/PointerIcon.desktop.kt
@@ -47,4 +47,4 @@
 internal actual val pointerIconDefault: PointerIcon = AwtCursor(Cursor(Cursor.DEFAULT_CURSOR))
 internal actual val pointerIconCrosshair: PointerIcon = AwtCursor(Cursor(Cursor.CROSSHAIR_CURSOR))
 internal actual val pointerIconText: PointerIcon = AwtCursor(Cursor(Cursor.TEXT_CURSOR))
-internal actual val pointerIconHand: PointerIcon = AwtCursor(Cursor(Cursor.HAND_CURSOR))
\ No newline at end of file
+internal actual val pointerIconHand: PointerIcon = AwtCursor(Cursor(Cursor.HAND_CURSOR))
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt
index 437c083..37f028c 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt
@@ -50,4 +50,4 @@
             containerCursor?.componentCursor = defaultCursor
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopPlatform.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopPlatform.desktop.kt
index 69b44f4..03ad58a 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopPlatform.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopPlatform.desktop.kt
@@ -52,4 +52,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopTextInputSession.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopTextInputSession.kt
index de9af896..35f8ff9 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopTextInputSession.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopTextInputSession.kt
@@ -47,4 +47,4 @@
             }
         })
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformLocalization.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformLocalization.desktop.kt
index b0c95a3..0e985da 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformLocalization.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformLocalization.desktop.kt
@@ -34,4 +34,4 @@
 
 val LocalLocalization = staticCompositionLocalOf {
     defaultPlatformLocalization
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.desktop.kt
index a531248..f35320b 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.desktop.kt
@@ -20,4 +20,4 @@
 
 actual interface PlatformTextInputSession {
     actual suspend fun startInputMethod(request: PlatformTextInputMethodRequest): Nothing
-}
\ No newline at end of file
+}
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 bc88383..88dd5ae 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
@@ -202,4 +202,4 @@
     companion object {
         private val EventComponent = object : Component() {}
     }
-}
\ No newline at end of file
+}
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 5413fa0..677bb91 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
@@ -125,4 +125,4 @@
             dom.render(canvas.nativeCanvas)
         }
     }
-}
\ No newline at end of file
+}
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 e862143..9a8330a 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
@@ -30,4 +30,4 @@
  * @return the decoded SVG image associated with the resource
  */
 fun loadImageBitmap(inputStream: InputStream): ImageBitmap =
-    Image.makeFromEncoded(inputStream.readAllBytes()).toComposeImageBitmap()
\ No newline at end of file
+    Image.makeFromEncoded(inputStream.readAllBytes()).toComposeImageBitmap()
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 410f0d6..a2e730d 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
@@ -80,4 +80,4 @@
         useResource(resourcePath, ::loadImageBitmap)
     }
     return BitmapPainter(image)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/Resources.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/Resources.desktop.kt
index 6ad2853..60ff71a 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/Resources.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/Resources.desktop.kt
@@ -46,4 +46,4 @@
     return requireNotNull(classLoader.getResourceAsStream(resourcePath)) {
         "Resource $resourcePath not found"
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopValueParsers.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopValueParsers.desktop.kt
index da7da20..583e20d 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopValueParsers.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/res/vector/DesktopValueParsers.desktop.kt
@@ -101,4 +101,4 @@
         endsWith("px") -> removeSuffix("px").toFloat().toDp()
         else -> throw UnsupportedOperationException("value should ends with dp or px")
     }
-}
\ No newline at end of file
+}
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 c326802..cb92895 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
@@ -274,4 +274,4 @@
     for (i in 0 until childNodes.length) {
         yield(childNodes.item(i))
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/ComponentUpdater.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/ComponentUpdater.kt
index 309e8a9..87b7306 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/ComponentUpdater.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/ComponentUpdater.kt
@@ -49,4 +49,4 @@
             index++
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/UpdateEffect.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/UpdateEffect.desktop.kt
index 62a183c..83391a9 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/UpdateEffect.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/util/UpdateEffect.desktop.kt
@@ -66,4 +66,4 @@
             snapshotObserver.clear()
         }
     }
-}
\ No newline at end of file
+}
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 a50f886..eda022d 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
@@ -165,4 +165,4 @@
     } finally {
         preferredSize = oldPreferredSize
     }
-}
\ No newline at end of file
+}
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 80d3f69..5e556d8 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
@@ -229,4 +229,4 @@
     override fun move(from: Int, to: Int, count: Int) = Unit
     override fun clear() = Unit
     override fun onEndChanges() = Unit
-}
\ No newline at end of file
+}
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 2b96713..545576e 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
@@ -128,4 +128,4 @@
             window().isVisible = false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Dialog.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Dialog.desktop.kt
index f92ee1c..d224e73 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Dialog.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Dialog.desktop.kt
@@ -259,4 +259,4 @@
      * [ComposeDialog] that was created inside [androidx.compose.ui.window.Dialog].
      */
     override val window: ComposeDialog
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DialogState.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DialogState.desktop.kt
index 621309a..9e73e2d 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DialogState.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DialogState.desktop.kt
@@ -189,4 +189,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LayoutConfiguration.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LayoutConfiguration.desktop.kt
index b05f1b9..fee47de 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LayoutConfiguration.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/LayoutConfiguration.desktop.kt
@@ -46,4 +46,4 @@
 internal val GlobalLayoutDirection get() = LayoutDirection.Ltr
 
 @Suppress("unused")
-internal val Component.layoutDirection: LayoutDirection get() = LayoutDirection.Ltr
\ No newline at end of file
+internal val Component.layoutDirection: LayoutDirection get() = LayoutDirection.Ltr
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 4208152..9d202ea 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
@@ -26,4 +26,4 @@
  * Window-owner of the current composition (for example, [ComposeWindow] or [ComposeDialog]).
  * If the composition is not inside Window (for example, [ComposePanel]), then return null
  */
-internal val LocalWindow = compositionLocalOf<Window?> { null }
\ No newline at end of file
+internal val LocalWindow = compositionLocalOf<Window?> { null }
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Menu.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Menu.desktop.kt
index 05c535b..52f1603 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Menu.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Menu.desktop.kt
@@ -833,4 +833,4 @@
             set(receiver, ref.value!!) // prevent internal state change
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Notification.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Notification.desktop.kt
index ee37df8..bf0f254 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Notification.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Notification.desktop.kt
@@ -115,4 +115,4 @@
          */
         Error,
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/UndecoratedWindowResizer.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/UndecoratedWindowResizer.desktop.kt
index 8547501..79c3b9d 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/UndecoratedWindowResizer.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/UndecoratedWindowResizer.desktop.kt
@@ -175,4 +175,4 @@
         val Right = 0x0100
         val Bottom = 0x1000
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Window.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Window.desktop.kt
index dfcaafe..0826e9a 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Window.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/Window.desktop.kt
@@ -381,4 +381,4 @@
             composition.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPlacement.desktop.kt.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPlacement.desktop.kt.kt
index f825474..c97ea0b 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPlacement.desktop.kt.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPlacement.desktop.kt.kt
@@ -38,4 +38,4 @@
      * application menu on macOs).
      */
     Fullscreen
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPosition.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPosition.desktop.kt
index c86638b..9815703 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPosition.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowPosition.desktop.kt
@@ -148,4 +148,4 @@
             return result
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowScope.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowScope.kt
index a340356..6f24730 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowScope.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowScope.kt
@@ -30,4 +30,4 @@
      * or [androidx.compose.ui.window.Dialog]
      */
     val window: Window
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowSize.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowSize.desktop.kt
index 591053d..9e17edc 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowSize.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowSize.desktop.kt
@@ -95,4 +95,4 @@
 
     @Stable
     override fun toString() = "$width x $height"
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowState.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowState.desktop.kt
index 24e59c1..2ef1d2d 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowState.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/WindowState.desktop.kt
@@ -245,4 +245,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/desktop/TestThread.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/desktop/TestThread.kt
index f98d967..4c62c78 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/desktop/TestThread.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/desktop/TestThread.kt
@@ -35,4 +35,4 @@
             throw exception!!
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/TestUtils.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/TestUtils.kt
index 2d891af..c7b3abd 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/TestUtils.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/TestUtils.kt
@@ -119,4 +119,4 @@
     )
     component.dispatchEvent(event)
     return event.isConsumed
-}
\ No newline at end of file
+}
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 66ac55a..041db79 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
@@ -123,4 +123,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
index 226bc0a..41a3f6b 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
@@ -168,4 +168,4 @@
             window.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilterTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilterTest.kt
index 5177ec6..0bb7091 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilterTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/input/mouse/MouseScrollFilterTest.kt
@@ -310,4 +310,4 @@
         assertThat(actualEvent?.orientation).isEqualTo(MouseScrollOrientation.Horizontal)
         assertThat(actualBounds).isEqualTo(IntSize(20, 40))
     }
-}
\ No newline at end of file
+}
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 a4c7cbb..cff629c 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
@@ -184,4 +184,4 @@
         )
         assertThat(iconService.getIcon()).isEqualTo(PointerIcon.Hand)
     }
-}
\ No newline at end of file
+}
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 4ae3e53..c8ea15d 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
@@ -1,59 +1,59 @@
-/*
- * 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.
- */
-
-package androidx.compose.ui.platform
-
-import androidx.compose.material.Text
-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
-
-@RunWith(JUnit4::class)
-class AccessibilityTest {
-
-    @get:Rule
-    val rule = createComposeRule()
-
-    @Test
-    fun accessibleText() {
-        rule.setContent {
-            Text("Hello world. Hi world.", modifier = Modifier.testTag("text"))
-        }
-
-        val node = rule.onNodeWithTag("text").fetchSemanticsNode()
-        val accessibleNode = ComposeAccessible(node)
-        val accessibleText = accessibleNode.accessibleContext.accessibleText!!
-        assertEquals(22, accessibleText.charCount)
-
-        assertEquals("H", accessibleText.getAtIndex(AccessibleText.CHARACTER, 0))
-        assertEquals("Hello", accessibleText.getAtIndex(AccessibleText.WORD, 0))
-        assertEquals("Hello world. ", accessibleText.getAtIndex(AccessibleText.SENTENCE, 0))
-
-        assertEquals("e", accessibleText.getAfterIndex(AccessibleText.CHARACTER, 0))
-        assertEquals("world", accessibleText.getAfterIndex(AccessibleText.WORD, 0))
-        assertEquals("Hi world.", accessibleText.getAfterIndex(AccessibleText.SENTENCE, 0))
-
-        assertEquals("d", accessibleText.getBeforeIndex(AccessibleText.CHARACTER, 21))
-        assertEquals("world", accessibleText.getBeforeIndex(AccessibleText.WORD, 21))
-        assertEquals("Hi world", accessibleText.getBeforeIndex(AccessibleText.SENTENCE, 21))
-    }
-}
\ No newline at end of file
+/*
+ * 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.
+ */
+
+package androidx.compose.ui.platform
+
+import androidx.compose.material.Text
+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
+
+@RunWith(JUnit4::class)
+class AccessibilityTest {
+
+    @get:Rule
+    val rule = createComposeRule()
+
+    @Test
+    fun accessibleText() {
+        rule.setContent {
+            Text("Hello world. Hi world.", modifier = Modifier.testTag("text"))
+        }
+
+        val node = rule.onNodeWithTag("text").fetchSemanticsNode()
+        val accessibleNode = ComposeAccessible(node)
+        val accessibleText = accessibleNode.accessibleContext.accessibleText!!
+        assertEquals(22, accessibleText.charCount)
+
+        assertEquals("H", accessibleText.getAtIndex(AccessibleText.CHARACTER, 0))
+        assertEquals("Hello", accessibleText.getAtIndex(AccessibleText.WORD, 0))
+        assertEquals("Hello world. ", accessibleText.getAtIndex(AccessibleText.SENTENCE, 0))
+
+        assertEquals("e", accessibleText.getAfterIndex(AccessibleText.CHARACTER, 0))
+        assertEquals("world", accessibleText.getAfterIndex(AccessibleText.WORD, 0))
+        assertEquals("Hi world.", accessibleText.getAfterIndex(AccessibleText.SENTENCE, 0))
+
+        assertEquals("d", accessibleText.getBeforeIndex(AccessibleText.CHARACTER, 21))
+        assertEquals("world", accessibleText.getBeforeIndex(AccessibleText.WORD, 21))
+        assertEquals("Hi world", accessibleText.getBeforeIndex(AccessibleText.SENTENCE, 21))
+    }
+}
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 2ffaeea..4cdd2ae 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
@@ -109,4 +109,4 @@
         Assert.assertEquals("ä", buffer.text)
         Assert.assertEquals(TextRange(1), buffer.selection)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopTextInputSessionTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopTextInputSessionTest.kt
index c2fd0d6..24e4bc4 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopTextInputSessionTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopTextInputSessionTest.kt
@@ -140,4 +140,4 @@
             throw AssertionError("not supported")
         }
     }
-}
\ No newline at end of file
+}
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 b784f0d..f4d29ff 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
@@ -106,4 +106,4 @@
         assertEquals((0 until 10000).toList(), actualNumbers)
         assertFalse(dispatcher.hasTasks())
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/GraphicsLayerTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/GraphicsLayerTest.kt
index 57376b1..6c0688e 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/GraphicsLayerTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/GraphicsLayerTest.kt
@@ -325,4 +325,4 @@
         }
         screenshotRule.snap(window.surface)
     }
-}
\ No newline at end of file
+}
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 81cc28a..4de7ff75 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
@@ -106,4 +106,4 @@
         }
         return onRender.isCompleted
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
index 7fd119a..735f3a7 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
@@ -52,4 +52,4 @@
             window.dispose()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/res/DesktopSvgResourcesTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/res/DesktopSvgResourcesTest.kt
index 30389c3..6351f8c 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/res/DesktopSvgResourcesTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/res/DesktopSvgResourcesTest.kt
@@ -124,4 +124,4 @@
         }
         screenshotRule.snap(window.surface)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/AddRemoveMutableListTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/AddRemoveMutableListTest.kt
index 5a55cc6..95a0d9e 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/AddRemoveMutableListTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/AddRemoveMutableListTest.kt
@@ -76,4 +76,4 @@
     override fun performRemove(index: Int) {
         list.removeAt(index)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/UpdateEffectTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/UpdateEffectTest.kt
index 493117b..93bb454 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/UpdateEffectTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/util/UpdateEffectTest.kt
@@ -83,4 +83,4 @@
         rule.waitForIdle()
         assertThat(updatedState).isNotEqualTo(state)
     }
-}
\ No newline at end of file
+}
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 95cb554..a842511 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
@@ -151,4 +151,4 @@
 
         exitApplication()
     }
-}
\ No newline at end of file
+}
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 40d329b..1ec49f3 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
@@ -474,4 +474,4 @@
 
         exitApplication()
     }
-}
\ No newline at end of file
+}
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 427bda9..c6b4f02 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
@@ -138,4 +138,4 @@
             recomposerInfo.state.takeWhile { it > Recomposer.State.Idle }.collect()
         }
     }
-}
\ No newline at end of file
+}
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 5009c3e..1d526c76 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
@@ -552,4 +552,4 @@
 
         exitApplication()
     }
-}
\ No newline at end of file
+}
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 b90df87..3eba371 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
@@ -596,4 +596,4 @@
 
     private val PointerEvent.pressed get() = changes.first().pressed
     private val PointerEvent.position get() = changes.first().position
-}
\ No newline at end of file
+}
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 5e4cf77..09a7700 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
@@ -201,4 +201,4 @@
 
         window?.dispatchEvent(WindowEvent(window, WindowEvent.WINDOW_CLOSING))
     }
-}
\ No newline at end of file
+}
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 e8279f5..e50d1a8 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
@@ -801,4 +801,4 @@
             size.width - insets.left - insets.right,
             size.height - insets.top - insets.bottom,
         )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
index 9ae3fc6..1bc68ce 100644
--- a/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
+++ b/compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
@@ -461,4 +461,4 @@
 
         exitApplication()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/Actual.kt b/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/Actual.kt
index 18da868..84f9030 100644
--- a/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/Actual.kt
+++ b/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/Actual.kt
@@ -46,4 +46,4 @@
                 }
             }
         }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/AtomicReference.jvm.kt b/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/AtomicReference.jvm.kt
index 1e2527d..c1a54db 100644
--- a/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/AtomicReference.jvm.kt
+++ b/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/AtomicReference.jvm.kt
@@ -16,4 +16,4 @@
 
 package androidx.compose.ui
 
-internal actual typealias AtomicReference<V> = java.util.concurrent.atomic.AtomicReference<V>
\ No newline at end of file
+internal actual typealias AtomicReference<V> = java.util.concurrent.atomic.AtomicReference<V>
diff --git a/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.jvm.kt b/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.jvm.kt
index bc27390..792bbe5 100644
--- a/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.jvm.kt
+++ b/compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/internal/JvmDefaultWithCompatibility.jvm.kt
@@ -17,4 +17,4 @@
 package androidx.compose.ui.internal
 
 @Suppress("ACTUAL_WITHOUT_EXPECT") // https://youtrack.jetbrains.com/issue/KT-37316
-internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
\ No newline at end of file
+internal actual typealias JvmDefaultWithCompatibility = kotlin.jvm.JvmDefaultWithCompatibility
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/AccessibilityController.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/AccessibilityController.skiko.kt
index bf3da08..14792b0 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/AccessibilityController.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/AccessibilityController.skiko.kt
@@ -39,4 +39,4 @@
      * platform-specific counterparts.
      */
     suspend fun syncLoop()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultHapticFeedback.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultHapticFeedback.skiko.kt
index eafdf15..83652f7 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultHapticFeedback.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultHapticFeedback.skiko.kt
@@ -23,4 +23,4 @@
 internal class DefaultHapticFeedback : HapticFeedback {
     override fun performHapticFeedback(hapticFeedbackType: HapticFeedbackType) {
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultTextToolbar.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultTextToolbar.skiko.kt
index def1d41..05b98f3 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultTextToolbar.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultTextToolbar.skiko.kt
@@ -34,4 +34,4 @@
         onSelectAllRequested: (() -> Unit)?
     ) {
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultUiApplier.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultUiApplier.skiko.kt
index 56a4cb8..579f42e 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultUiApplier.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/DefaultUiApplier.skiko.kt
@@ -46,4 +46,4 @@
         super.onEndChanges()
         root.owner?.onEndApplyChanges()
     }
-}
\ No newline at end of file
+}
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 134f900..e058161 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
@@ -84,4 +84,4 @@
             isPerformingRun = false
         }
     }
-}
\ No newline at end of file
+}
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 1c339d4..580fd2b 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
@@ -71,4 +71,4 @@
 
     private fun createOutline() =
         shape.createOutline(size.toSize(), layoutDirection, density)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaRootForTest.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaRootForTest.skiko.kt
index e21e539..dc6f7f03 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaRootForTest.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaRootForTest.skiko.kt
@@ -33,4 +33,4 @@
      * [pointers] state of all pointers
      */
     fun processPointerInput(timeMillis: Long, pointers: List<TestPointerInputEventData>)
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropView.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropView.skiko.kt
index d9a2743..fd7cb75 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropView.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropView.skiko.kt
@@ -18,4 +18,4 @@
 
 // Interop Views aren't supported in Skiko. Use Any instead of Nothing because we can't have a type
 // aliased to Nothing appear as a function return type or property type.
-actual typealias InteropView = Any
\ No newline at end of file
+actual typealias InteropView = Any
diff --git a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.skiko.kt b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.skiko.kt
index 357df45..f8b7219 100644
--- a/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.skiko.kt
+++ b/compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/viewinterop/InteropViewFactoryHolder.skiko.kt
@@ -45,4 +45,4 @@
         "InteropViewFactoryHolder cannot be used because " +
             "interoperability views are not supported on this platform."
     )
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/SessionMutexTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/SessionMutexTest.kt
index 7da32ad9..d0bf7d9 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/SessionMutexTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/SessionMutexTest.kt
@@ -379,4 +379,4 @@
     )
 
     private class TestException : RuntimeException()
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/TransformOriginTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/TransformOriginTest.kt
index 51651a7..25db313 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/TransformOriginTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/TransformOriginTest.kt
@@ -54,4 +54,4 @@
         assertEquals(0.1f, pivotX)
         assertEquals(0.2f, pivotY)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TestUtils.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TestUtils.kt
index 3e8482a..fe67b4b 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TestUtils.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/TestUtils.kt
@@ -19,4 +19,4 @@
 import androidx.compose.ui.input.pointer.PointerEvent
 import androidx.compose.ui.input.pointer.PointerInputChange
 
-internal fun pointerEventOf(vararg changes: PointerInputChange) = PointerEvent(changes.toList())
\ No newline at end of file
+internal fun pointerEventOf(vararg changes: PointerInputChange) = PointerEvent(changes.toList())
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/PolyFitLeastSquaresTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/PolyFitLeastSquaresTest.kt
index 5dd6560..5675abc 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/PolyFitLeastSquaresTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/gesture/scrollorientationlocking/PolyFitLeastSquaresTest.kt
@@ -282,4 +282,4 @@
             assertThat(actual[index]).isWithin(.00001f).of(value)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/graphics/vector/ImageVectorBuilderTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/graphics/vector/ImageVectorBuilderTest.kt
index 5bbab8f..af80fc4 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/graphics/vector/ImageVectorBuilderTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/graphics/vector/ImageVectorBuilderTest.kt
@@ -119,4 +119,4 @@
     defaultHeight = 10.dp,
     viewportWidth = 10f,
     viewportHeight = 10f
-)
\ No newline at end of file
+)
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 9669e89..260344e 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
@@ -53,4 +53,4 @@
             times(1)
         ).performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)
     }
-}
\ No newline at end of file
+}
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 05a700a..84dc9d0 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
@@ -170,4 +170,4 @@
 //    fun getHandler() {
 //        assertThat(ic.handler).isFalse()
 //    }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
index 4774c9f..def7b15 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
@@ -101,4 +101,4 @@
         assertThat(captor.firstValue.selectionStart).isEqualTo(0)
         assertThat(captor.firstValue.selectionEnd).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker1DTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker1DTest.kt
index 8283e89..be20d3e 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker1DTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTracker1DTest.kt
@@ -719,4 +719,4 @@
     val differentialDataPoints: Boolean,
     val dataPoints: List<DataPointAtTime>,
     val expectedVelocities: List<ExpectedVelocity>
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTrackerTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTrackerTest.kt
index 284add9..2016513 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTrackerTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/input/pointer/util/VelocityTrackerTest.kt
@@ -1727,4 +1727,4 @@
         down = false,
         position = createPxPosition(241.14285278320312f, 451.4285583496094f)
     )
-)
\ No newline at end of file
+)
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/AlignmentTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/AlignmentTest.kt
index af13cf5b..1d03d24 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/AlignmentTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/AlignmentTest.kt
@@ -350,4 +350,4 @@
             BiasAbsoluteAlignment.Horizontal(0.5f).align(0, space1D, LayoutDirection.Rtl)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ContentScaleTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ContentScaleTest.kt
index 7134996..6743d68 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ContentScaleTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ContentScaleTest.kt
@@ -135,4 +135,4 @@
         assertEquals(3.0f, scale.scaleX)
         assertEquals(7.0f, scale.scaleY)
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ScaleFactorTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ScaleFactorTest.kt
index 81103bf..7e690aa 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ScaleFactorTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/layout/ScaleFactorTest.kt
@@ -138,4 +138,4 @@
     fun testScaleFactorToString() {
         assertEquals("ScaleFactor(1.2, 1.3)", ScaleFactor(1.234f, 1.25f).toString())
     }
-}
\ No newline at end of file
+}
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 9b88092..157de10 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
@@ -889,4 +889,4 @@
     val queue = this ?: ArrayDeque(8)
     queue.addLast(node)
     return queue
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
index 4e8ee25..35642ad 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
@@ -2804,4 +2804,4 @@
     return node.element
 }
 
-private fun LayoutNode.onNodePlaced() = measurePassDelegate.onNodePlaced()
\ No newline at end of file
+private fun LayoutNode.onNodePlaced() = measurePassDelegate.onNodePlaced()
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/ModifierNodeElementTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/ModifierNodeElementTest.kt
index 862f89b..d0f0cf0 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/ModifierNodeElementTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/ModifierNodeElementTest.kt
@@ -93,4 +93,4 @@
             actual.inspectableElements.toList()
         )
     }
-}
\ No newline at end of file
+}
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 a9048bc..7896fe2 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
@@ -48,4 +48,4 @@
         }
         assertThat(clipboardManager.hasText()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/WindowInfoTest.kt b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/WindowInfoTest.kt
index 0d88eb7..07ce625 100644
--- a/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/WindowInfoTest.kt
+++ b/compose/ui/ui/src/test/kotlin/androidx/compose/ui/platform/WindowInfoTest.kt
@@ -84,4 +84,4 @@
         testScheduler.runCurrent()
         assertThat(last).isEqualTo(PointerKeyboardModifiers(22))
     }
-}
\ No newline at end of file
+}
diff --git a/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/SuspendToFutureAdapter.kt b/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/SuspendToFutureAdapter.kt
index 3e70e3a..870eef8 100644
--- a/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/SuspendToFutureAdapter.kt
+++ b/concurrent/concurrent-futures-ktx/src/main/java/androidx/concurrent/futures/SuspendToFutureAdapter.kt
@@ -145,4 +145,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/SuspendToFutureAdapterTest.kt b/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/SuspendToFutureAdapterTest.kt
index f0026cf..446818a3 100644
--- a/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/SuspendToFutureAdapterTest.kt
+++ b/concurrent/concurrent-futures-ktx/src/test/java/androidx/concurrent/futures/SuspendToFutureAdapterTest.kt
@@ -224,4 +224,4 @@
             block.run()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutComposeIssueRegistry.kt b/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutComposeIssueRegistry.kt
index 1edc7e6..09a1496 100644
--- a/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutComposeIssueRegistry.kt
+++ b/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutComposeIssueRegistry.kt
@@ -40,4 +40,4 @@
         identifier = "androidx.constraintlayout.compose",
         vendorName = "Android Open Source Project",
     )
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetector.kt b/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetector.kt
index 81058d4..c6292e8 100644
--- a/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetector.kt
+++ b/constraintlayout/constraintlayout-compose-lint/src/main/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetector.kt
@@ -760,4 +760,4 @@
     val typeName = this.getExpressionType()?.canonicalText ?: return false
     return typeName == CONSTRAINED_LAYOUT_REFERENCE_CLASS_FQ ||
         typeName == LAYOUT_REFERENCE_CLASS_FQ
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ApiLintVersionsTest.kt b/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ApiLintVersionsTest.kt
index 2d34377..92c95d2 100644
--- a/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ApiLintVersionsTest.kt
+++ b/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ApiLintVersionsTest.kt
@@ -34,4 +34,4 @@
         assertThat(registry.api).isEqualTo(CURRENT_API)
         assertThat(registry.minApi).isEqualTo(CURRENT_API)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetectorTest.kt b/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetectorTest.kt
index 359189a..1687dad 100644
--- a/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetectorTest.kt
+++ b/constraintlayout/constraintlayout-compose-lint/src/test/java/androidx/constraintlayout/compose/lint/ConstraintLayoutDslDetectorTest.kt
@@ -376,4 +376,4 @@
 4 errors, 0 warnings"""
             )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
index 53be7dc..4ab8cf2 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
@@ -171,4 +171,4 @@
             fontSize = 16.sp
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ChainsDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ChainsDemo.kt
index 06cff7e..c1dfe25 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ChainsDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ChainsDemo.kt
@@ -107,4 +107,4 @@
             Text(text = "Toggle Orientation")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CollapsibleToolbarDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CollapsibleToolbarDemo.kt
index a1aa8cc7..2b52ffc 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CollapsibleToolbarDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CollapsibleToolbarDemo.kt
@@ -304,4 +304,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CustomKeyAttributesDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CustomKeyAttributesDemo.kt
index 21070d0..846b2f2 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CustomKeyAttributesDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/CustomKeyAttributesDemo.kt
@@ -116,4 +116,4 @@
             text = "Color: ${background.toArgb().toUInt().toString(16)}"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/LazyListItemsDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/LazyListItemsDemo.kt
index b6af84a..d35ff34 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/LazyListItemsDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/LazyListItemsDemo.kt
@@ -253,4 +253,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/OnSwipeDemos.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/OnSwipeDemos.kt
index 586a4b5..4dbb5ca 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/OnSwipeDemos.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/OnSwipeDemos.kt
@@ -301,4 +301,4 @@
                 .layoutId("box")
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/PuzzleDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/PuzzleDemo.kt
index f5d5cc4..804d328 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/PuzzleDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/PuzzleDemo.kt
@@ -183,4 +183,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ReactionSelectorDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ReactionSelectorDemo.kt
index ecd1404..3bce2e5 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ReactionSelectorDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/ReactionSelectorDemo.kt
@@ -139,4 +139,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/StaggeredDemo.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/StaggeredDemo.kt
index a3b52d1..24bb6b9 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/StaggeredDemo.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/StaggeredDemo.kt
@@ -137,4 +137,4 @@
     Normal,
     Inverted,
     Custom
-}
\ No newline at end of file
+}
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 d104977..91a28e8 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
@@ -89,4 +89,4 @@
         }
         Choreographer.getInstance().postFrameCallback(callback)
     }
-}
\ No newline at end of file
+}
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 a1c4b31..95c5eb0 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
@@ -133,4 +133,4 @@
             overflow = TextOverflow.Ellipsis
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/SearchBar.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/SearchBar.kt
index 8cc4339..5caaad8 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/SearchBar.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/SearchBar.kt
@@ -114,4 +114,4 @@
             backgroundColor = Color.Transparent,
         )
     )
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/TestableButton.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/TestableButton.kt
index 9beb710..c2d9833 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/TestableButton.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/components/TestableButton.kt
@@ -39,4 +39,4 @@
     ) {
         Text(text = text)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Images.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Images.kt
index 08f4781..5e0b504 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Images.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Images.kt
@@ -53,4 +53,4 @@
             .appendPath(getResourceTypeName(resourceId))
             .appendPath(getResourceEntryName(resourceId))
             .build()
-    }
\ No newline at end of file
+    }
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Strings.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Strings.kt
index c062956..3af119c 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Strings.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Strings.kt
@@ -132,4 +132,4 @@
             LOREM_IPSUM.filter { it != '\n' }.split(' ')
                 .take(wordCount.coerceIn(1, LOREM_IPSUM_WORDS.size))
         }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Time.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Time.kt
index 53944f9..7baafd3 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Time.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/common/sampledata/Time.kt
@@ -23,4 +23,4 @@
 
 internal fun newHourMinuteTimeStamp(): String {
     return SimpleDateFormat("hh:mma", Locale.US).format(Date.from(Instant.now()))
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/graphs/DynamicGraphs.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/graphs/DynamicGraphs.kt
index 1ba89a0..15c3bd1 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/graphs/DynamicGraphs.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/graphs/DynamicGraphs.kt
@@ -144,4 +144,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 95b79af..0c12a36 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
@@ -755,4 +755,4 @@
     )
 }
 
-private fun Color.toHexString() = toArgb().toUInt().toString(16)
\ No newline at end of file
+private fun Color.toHexString() = toArgb().toUInt().toString(16)
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessageState.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessageState.kt
index 0fb0062..47c30ef 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessageState.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessageState.kt
@@ -51,4 +51,4 @@
     Full,
     Mini,
     Fab
-}
\ No newline at end of file
+}
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 846fd83..08681e0 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
@@ -240,4 +240,4 @@
         )
         OutlinedSearchBar(modifier = Modifier.layoutId("toolbar"))
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt
index 5fb7268..9beb827 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ChainsTest.kt
@@ -460,4 +460,4 @@
         rule.onNodeWithTag("box1").assertPositionInRootIsEqualTo(0.dp, rootSize * 0.667f)
         rule.onNodeWithTag("box1").assertHeightIsEqualTo(rootSize * 0.334f)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
index b418a5d..ac64762 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTest.kt
@@ -2725,4 +2725,4 @@
             assertEquals(151f, position[3])
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt
index 91615d5..688ad92 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetParserKtTest.kt
@@ -39,4 +39,4 @@
         """.trimIndent()
         ConstraintSetParser.parseJSON(content, coreTransition, 0) // Should finish successfully
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/DesignInfoProviderTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/DesignInfoProviderTest.kt
index 955b6d2..337393c 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/DesignInfoProviderTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/DesignInfoProviderTest.kt
@@ -232,4 +232,4 @@
     Box {
         content()
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridDslTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridDslTest.kt
index 1ae2257..c14819c 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridDslTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridDslTest.kt
@@ -663,4 +663,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridTest.kt
index e9191c8..be5563a 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/GridTest.kt
@@ -689,4 +689,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionFlowTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionFlowTest.kt
index 38f992f..500c66c 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionFlowTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionFlowTest.kt
@@ -143,4 +143,4 @@
         expectedPosition += gapSize + 10.dp
         rule.onNodeWithTag("4").assertPositionInRootIsEqualTo(94.9.dp, expectedPosition)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionGridTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionGridTest.kt
index 40eae1d..d9f575c 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionGridTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionGridTest.kt
@@ -304,4 +304,4 @@
         val density = LocalDensity.current
         return with(density) { dpVal.toPx() }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutTest.kt
index 028ce9f..ad4c332 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MotionLayoutTest.kt
@@ -728,4 +728,4 @@
         ),
         content = content
     )
-}
\ No newline at end of file
+}
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 b674c98..63db86a 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
@@ -118,4 +118,4 @@
         // Test should finish without exceptions
         rule.waitForIdle()
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MultiMeasureCompositionTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MultiMeasureCompositionTest.kt
index 5f80af3..2fc71cf 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MultiMeasureCompositionTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/MultiMeasureCompositionTest.kt
@@ -258,4 +258,4 @@
         Caller,
         Content
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt
index 913cba0..056cee8 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/OnSwipeTest.kt
@@ -212,4 +212,4 @@
                 .testTag("box")
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnDslTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnDslTest.kt
index 9a75d12..4f3521f 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnDslTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnDslTest.kt
@@ -340,4 +340,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnTest.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnTest.kt
index 85979d4..e166bb6 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/RowColumnTest.kt
@@ -337,4 +337,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/Utils.kt b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/Utils.kt
index c31f08a..3ba47d7 100644
--- a/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/Utils.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidAndroidTest/kotlin/androidx/constraintlayout/compose/Utils.kt
@@ -25,4 +25,4 @@
  *
  * This allows using syntax such as: `rule.onNodeWithTag(id)...`
  */
-internal fun Modifier.layoutTestId(id: Any): Modifier = testTag(id.toString()).layoutId(id)
\ No newline at end of file
+internal fun Modifier.layoutTestId(id: Any): Modifier = testTag(id.toString()).layoutId(id)
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ChainConstrainScope.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ChainConstrainScope.kt
index 1a85685..0e3471a 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ChainConstrainScope.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ChainConstrainScope.kt
@@ -84,4 +84,4 @@
 private class ChainHorizontalAnchorable constructor(
     containerObject: CLObject,
     index: Int
-) : BaseHorizontalAnchorable(containerObject, index)
\ No newline at end of file
+) : BaseHorizontalAnchorable(containerObject, index)
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstrainScope.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstrainScope.kt
index 10dd2ab..198785a 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstrainScope.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstrainScope.kt
@@ -539,4 +539,4 @@
         }
         containerObject.put("baseline", constraintArray)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayout.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayout.kt
index 2186658..6d9fd43 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayout.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayout.kt
@@ -2186,4 +2186,4 @@
 enum class LayoutInfoFlags {
     NONE,
     BOUNDS
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutBaseScope.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutBaseScope.kt
index 4a182c6..392cf7e 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutBaseScope.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutBaseScope.kt
@@ -1978,4 +1978,4 @@
 value class Span(val description: String) {
     constructor(position: Int, rows: Int, columns: Int) : this("$position:${rows}x$columns")
     constructor(position: Int, size: Int) : this("$position:$size")
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTag.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTag.kt
index 13ec011..a995722 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTag.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintLayoutTag.kt
@@ -83,4 +83,4 @@
     get() = (parentData as? ConstraintLayoutTagParentData)?.constraintLayoutTag
 
 val Measurable.constraintLayoutId: Any?
-    get() = (parentData as? ConstraintLayoutTagParentData)?.constraintLayoutId
\ No newline at end of file
+    get() = (parentData as? ConstraintLayoutTagParentData)?.constraintLayoutId
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintScopeCommon.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintScopeCommon.kt
index 11c8a8e..21fb99c 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintScopeCommon.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintScopeCommon.kt
@@ -172,4 +172,4 @@
                 "start"
             }
         }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintSet.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintSet.kt
index 9ee3ef6..77d4deb 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintSet.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ConstraintSet.kt
@@ -297,4 +297,4 @@
      * Inheritors should implement this function so that derived constraints are applied properly.
      */
     fun applyToState(state: State)
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/DslConstraintSet.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/DslConstraintSet.kt
index 0d1c30b..9ac6466 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/DslConstraintSet.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/DslConstraintSet.kt
@@ -52,4 +52,4 @@
     override fun hashCode(): Int {
         return scope.hashCode()
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/JSONConstraintSet.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/JSONConstraintSet.kt
index 245c8d1..6ae09a9 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/JSONConstraintSet.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/JSONConstraintSet.kt
@@ -121,4 +121,4 @@
     override fun onNewProgress(progress: Float) {
         // Nothing for ConstraintSet
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionDragHandler.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionDragHandler.kt
index 40561ea..9c1e693 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionDragHandler.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionDragHandler.kt
@@ -136,4 +136,4 @@
                 velocity = velocity
             )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionLayout.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionLayout.kt
index d1aff18..27b5fc9 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionLayout.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionLayout.kt
@@ -1177,4 +1177,4 @@
     fun isShowingLayoutBounds(view: View): Boolean {
         return view.isShowingLayoutBounds
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionMeasurer.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionMeasurer.kt
index c2915a5..a8a1f1c 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionMeasurer.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionMeasurer.kt
@@ -541,4 +541,4 @@
         this.transition.interpolate(0, 0, progress)
         transition.applyAllTo(this.transition)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionRenderDebug.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionRenderDebug.kt
index 1477c32..07bb926 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionRenderDebug.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionRenderDebug.kt
@@ -457,4 +457,4 @@
         const val MAX_KEY_FRAMES = 50
         private const val DEBUG_PATH_TICKS_PER_MS = 16
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionScene.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionScene.kt
index fc93309..08a80f2 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionScene.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionScene.kt
@@ -127,4 +127,4 @@
         signalUpdate()
     }
     // endregion
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt
index 6d404b8..9a02187 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/MotionSceneScope.kt
@@ -432,4 +432,4 @@
 
 data class ConstraintSetRef internal constructor(
     internal val name: String
-)
\ No newline at end of file
+)
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ToolingUtils.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ToolingUtils.kt
index 58d7e93..0cd828b 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ToolingUtils.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/ToolingUtils.kt
@@ -193,4 +193,4 @@
         viewWithBoundsAndConstraints.put("constraints", constraintsInfoArray)
     }
     put(viewId, viewWithBoundsAndConstraints)
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/Transition.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/Transition.kt
index 4730d2a..9845121 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/Transition.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/Transition.kt
@@ -108,4 +108,4 @@
     internal companion object {
         internal val EMPTY = TransitionImpl(CLObject(charArrayOf()))
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/TransitionHandler.kt b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/TransitionHandler.kt
index 32a2cab..ac4a473 100644
--- a/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/TransitionHandler.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidMain/kotlin/androidx/constraintlayout/compose/TransitionHandler.kt
@@ -74,4 +74,4 @@
     fun pendingProgressWhileTouchUp(): Boolean {
         return transition.isTouchNotDone(motionProgress.currentProgress)
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetStabilityTest.kt b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetStabilityTest.kt
index f843699..cc8aae3 100644
--- a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetStabilityTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/ConstraintSetStabilityTest.kt
@@ -208,4 +208,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/DebugFlagsTest.kt b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/DebugFlagsTest.kt
index 76d06f2..d119546 100644
--- a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/DebugFlagsTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/DebugFlagsTest.kt
@@ -117,4 +117,4 @@
             DebugFlags(showBounds = false, showPaths = false, showKeyPositions = true).toString()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/MotionSceneStabilityTest.kt b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/MotionSceneStabilityTest.kt
index b6795e7..09d9b83 100644
--- a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/MotionSceneStabilityTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/MotionSceneStabilityTest.kt
@@ -158,4 +158,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/TransitionStabilityTest.kt b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/TransitionStabilityTest.kt
index be92e41..f7858f1 100644
--- a/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/TransitionStabilityTest.kt
+++ b/constraintlayout/constraintlayout-compose/src/androidTest/kotlin/androidx/constraintlayout/compose/TransitionStabilityTest.kt
@@ -110,4 +110,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-graphics-integration-tests/testapp/src/main/java/androidx/core/graphics/sample/GraphicsSampleActivity.kt b/core/core-graphics-integration-tests/testapp/src/main/java/androidx/core/graphics/sample/GraphicsSampleActivity.kt
index 26547b8..0c191e8 100644
--- a/core/core-graphics-integration-tests/testapp/src/main/java/androidx/core/graphics/sample/GraphicsSampleActivity.kt
+++ b/core/core-graphics-integration-tests/testapp/src/main/java/androidx/core/graphics/sample/GraphicsSampleActivity.kt
@@ -44,4 +44,4 @@
         drawable2.setFilterBitmap(false)
         bottomview.setImageDrawable(drawable2)
     }
-}
\ No newline at end of file
+}
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 a65431d..4a94a15 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
@@ -72,4 +72,4 @@
     private fun stripVersionTrailing(str: String): String {
         return str.replace(Regex("[0-9.]+$"), "")
     }
-}
\ No newline at end of file
+}
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 dae2fa6..cdf185f 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
@@ -114,4 +114,4 @@
         val formatter = DateTimeFormatter(appContext, options, Locale.US)
         assertEquals("Sun, Sep 19", formatter.format(testCalendar))
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterCommonOptionsTest.kt b/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterCommonOptionsTest.kt
index 6860ebe..efd44dc 100644
--- a/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterCommonOptionsTest.kt
+++ b/core/core-i18n/src/androidTest/java/androidx/core/i18n/DateTimeFormatterCommonOptionsTest.kt
@@ -158,4 +158,4 @@
             assertEquals(entry.value, entry.key.toString())
         }
     }
-}
\ No newline at end of file
+}
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 94ff57d..fde962c 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
@@ -501,4 +501,4 @@
             SkeletonOptions.fromString("fiInNopPRtT")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-i18n/src/androidTest/java/androidx/core/i18n/Helper.kt b/core/core-i18n/src/androidTest/java/androidx/core/i18n/Helper.kt
index cea0afd5..e3e4bad 100644
--- a/core/core-i18n/src/androidTest/java/androidx/core/i18n/Helper.kt
+++ b/core/core-i18n/src/androidTest/java/androidx/core/i18n/Helper.kt
@@ -34,4 +34,4 @@
     fun normalizeNnbsp(text: String): String {
         return text.replace("\u202F", " ")
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatter.kt b/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatter.kt
index de90629..03c10b9 100644
--- a/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatter.kt
+++ b/core/core-i18n/src/main/java/androidx/core/i18n/DateTimeFormatter.kt
@@ -175,4 +175,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-i18n/src/main/java/androidx/core/i18n/LocaleCompatUtils.kt b/core/core-i18n/src/main/java/androidx/core/i18n/LocaleCompatUtils.kt
index a576d18..31685be 100644
--- a/core/core-i18n/src/main/java/androidx/core/i18n/LocaleCompatUtils.kt
+++ b/core/core-i18n/src/main/java/androidx/core/i18n/LocaleCompatUtils.kt
@@ -25,4 +25,4 @@
  */
 internal object LocaleCompatUtils {
     fun getDefaultFormattingLocale(): Locale = Locale.getDefault()
-}
\ No newline at end of file
+}
diff --git a/core/core-i18n/src/main/java/androidx/core/i18n/MessageFormat.kt b/core/core-i18n/src/main/java/androidx/core/i18n/MessageFormat.kt
index 28b1569..74e5071 100644
--- a/core/core-i18n/src/main/java/androidx/core/i18n/MessageFormat.kt
+++ b/core/core-i18n/src/main/java/androidx/core/i18n/MessageFormat.kt
@@ -62,4 +62,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-i18n/src/main/java/androidx/core/i18n/messageformat_icu/simple/DateTimeFormatterAsFormat.kt b/core/core-i18n/src/main/java/androidx/core/i18n/messageformat_icu/simple/DateTimeFormatterAsFormat.kt
index 55e7d9a..312b9e8 100644
--- a/core/core-i18n/src/main/java/androidx/core/i18n/messageformat_icu/simple/DateTimeFormatterAsFormat.kt
+++ b/core/core-i18n/src/main/java/androidx/core/i18n/messageformat_icu/simple/DateTimeFormatterAsFormat.kt
@@ -48,4 +48,4 @@
         java.text.SimpleDateFormat.getDateInstance(DateFormat.LONG).parseObject("")
         throw ParseException("Parsing not implemented", 0)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-ktx/src/main/java/androidx/core/animation/Animator.kt b/core/core-ktx/src/main/java/androidx/core/animation/Animator.kt
index b40dda8..fe3450c 100644
--- a/core/core-ktx/src/main/java/androidx/core/animation/Animator.kt
+++ b/core/core-ktx/src/main/java/androidx/core/animation/Animator.kt
@@ -133,4 +133,4 @@
     fun addPauseListener(animator: Animator, listener: Animator.AnimatorPauseListener) {
         animator.addPauseListener(listener)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-ktx/src/main/java/androidx/core/graphics/Paint.kt b/core/core-ktx/src/main/java/androidx/core/graphics/Paint.kt
index 441cb8b..1aee940 100644
--- a/core/core-ktx/src/main/java/androidx/core/graphics/Paint.kt
+++ b/core/core-ktx/src/main/java/androidx/core/graphics/Paint.kt
@@ -27,4 +27,4 @@
  */
 public inline fun Paint.setBlendMode(blendModeCompat: BlendModeCompat?): Boolean {
     return PaintCompat.setBlendMode(this, blendModeCompat)
-}
\ No newline at end of file
+}
diff --git a/core/core-performance-play-services/src/main/java/androidx/core/performance/play/services/PlayServicesDevicePerformanceSupplier.kt b/core/core-performance-play-services/src/main/java/androidx/core/performance/play/services/PlayServicesDevicePerformanceSupplier.kt
index 921caf5..a7a2792 100644
--- a/core/core-performance-play-services/src/main/java/androidx/core/performance/play/services/PlayServicesDevicePerformanceSupplier.kt
+++ b/core/core-performance-play-services/src/main/java/androidx/core/performance/play/services/PlayServicesDevicePerformanceSupplier.kt
@@ -43,4 +43,4 @@
         emit(0)
         // TODO(281079628): implement
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-performance-testing/src/main/java/androidx/core/performance/testing/FakeDevicePerformanceSupplier.kt b/core/core-performance-testing/src/main/java/androidx/core/performance/testing/FakeDevicePerformanceSupplier.kt
index 80ac20b..3a02368 100644
--- a/core/core-performance-testing/src/main/java/androidx/core/performance/testing/FakeDevicePerformanceSupplier.kt
+++ b/core/core-performance-testing/src/main/java/androidx/core/performance/testing/FakeDevicePerformanceSupplier.kt
@@ -31,4 +31,4 @@
     override val mediaPerformanceClassFlow: Flow<Int> = flow {
         emit(mediaPerformanceClass)
     }
-}
\ No newline at end of file
+}
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 053b013..082ea8b 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
@@ -191,4 +191,4 @@
     }
 
     private infix fun Number.x(other: Number) = SizeFCompat(this.toFloat(), other.toFloat())
-}
\ No newline at end of file
+}
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 c5f9f09..84a9146 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
@@ -439,4 +439,4 @@
             return mIntent ?: fail("Expected intent to be received within five seconds")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-remoteviews/src/androidTest/java/androidx/core/widget/TestAppWidgetProvider.kt b/core/core-remoteviews/src/androidTest/java/androidx/core/widget/TestAppWidgetProvider.kt
index 551595e..2d59c68c 100644
--- a/core/core-remoteviews/src/androidTest/java/androidx/core/widget/TestAppWidgetProvider.kt
+++ b/core/core-remoteviews/src/androidTest/java/androidx/core/widget/TestAppWidgetProvider.kt
@@ -18,4 +18,4 @@
 
 import android.appwidget.AppWidgetProvider
 
-public class TestAppWidgetProvider : AppWidgetProvider()
\ No newline at end of file
+public class TestAppWidgetProvider : AppWidgetProvider()
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 dd00746..c190fbb 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
@@ -280,4 +280,4 @@
         configuration.apply(modifier)
         return context.createConfigurationContext(configuration)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-splashscreen/samples/src/main/java/androidx/core/splashscreen/sample/SplashScreenSampleActivity.kt b/core/core-splashscreen/samples/src/main/java/androidx/core/splashscreen/sample/SplashScreenSampleActivity.kt
index 5abcc47..2ad3db5 100644
--- a/core/core-splashscreen/samples/src/main/java/androidx/core/splashscreen/sample/SplashScreenSampleActivity.kt
+++ b/core/core-splashscreen/samples/src/main/java/androidx/core/splashscreen/sample/SplashScreenSampleActivity.kt
@@ -170,4 +170,4 @@
         const val SPLASHSCREEN_TY_ANIMATION_DURATION = 500
         const val WAIT_FOR_AVD_TO_FINISH = false
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTests.kt b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTests.kt
index fb9f042..d3518db9 100644
--- a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTests.kt
+++ b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/SplashScreenTests.kt
@@ -53,4 +53,4 @@
             }
         Truth.assertThat(splashScreen.splashScreenIconViewBackground).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/TestView.kt b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/TestView.kt
index 9170829..5e915f7 100644
--- a/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/TestView.kt
+++ b/core/core-splashscreen/src/androidTest/java/androidx/core/splashscreen/test/TestView.kt
@@ -32,4 +32,4 @@
         super.onDraw(canvas)
         doOnDraw()
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-splashscreen/src/main/java/androidx/core/splashscreen/SplashScreenViewProvider.kt b/core/core-splashscreen/src/main/java/androidx/core/splashscreen/SplashScreenViewProvider.kt
index 3fc305c..7820518 100644
--- a/core/core-splashscreen/src/main/java/androidx/core/splashscreen/SplashScreenViewProvider.kt
+++ b/core/core-splashscreen/src/main/java/androidx/core/splashscreen/SplashScreenViewProvider.kt
@@ -139,4 +139,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-splashscreen/src/main/java/androidx/core/splashscreen/ThemeUtils.kt b/core/core-splashscreen/src/main/java/androidx/core/splashscreen/ThemeUtils.kt
index 66d08c6..653e9a6 100644
--- a/core/core-splashscreen/src/main/java/androidx/core/splashscreen/ThemeUtils.kt
+++ b/core/core-splashscreen/src/main/java/androidx/core/splashscreen/ThemeUtils.kt
@@ -63,4 +63,4 @@
             decor.windowInsetsController!!.setSystemBarsAppearance(appearance, mask)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/CallListAdapter.kt b/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/CallListAdapter.kt
index 7c33fc8..a7598c2 100644
--- a/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/CallListAdapter.kt
+++ b/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/CallListAdapter.kt
@@ -162,4 +162,4 @@
             holder?.currentEndpoint?.text = "currentEndpoint=[$endpoint]"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/Utilities.kt b/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/Utilities.kt
index 13c0b67..b1fd714 100644
--- a/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/Utilities.kt
+++ b/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/Utilities.kt
@@ -51,4 +51,4 @@
                 CALL_TYPE_VIDEO_CALL,
                 ALL_CALL_CAPABILITIES)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/VoipCall.kt b/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/VoipCall.kt
index d2decbb..c984ad9c 100644
--- a/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/VoipCall.kt
+++ b/core/core-telecom/integration-tests/testapp/src/main/java/androidx/core/telecom/test/VoipCall.kt
@@ -92,4 +92,4 @@
         }
         return null
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlCallbacksTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlCallbacksTest.kt
index 808b668..0fcc48c 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlCallbacksTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlCallbacksTest.kt
@@ -506,4 +506,4 @@
         // Assert that the correct callback was invoked
         assertTrue(TestUtils.mOnDisconnectCallbackCalled)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlsTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlsTest.kt
index af294a3..b9ddb69 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlsTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/BasicCallControlsTest.kt
@@ -437,4 +437,4 @@
         }
         return null
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallEndpointCompatTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallEndpointCompatTest.kt
index 1711968..4a555eb 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallEndpointCompatTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallEndpointCompatTest.kt
@@ -113,4 +113,4 @@
             EndpointUtils.mapTypeToRoute(-1)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallsManagerTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallsManagerTest.kt
index 453d374..9b0dfb9 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallsManagerTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/CallsManagerTest.kt
@@ -104,4 +104,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/InCallAudioTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/InCallAudioTest.kt
index d892bc4..44db0ce 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/InCallAudioTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/InCallAudioTest.kt
@@ -128,4 +128,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/JetpackConnectionServiceTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/JetpackConnectionServiceTest.kt
index a85adca..086bf3f 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/JetpackConnectionServiceTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/JetpackConnectionServiceTest.kt
@@ -129,4 +129,4 @@
         // create a ConnectionRequest
         return ConnectionRequest(mPackagePhoneAccountHandle, TEST_PHONE_NUMBER_9001, null)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/BaseTelecomTest.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/BaseTelecomTest.kt
index eb9a8a1..7c7dcd3 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/BaseTelecomTest.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/BaseTelecomTest.kt
@@ -161,4 +161,4 @@
             Assert.fail(TestUtils.VERIFICATION_TIMEOUT_MSG)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockDialerActivity.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockDialerActivity.kt
index 93fb341..5488aa2 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockDialerActivity.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockDialerActivity.kt
@@ -28,4 +28,4 @@
         WindowCompat.setDecorFitsSystemWindows(window, false)
         super.onCreate(savedInstanceState)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockInCallService.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockInCallService.kt
index d620ca7..ca22f94 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockInCallService.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/MockInCallService.kt
@@ -96,4 +96,4 @@
         super.onCallRemoved(call)
         mCalls.remove(call)
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/TestUtils.kt b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/TestUtils.kt
index c33d8ee..bac414f 100644
--- a/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/TestUtils.kt
+++ b/core/core-telecom/src/androidTest/java/androidx/core/telecom/utils/TestUtils.kt
@@ -282,4 +282,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/CallAttributesCompat.kt b/core/core-telecom/src/main/java/androidx/core/telecom/CallAttributesCompat.kt
index e3d3610..3d6abdc 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/CallAttributesCompat.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/CallAttributesCompat.kt
@@ -189,4 +189,4 @@
     internal fun isOutgoingCall(): Boolean {
         return direction == DIRECTION_OUTGOING
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/CallControlCallback.kt b/core/core-telecom/src/main/java/androidx/core/telecom/CallControlCallback.kt
index 8651577..b39bb5c 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/CallControlCallback.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/CallControlCallback.kt
@@ -82,4 +82,4 @@
      * disconnect and untrack the call.
      */
     suspend fun onDisconnect(disconnectCause: android.telecom.DisconnectCause): Boolean
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/CallControlScope.kt b/core/core-telecom/src/main/java/androidx/core/telecom/CallControlScope.kt
index 5977ca0..3ab71f1 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/CallControlScope.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/CallControlScope.kt
@@ -139,4 +139,4 @@
      * changes.
      */
     val isMuted: Flow<Boolean>
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/CallEndpointCompat.kt b/core/core-telecom/src/main/java/androidx/core/telecom/CallEndpointCompat.kt
index 13ee6cd..b70eb93 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/CallEndpointCompat.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/CallEndpointCompat.kt
@@ -99,4 +99,4 @@
     ) {
         mMackAddress = address
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/CallException.kt b/core/core-telecom/src/main/java/androidx/core/telecom/CallException.kt
index 8677df2..c5964d1 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/CallException.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/CallException.kt
@@ -65,4 +65,4 @@
             return "An Unknown Error has occurred while using the Core-Telecom APIs"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/CallsManager.kt b/core/core-telecom/src/main/java/androidx/core/telecom/CallsManager.kt
index cae5305..fa5b8609 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/CallsManager.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/CallsManager.kt
@@ -303,4 +303,4 @@
     internal fun getBuiltPhoneAccount(): PhoneAccount? {
         return mPhoneAccount
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/internal/CallChannels.kt b/core/core-telecom/src/main/java/androidx/core/telecom/internal/CallChannels.kt
index 8989ca4..0426191 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/internal/CallChannels.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/internal/CallChannels.kt
@@ -29,4 +29,4 @@
         availableEndpointChannel.close()
         isMutedChannel.close()
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/BuildVersionAdapter.kt b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/BuildVersionAdapter.kt
index 9c40d14..563032d 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/BuildVersionAdapter.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/BuildVersionAdapter.kt
@@ -19,4 +19,4 @@
 internal interface BuildVersionAdapter {
     fun hasPlatformV2Apis(): Boolean
     fun hasInvalidBuildVersion(): Boolean
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/CallAttributesUtils.kt b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/CallAttributesUtils.kt
index 5148edd..5a1f8be 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/CallAttributesUtils.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/CallAttributesUtils.kt
@@ -80,4 +80,4 @@
             return Utils.hasCapability(CallAttributesCompat.SUPPORTS_TRANSFER, callCapabilities)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/EndpointUtils.kt b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/EndpointUtils.kt
index 7075dc5..d7c5be7 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/EndpointUtils.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/EndpointUtils.kt
@@ -214,4 +214,4 @@
             return getCallEndpointFromBluetoothDevice(state.activeBluetoothDevice)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/Utils.kt b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/Utils.kt
index 4ab0ec2..fa4b4ba 100644
--- a/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/Utils.kt
+++ b/core/core-telecom/src/main/java/androidx/core/telecom/internal/utils/Utils.kt
@@ -141,4 +141,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-testing/src/main/java/androidx/core/testing/util/TestConsumer.kt b/core/core-testing/src/main/java/androidx/core/testing/util/TestConsumer.kt
index 14623df..47eaeb3 100644
--- a/core/core-testing/src/main/java/androidx/core/testing/util/TestConsumer.kt
+++ b/core/core-testing/src/main/java/androidx/core/testing/util/TestConsumer.kt
@@ -56,4 +56,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/core-testing/src/test/java/androidx/core/testing/util/TestConsumerTest.kt b/core/core-testing/src/test/java/androidx/core/testing/util/TestConsumerTest.kt
index 48e0f9d..9aab53f 100644
--- a/core/core-testing/src/test/java/androidx/core/testing/util/TestConsumerTest.kt
+++ b/core/core-testing/src/test/java/androidx/core/testing/util/TestConsumerTest.kt
@@ -48,4 +48,4 @@
 
         testConsumer.assertValues(values.reversed())
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClient.kt b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClient.kt
index 522e730..7844a1d 100644
--- a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClient.kt
+++ b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClient.kt
@@ -101,4 +101,4 @@
     fun disconnectPeer(device: UwbDevice) {
         callback.onRangingSuspended(device, 0)
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClientSessionScope.kt b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClientSessionScope.kt
index 76eeebb..c93aa63 100644
--- a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClientSessionScope.kt
+++ b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbClientSessionScope.kt
@@ -115,4 +115,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControleeSessionScope.kt b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControleeSessionScope.kt
index 1e23410..785a677 100644
--- a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControleeSessionScope.kt
+++ b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControleeSessionScope.kt
@@ -33,4 +33,4 @@
     override fun prepareSession(parameters: RangingParameters): Flow<RangingResult> {
         return uwbClientSessionScope.prepareSession(parameters)
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControllerSessionScope.kt b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControllerSessionScope.kt
index 0991c67..66b78f9 100644
--- a/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControllerSessionScope.kt
+++ b/core/uwb/uwb-rxjava3/src/androidTest/java/androidx/core/uwb/rxjava3/mock/TestUwbControllerSessionScope.kt
@@ -45,4 +45,4 @@
     override fun prepareSession(parameters: RangingParameters): Flow<RangingResult> {
         return uwbClientSessionScope.prepareSession(parameters)
     }
-}
\ No newline at end of file
+}
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 112a643..10b4942 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
@@ -83,4 +83,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbClientSessionScopeRx.kt b/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbClientSessionScopeRx.kt
index 85c2cae..75f7049 100644
--- a/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbClientSessionScopeRx.kt
+++ b/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbClientSessionScopeRx.kt
@@ -43,4 +43,4 @@
 public fun UwbClientSessionScope.rangingResultsFlowable(parameters: RangingParameters):
     Flowable<RangingResult> {
     return prepareSession(parameters).conflate().asFlowable()
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbControllerSessionScopeRx.kt b/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbControllerSessionScopeRx.kt
index 81d24e6..0b9885d 100644
--- a/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbControllerSessionScopeRx.kt
+++ b/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbControllerSessionScopeRx.kt
@@ -37,4 +37,4 @@
  */
 fun UwbControllerSessionScope.removeControleeSingle(address: UwbAddress): Single<Unit> {
     return rxSingle { removeControlee(address) }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbManagerRx.kt b/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbManagerRx.kt
index 1a15496..6e74489 100644
--- a/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbManagerRx.kt
+++ b/core/uwb/uwb-rxjava3/src/main/java/androidx/core/uwb/rxjava3/UwbManagerRx.kt
@@ -49,4 +49,4 @@
  */
 fun UwbManager.controllerSessionScopeSingle(): Single<UwbControllerSessionScope> {
     return rxSingle { controllerSessionScope() }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/common/TestCommons.kt b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/common/TestCommons.kt
index 7175825..b0e67db 100644
--- a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/common/TestCommons.kt
+++ b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/common/TestCommons.kt
@@ -45,4 +45,4 @@
             RangingParameters.RANGING_UPDATE_RATE_AUTOMATIC
         )
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbClientSessionScopeImplTest.kt b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbClientSessionScopeImplTest.kt
index 91093c4..e4a24e2 100644
--- a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbClientSessionScopeImplTest.kt
+++ b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbClientSessionScopeImplTest.kt
@@ -287,4 +287,4 @@
         }
         job2.cancel()
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbControllerSessionScopeImplTest.kt b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbControllerSessionScopeImplTest.kt
index b68d546..5ccc536 100644
--- a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbControllerSessionScopeImplTest.kt
+++ b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/impl/UwbControllerSessionScopeImplTest.kt
@@ -165,4 +165,4 @@
             job.join()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/mock/TestUwbClient.kt b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/mock/TestUwbClient.kt
index db0ff5b..9ac95b5 100644
--- a/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/mock/TestUwbClient.kt
+++ b/core/uwb/uwb/src/androidTest/java/androidx/core/uwb/mock/TestUwbClient.kt
@@ -122,4 +122,4 @@
     fun disconnectPeer(device: UwbDevice) {
         callback.onRangingSuspended(device, 0)
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/RangingResult.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/RangingResult.kt
index 7cdc6a0..ddac64c 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/RangingResult.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/RangingResult.kt
@@ -34,4 +34,4 @@
 
     /** A ranging result with peer disconnected status update. */
     class RangingResultPeerDisconnected(override val device: UwbDevice) : RangingResult()
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbClientSessionScope.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbClientSessionScope.kt
index 1bbac28..56d22a0 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbClientSessionScope.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbClientSessionScope.kt
@@ -56,4 +56,4 @@
      * before starting again.
      */
     val localAddress: UwbAddress
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbComplexChannel.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbComplexChannel.kt
index 4167e093..f072814 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbComplexChannel.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbComplexChannel.kt
@@ -28,4 +28,4 @@
     override fun toString(): String {
         return "UwbComplexChannel(channel=$channel, preambleIndex=$preambleIndex)"
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControleeSessionScope.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControleeSessionScope.kt
index 5e02a8e..c94b83e 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControleeSessionScope.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControleeSessionScope.kt
@@ -17,4 +17,4 @@
 package androidx.core.uwb
 
 /** Interface for controlee client session that is established between nearby UWB devices. */
-interface UwbControleeSessionScope : UwbClientSessionScope
\ No newline at end of file
+interface UwbControleeSessionScope : UwbClientSessionScope
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControllerSessionScope.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControllerSessionScope.kt
index cb5d7fb..3048757 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControllerSessionScope.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbControllerSessionScope.kt
@@ -56,4 +56,4 @@
      * [RangingResult.RangingResultPeerDisconnected] to listen for disconnects.
      */
     suspend fun removeControlee(address: UwbAddress)
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbManager.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbManager.kt
index 8a0305e..6657216 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbManager.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/UwbManager.kt
@@ -58,4 +58,4 @@
      * @throws [androidx.core.uwb.exceptions.UwbHardwareNotAvailableException] if the hardware is not available on the device.
      */
     suspend fun controllerSessionScope(): UwbControllerSessionScope
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbHardwareNotAvailableException.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbHardwareNotAvailableException.kt
index 72ad22d..9e710bea 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbHardwareNotAvailableException.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbHardwareNotAvailableException.kt
@@ -17,4 +17,4 @@
 package androidx.core.uwb.exceptions
 
 /** The uwb hardware is not available on the device. */
-class UwbHardwareNotAvailableException(message: String) : UwbApiException(message)
\ No newline at end of file
+class UwbHardwareNotAvailableException(message: String) : UwbApiException(message)
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbServiceNotAvailableException.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbServiceNotAvailableException.kt
index ad1db5b..3c5452c 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbServiceNotAvailableException.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbServiceNotAvailableException.kt
@@ -17,4 +17,4 @@
 package androidx.core.uwb.exceptions
 
 /** The service was not available on the device. */
-class UwbServiceNotAvailableException(message: String) : UwbApiException(message)
\ No newline at end of file
+class UwbServiceNotAvailableException(message: String) : UwbApiException(message)
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbSystemCallbackException.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbSystemCallbackException.kt
index 32546ff..ea5c7c1 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbSystemCallbackException.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/exceptions/UwbSystemCallbackException.kt
@@ -20,4 +20,4 @@
  * Unusual failures happened in UWB system callback, such as stopping
  * ranging or removing a known controlee failed.
  */
-class UwbSystemCallbackException(message: String) : UwbApiException(message)
\ No newline at end of file
+class UwbSystemCallbackException(message: String) : UwbApiException(message)
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeAospImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeAospImpl.kt
index 201b5d8..2f05484 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeAospImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbClientSessionScopeAospImpl.kt
@@ -157,4 +157,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 2423cec..5b11a8e 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
@@ -155,4 +155,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeAospImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeAospImpl.kt
index e39bed3..a4d9a7a 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeAospImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeAospImpl.kt
@@ -35,4 +35,4 @@
     override fun prepareSession(parameters: RangingParameters): Flow<RangingResult> {
         return uwbClientSessionScope.prepareSession(parameters)
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeImpl.kt
index 5fbabd0..5cb9eeb 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControleeSessionScopeImpl.kt
@@ -35,4 +35,4 @@
     override fun prepareSession(parameters: RangingParameters): Flow<RangingResult> {
         return uwbClientSessionScope.prepareSession(parameters)
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeAospImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeAospImpl.kt
index 0630d41..bb03130 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeAospImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeAospImpl.kt
@@ -56,4 +56,4 @@
     override fun prepareSession(parameters: RangingParameters): Flow<RangingResult> {
         return uwbClientSessionScope.prepareSession(parameters)
     }
-}
\ No newline at end of file
+}
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeImpl.kt
index 65c3fc5..e51b361b2 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbControllerSessionScopeImpl.kt
@@ -69,4 +69,4 @@
     override fun prepareSession(parameters: RangingParameters): Flow<RangingResult> {
         return uwbClientSessionScope.prepareSession(parameters)
     }
-}
\ No newline at end of file
+}
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 7af9774..5aaae18 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
@@ -159,4 +159,4 @@
             throw e
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/CredentialProviderPlayServicesImplTest.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/CredentialProviderPlayServicesImplTest.kt
index 63226ec..f89eafd 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/CredentialProviderPlayServicesImplTest.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/CredentialProviderPlayServicesImplTest.kt
@@ -83,4 +83,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestCredentialsActivity.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestCredentialsActivity.kt
index d57a9b6..37dd2c4 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestCredentialsActivity.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestCredentialsActivity.kt
@@ -22,4 +22,4 @@
  * This is a test activity used by the Robolectric Activity Scenario tests. It acts
  * as a calling activity in our test cases.
  */
-class TestCredentialsActivity : ComponentActivity()
\ No newline at end of file
+class TestCredentialsActivity : ComponentActivity()
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestUtils.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestUtils.kt
index 63dd65a..1bf209d 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestUtils.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/TestUtils.kt
@@ -152,4 +152,4 @@
             ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED, ConnectionResult.SIGN_IN_FAILED,
             ConnectionResult.SIGN_IN_REQUIRED, ConnectionResult.TIMEOUT)
     }
-}
\ No newline at end of file
+}
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 dc5ea88..5e05605 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
@@ -143,4 +143,4 @@
             assertThat(firstInstance).isEqualTo(secondInstance)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpassword/CredentialProviderCreatePasswordControllerTest.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpassword/CredentialProviderCreatePasswordControllerTest.kt
index 5afb279..cc2e365 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpassword/CredentialProviderCreatePasswordControllerTest.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpassword/CredentialProviderCreatePasswordControllerTest.kt
@@ -99,4 +99,4 @@
             assertThat(firstInstance).isEqualTo(secondInstance)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CreatePublicKeyCredentialControllerTestUtils.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CreatePublicKeyCredentialControllerTestUtils.kt
index 027a3ad..b4286c2 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CreatePublicKeyCredentialControllerTestUtils.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CreatePublicKeyCredentialControllerTestUtils.kt
@@ -327,4 +327,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CredentialProviderCreatePublicKeyCredentialControllerTest.kt b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CredentialProviderCreatePublicKeyCredentialControllerTest.kt
index e06486a..34ca8a8 100644
--- a/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CredentialProviderCreatePublicKeyCredentialControllerTest.kt
+++ b/credentials/credentials-play-services-auth/src/androidTest/java/androidx/credentials/playservices/createpublickeycredential/CredentialProviderCreatePublicKeyCredentialControllerTest.kt
@@ -195,4 +195,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderMetadataHolder.kt b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderMetadataHolder.kt
index 4847ac0..6069c27 100644
--- a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderMetadataHolder.kt
+++ b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/CredentialProviderMetadataHolder.kt
@@ -30,4 +30,4 @@
     override fun onBind(p0: Intent?): IBinder? {
         TODO("Not yet implemented")
     }
-}
\ No newline at end of file
+}
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 8e5e883..f65e129 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
@@ -163,4 +163,4 @@
             return false
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CreatePublicKeyCredential/CredentialProviderCreatePublicKeyCredentialController.kt b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CreatePublicKeyCredential/CredentialProviderCreatePublicKeyCredentialController.kt
index 2f51fff..a3d614a 100644
--- a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CreatePublicKeyCredential/CredentialProviderCreatePublicKeyCredentialController.kt
+++ b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CreatePublicKeyCredential/CredentialProviderCreatePublicKeyCredentialController.kt
@@ -236,4 +236,4 @@
             return controller!!
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderBaseController.kt b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderBaseController.kt
index 4667e2f..3040f9d 100644
--- a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderBaseController.kt
+++ b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderBaseController.kt
@@ -154,4 +154,4 @@
             toIpcFriendlyResultReceiver(resultReceiver))
         hiddenIntent.flags = Intent.FLAG_ACTIVITY_NO_ANIMATION
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderController.kt b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderController.kt
index 30a857d..be39533 100644
--- a/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderController.kt
+++ b/credentials/credentials-play-services-auth/src/main/java/androidx/credentials/playservices/controllers/CredentialProviderController.kt
@@ -194,4 +194,4 @@
      * @return a credential provider response
      */
     protected abstract fun convertResponseToCredentialManager(response: R2): R1
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCredentialRequestDisplayInfoTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCredentialRequestDisplayInfoTest.kt
index a495264..252bea5 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCredentialRequestDisplayInfoTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCredentialRequestDisplayInfoTest.kt
@@ -126,4 +126,4 @@
         )
         assertThat(displayInfo.preferDefaultProvider).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialRequestTest.kt
index ccc00f3..413adf6 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialRequestTest.kt
@@ -156,4 +156,4 @@
             expectedPreferImmediatelyAvailableCredentials
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialResponseTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialResponseTest.kt
index 27e7abd..1f8da27 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialResponseTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreateCustomCredentialResponseTest.kt
@@ -53,4 +53,4 @@
         assertThat(option.type).isEqualTo(expectedType)
         assertThat(equals(option.data, expectedBundle)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordRequestTest.kt
index bb39755..f7405e2 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordRequestTest.kt
@@ -240,4 +240,4 @@
         assertThat(convertedRequest.candidateQueryData.getBoolean(customCandidateQueryDataKey))
             .isEqualTo(customCandidateQueryDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordResponseTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordResponseTest.kt
index 4af918c..6d1fadc 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordResponseTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePasswordResponseTest.kt
@@ -52,4 +52,4 @@
         assertThat(convertedResponse.data.getCharSequence(customDataKey))
             .isEqualTo(customDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialRequestTest.kt
index e785fc3..cd3f948 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialRequestTest.kt
@@ -257,4 +257,4 @@
         assertThat(convertedRequest.candidateQueryData.getBoolean(customCandidateQueryDataKey))
             .isEqualTo(customCandidateQueryDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialResponseTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialResponseTest.kt
index 9be5324..34a84b7 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialResponseTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CreatePublicKeyCredentialResponseTest.kt
@@ -100,4 +100,4 @@
         assertThat(convertedResponse.data.getCharSequence(customDataKey))
             .isEqualTo(customDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerPreUTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerPreUTest.kt
index 3dc1124a..8b89fd5 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerPreUTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerPreUTest.kt
@@ -168,4 +168,4 @@
                 .TYPE_CLEAR_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerTest.kt
index a09fb95..ec852ca 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CredentialManagerTest.kt
@@ -166,4 +166,4 @@
                 .TYPE_CLEAR_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/CustomCredentialTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/CustomCredentialTest.kt
index 5f61267..8dc2b7d 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/CustomCredentialTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/CustomCredentialTest.kt
@@ -52,4 +52,4 @@
         assertThat(option.type).isEqualTo(expectedType)
         assertThat(equals(option.data, expectedBundle)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/FederatedCredentialTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/FederatedCredentialTest.kt
index 080e629..f22d409 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/FederatedCredentialTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/FederatedCredentialTest.kt
@@ -30,4 +30,4 @@
         assertThat(FederatedCredential.TYPE_FEDERATED_CREDENTIAL)
             .isEqualTo("type.federated_credential")
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt
index ca3baf6..f0333e9 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/GetCredentialRequestTest.kt
@@ -251,4 +251,4 @@
             expectedPreferImmediatelyAvailableCredentials
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/GetCustomCredentialOptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/GetCustomCredentialOptionTest.kt
index 8a3c0828..706b9c0 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/GetCustomCredentialOptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/GetCustomCredentialOptionTest.kt
@@ -130,4 +130,4 @@
         assertThat(actualOption.allowedProviders)
             .containsAtLeastElementsIn(expectedAllowedProviders)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/GetPasswordOptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/GetPasswordOptionTest.kt
index 0f2d4f3..105406d 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/GetPasswordOptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/GetPasswordOptionTest.kt
@@ -131,4 +131,4 @@
         assertThat(convertedOption.candidateQueryData.getBoolean(customCandidateQueryDataKey))
             .isEqualTo(customCandidateQueryDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/GetPublicKeyCredentialOptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/GetPublicKeyCredentialOptionTest.kt
index 8775bd9..5c5e4e7 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/GetPublicKeyCredentialOptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/GetPublicKeyCredentialOptionTest.kt
@@ -132,4 +132,4 @@
         assertThat(convertedOption.candidateQueryData.getBoolean(customCandidateQueryDataKey))
             .isEqualTo(customCandidateQueryDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/PasswordCredentialTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/PasswordCredentialTest.kt
index e361e8f..faf9130 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/PasswordCredentialTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/PasswordCredentialTest.kt
@@ -95,4 +95,4 @@
         assertThat(convertedCredential.data.getCharSequence(customDataKey))
             .isEqualTo(customDataValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/PrepareGetCredentialResponseTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/PrepareGetCredentialResponseTest.kt
index b15e06d..a2065f8 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/PrepareGetCredentialResponseTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/PrepareGetCredentialResponseTest.kt
@@ -109,4 +109,4 @@
         assertThat(response.hasAuthenticationResults()).isFalse()
         assertThat(response.hasRemoteResults()).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/PublicKeyCredentialTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/PublicKeyCredentialTest.kt
index 08fb335..d972d82 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/PublicKeyCredentialTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/PublicKeyCredentialTest.kt
@@ -117,4 +117,4 @@
         val typeActual = PublicKeyCredential.TYPE_PUBLIC_KEY_CREDENTIAL
         assertThat(typeActual).isEqualTo(typeExpected)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/TestActivity.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/TestActivity.kt
index 07b5b9a..5cfd10b 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/TestActivity.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/TestActivity.kt
@@ -22,4 +22,4 @@
  * This is a test activity used by the Robolectric Activity Scenario tests. It acts
  * as a calling activity in our test cases.
  */
-class TestActivity : ComponentActivity()
\ No newline at end of file
+class TestActivity : ComponentActivity()
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/TestUtils.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/TestUtils.kt
index 200a073..0061b06 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/TestUtils.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/TestUtils.kt
@@ -83,4 +83,4 @@
 
 fun equals(a: CallingAppInfo, b: CallingAppInfo): Boolean {
     return a.packageName == b.packageName && a.origin == b.origin
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialInterruptedExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialInterruptedExceptionTest.kt
index b55f482..efbcbe5 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialInterruptedExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialInterruptedExceptionTest.kt
@@ -44,4 +44,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationExceptionTest.kt
index c2cf9bd..1885f4c 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationExceptionTest.kt
@@ -45,4 +45,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnknownExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnknownExceptionTest.kt
index 7b8ca2b..5254b7d 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnknownExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnknownExceptionTest.kt
@@ -43,4 +43,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnsupportedExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnsupportedExceptionTest.kt
index ca5684d..969552f 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnsupportedExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCredentialUnsupportedExceptionTest.kt
@@ -45,4 +45,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCustomCredentialExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCustomCredentialExceptionTest.kt
index 9c1ce33..08d0e28 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCustomCredentialExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/ClearCustomCredentialExceptionTest.kt
@@ -48,4 +48,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialCancellationExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialCancellationExceptionTest.kt
index 904340b..81fab82c 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialCancellationExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialCancellationExceptionTest.kt
@@ -44,4 +44,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialInterruptedExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialInterruptedExceptionTest.kt
index 6013df0..d6aa111 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialInterruptedExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialInterruptedExceptionTest.kt
@@ -44,4 +44,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationExceptionTest.kt
index e8e2c8c..acb08d91 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationExceptionTest.kt
@@ -45,4 +45,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnknownExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnknownExceptionTest.kt
index 6fcb19c..232cb82 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnknownExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnknownExceptionTest.kt
@@ -44,4 +44,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnsupportedExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnsupportedExceptionTest.kt
index e9e2417..d2b6b16 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnsupportedExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCredentialUnsupportedExceptionTest.kt
@@ -45,4 +45,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCustomCredentialExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCustomCredentialExceptionTest.kt
index d79665c..79870a9 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCustomCredentialExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/CreateCustomCredentialExceptionTest.kt
@@ -48,4 +48,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialCancellationExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialCancellationExceptionTest.kt
index 10deff4..da1642d 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialCancellationExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialCancellationExceptionTest.kt
@@ -44,4 +44,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialInterruptedExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialInterruptedExceptionTest.kt
index b7cee03..cd78cae 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialInterruptedExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialInterruptedExceptionTest.kt
@@ -44,4 +44,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationExceptionTest.kt
index 50490ea..bfe5b51 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationExceptionTest.kt
@@ -45,4 +45,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnknownExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnknownExceptionTest.kt
index bafbd19..6e3a145 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnknownExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnknownExceptionTest.kt
@@ -43,4 +43,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnsupportedExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnsupportedExceptionTest.kt
index f6c68d7..d72267c 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnsupportedExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCredentialUnsupportedExceptionTest.kt
@@ -45,4 +45,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCustomCredentialExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCustomCredentialExceptionTest.kt
index 308ddb4..d1bf8c3 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCustomCredentialExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/GetCustomCredentialExceptionTest.kt
@@ -48,4 +48,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/AbortDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/AbortDomErrorTest.kt
index 68c0c89..a503a67 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/AbortDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/AbortDomErrorTest.kt
@@ -39,4 +39,4 @@
             AbortError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_ABORT_ERROR
         assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ConstraintDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ConstraintDomErrorTest.kt
index c16902b..3deb197 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ConstraintDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ConstraintDomErrorTest.kt
@@ -39,4 +39,4 @@
                 .TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_CONSTRAINT_ERROR
         assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/DataDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/DataDomErrorTest.kt
index 7dc2e76..47f49b1 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/DataDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/DataDomErrorTest.kt
@@ -38,4 +38,4 @@
             DataError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DATA_ERROR
         assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InUseAttributeDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InUseAttributeDomErrorTest.kt
index 8a4c0b0..747f35a 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InUseAttributeDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InUseAttributeDomErrorTest.kt
@@ -38,4 +38,4 @@
             InUseAttributeError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_IN_USE_ATTRIBUTE_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidCharacterDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidCharacterDomErrorTest.kt
index 39498fe..0031ea8 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidCharacterDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidCharacterDomErrorTest.kt
@@ -38,4 +38,4 @@
             InvalidCharacterError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_INVALID_CHARACTER_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidModificationDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidModificationDomErrorTest.kt
index a6a20b5..9089bcb 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidModificationDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidModificationDomErrorTest.kt
@@ -38,4 +38,4 @@
             InvalidModificationError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_INVALID_MODIFICATION_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidNodeTypeDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidNodeTypeDomErrorTest.kt
index b2ebd89..475ef02 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidNodeTypeDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/InvalidNodeTypeDomErrorTest.kt
@@ -38,4 +38,4 @@
             InvalidNodeTypeError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_INVALID_NODE_TYPE_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NoModificationAllowedDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NoModificationAllowedDomErrorTest.kt
index f24bb41..7fe4802 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NoModificationAllowedDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NoModificationAllowedDomErrorTest.kt
@@ -38,4 +38,4 @@
                 .TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NO_MODIFICATION_ALLOWED_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotFoundDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotFoundDomErrorTest.kt
index c829063..43d867f 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotFoundDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotFoundDomErrorTest.kt
@@ -37,4 +37,4 @@
         val expectedType = NotFoundError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_FOUND_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotReadableDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotReadableDomErrorTest.kt
index 2a10418..c4ec0b1 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotReadableDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/NotReadableDomErrorTest.kt
@@ -39,4 +39,4 @@
                 .TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_READABLE_ERROR
         assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OperationDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OperationDomErrorTest.kt
index 0060e92..3f9bece 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OperationDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OperationDomErrorTest.kt
@@ -37,4 +37,4 @@
         val expectedType = OperationError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_OPERATION_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OptOutDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OptOutDomErrorTest.kt
index 476c58e..d5c2fc4 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OptOutDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/OptOutDomErrorTest.kt
@@ -37,4 +37,4 @@
         val expectedType = OptOutError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_OPT_OUT_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/QuotaExceededDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/QuotaExceededDomErrorTest.kt
index 22a37c6..4d3d650 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/QuotaExceededDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/QuotaExceededDomErrorTest.kt
@@ -38,4 +38,4 @@
             .TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_QUOTA_EXCEEDED_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ReadOnlyDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ReadOnlyDomErrorTest.kt
index 4c5f483..92432ec 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ReadOnlyDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/ReadOnlyDomErrorTest.kt
@@ -37,4 +37,4 @@
         val expectedType = ReadOnlyError.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_READ_ONLY_ERROR
         Truth.assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/UnknownDomErrorTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/UnknownDomErrorTest.kt
index 7da1a04..5387751 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/UnknownDomErrorTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/domerror/UnknownDomErrorTest.kt
@@ -39,4 +39,4 @@
                 .TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_UNKNOWN_ERROR
         assertThat(error.type).isEqualTo(expectedType)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomExceptionTest.kt
index b8ae2bc..5be32b62 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomExceptionTest.kt
@@ -42,4 +42,4 @@
         Truth.assertThat(exception.type).isEqualTo(expectedType)
         Truth.assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialExceptionTest.kt
index 5a2f1fe..fb7d7b9 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialExceptionTest.kt
@@ -49,4 +49,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomExceptionTest.kt
index 580e73e..7dcdd71 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomExceptionTest.kt
@@ -42,4 +42,4 @@
         Truth.assertThat(exception.type).isEqualTo(expectedType)
         Truth.assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialExceptionTest.kt
index 89c3756..7124611 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialExceptionTest.kt
@@ -49,4 +49,4 @@
         assertThat(exception.type).isEqualTo(expectedType)
         assertThat(exception.errorMessage).isEqualTo(expectedMessage)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/internal/FrameworkClassParsingExceptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/internal/FrameworkClassParsingExceptionTest.kt
index 8485d8c..226ce77 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/internal/FrameworkClassParsingExceptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/internal/FrameworkClassParsingExceptionTest.kt
@@ -31,4 +31,4 @@
       fun constructor_success() {
           FrameworkClassParsingException()
       }
-  }
\ No newline at end of file
+  }
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCredentialResponseTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCredentialResponseTest.kt
index f15cd57..55d82de 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCredentialResponseTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCredentialResponseTest.kt
@@ -118,4 +118,4 @@
 
         assertThat(actualRemoteEntry).isEqualTo(expectedRemoteEntry)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCustomCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCustomCredentialRequestTest.kt
index c4caf97..05ec9a1 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCustomCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreateCustomCredentialRequestTest.kt
@@ -71,4 +71,4 @@
         val actualBundle = beginCreateCustomCredentialRequest.candidateQueryData
         assertThat(actualBundle.getString(expectedKey)).isEqualTo(expectedValue)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePasswordRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePasswordRequestTest.kt
index dacb3d6..e8a2418 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePasswordRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePasswordRequestTest.kt
@@ -77,4 +77,4 @@
             null,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequestTest.kt
index 8783adf..5ad4353 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequestTest.kt
@@ -119,4 +119,4 @@
         assertThat(testClientDataHashActual).isEqualTo(testClientDataHashExpected)
     }
     // TODO ("Add framework conversion, createFrom & preferImmediatelyAvailable tests")
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialRequestTest.kt
index 4a495e3..85a6e54 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialRequestTest.kt
@@ -94,4 +94,4 @@
 
         assertThat(actualPackageName).isEqualTo(expectedPackageName)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialResponseTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialResponseTest.kt
index 9246bbc..3d70566 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialResponseTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCredentialResponseTest.kt
@@ -125,4 +125,4 @@
 
         assertThat(actualRemoteEntry).isEqualTo(expectedRemoteEntry)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCustomCredentialOptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCustomCredentialOptionTest.kt
index ec8367b..ebec728 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCustomCredentialOptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetCustomCredentialOptionTest.kt
@@ -70,4 +70,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPasswordOptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPasswordOptionTest.kt
index f1b1206..043f6a5 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPasswordOptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPasswordOptionTest.kt
@@ -76,4 +76,4 @@
         var option = BeginGetPasswordOption.createFromEntrySlice(bundle, "id")
         assertThat(option.id).isEqualTo("id")
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPublicKeyCredentialOptionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPublicKeyCredentialOptionTest.kt
index 7a410f4..1fc0de9 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPublicKeyCredentialOptionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/BeginGetPublicKeyCredentialOptionTest.kt
@@ -146,4 +146,4 @@
         val option = BeginGetPublicKeyCredentialOption.createFromEntrySlice(bundle, "id")
         assertThat(option.id).isEqualTo("id")
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CallingAppInfoTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CallingAppInfoTest.kt
index 84ea047..a15e88d 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CallingAppInfoTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CallingAppInfoTest.kt
@@ -81,4 +81,4 @@
              callingAppInfo.getOrigin("invalid_json")
          }
      }
- }
\ No newline at end of file
+ }
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialEntryTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialEntryTest.kt
index 66fc41e..c871a6c 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialEntryTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialEntryTest.kt
@@ -104,4 +104,4 @@
         assertThat(result).isNotNull()
         assertThat(result!!.type).isEqualTo("custom")
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTest.kt
index a863383..cb22f20 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTest.kt
@@ -113,4 +113,4 @@
         service.onClearCredentialStateRequest(request, CancellationSignal(), outcome)
         assertThat(service.lastClearRequest).isNotNull()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTestImpl.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTestImpl.kt
index 5459287..f737e8b 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTestImpl.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/CredentialProviderServiceTestImpl.kt
@@ -55,4 +55,4 @@
     ) {
         Log.i(LOG_TAG, "onBeginCreateCredentialRequest")
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/PendingIntentHandlerTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/PendingIntentHandlerTest.kt
index f14c8e0..ca9a559 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/PendingIntentHandlerTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/PendingIntentHandlerTest.kt
@@ -167,4 +167,4 @@
         val r = intent.getCreateCredentialCredentialResponse()
         assertThat(r).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderClearCredentialStateRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderClearCredentialStateRequestTest.kt
index 63f06b6..15f7ee2 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderClearCredentialStateRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderClearCredentialStateRequestTest.kt
@@ -38,4 +38,4 @@
 
         assertThat(equals(callingAppInfo, request.callingAppInfo)).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderCreateCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderCreateCredentialRequestTest.kt
index 09f7864..615edc4 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderCreateCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderCreateCredentialRequestTest.kt
@@ -38,4 +38,4 @@
                 CallingAppInfo("name",
                 SigningInfo()))
     }
- }
\ No newline at end of file
+ }
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderGetCredentialRequestTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderGetCredentialRequestTest.kt
index 608b50c..9aecc89 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderGetCredentialRequestTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ProviderGetCredentialRequestTest.kt
@@ -132,4 +132,4 @@
 
         assertThat(actualPackageName).isEqualTo(expectedPackageName)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/ActionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/ActionTest.kt
index 102ef17..cb4dfb8 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/ActionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/ActionTest.kt
@@ -76,4 +76,4 @@
         private val TITLE: CharSequence = "title"
         private val SUBTITLE: CharSequence = "subtitle"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/AuthenticationActionTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/AuthenticationActionTest.kt
index 8c13327..c3368fb 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/AuthenticationActionTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/AuthenticationActionTest.kt
@@ -78,4 +78,4 @@
     companion object {
         private val TITLE: CharSequence = "title"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CreateEntryTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CreateEntryTest.kt
index b363f1d..f9beea4 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CreateEntryTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CreateEntryTest.kt
@@ -190,4 +190,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CustomCredentialEntryTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CustomCredentialEntryTest.kt
index a1b107b..b98f3ce 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CustomCredentialEntryTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/CustomCredentialEntryTest.kt
@@ -218,4 +218,4 @@
         )
         private const val IS_AUTO_SELECT_ALLOWED = true
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PasswordCredentialEntryTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PasswordCredentialEntryTest.kt
index d0f1114..63793da 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PasswordCredentialEntryTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PasswordCredentialEntryTest.kt
@@ -184,4 +184,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PublicKeyCredentialEntryTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PublicKeyCredentialEntryTest.kt
index 74c9a24..69ba63c 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PublicKeyCredentialEntryTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/PublicKeyCredentialEntryTest.kt
@@ -168,4 +168,4 @@
             100, 100, Bitmap.Config.ARGB_8888))
         private const val IS_AUTO_SELECT_ALLOWED = true
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/RemoteEntryTest.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/RemoteEntryTest.kt
index ba8e42f..ec430cf 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/RemoteEntryTest.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/RemoteEntryTest.kt
@@ -65,4 +65,4 @@
             assertThat(fromSlice.pendingIntent).isEqualTo(mPendingIntent)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/UiUtils.kt b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/UiUtils.kt
index 60cd479..65cc56d 100644
--- a/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/UiUtils.kt
+++ b/credentials/credentials/src/androidTest/java/androidx/credentials/provider/ui/UiUtils.kt
@@ -119,4 +119,4 @@
             return RemoteEntry(sPendingIntent)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/ClearCredentialStateRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/ClearCredentialStateRequest.kt
index b8d3296..e72b8d3 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/ClearCredentialStateRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/ClearCredentialStateRequest.kt
@@ -19,4 +19,4 @@
 /**
  * Request class for clearing a user's credential state from the credential providers.
  */
-class ClearCredentialStateRequest
\ No newline at end of file
+class ClearCredentialStateRequest
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialRequest.kt
index b5f580e..0bd8e7a 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialRequest.kt
@@ -79,4 +79,4 @@
     init {
         require(type.isNotEmpty()) { "type should not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialResponse.kt b/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialResponse.kt
index a623a2e..d56acfa 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialResponse.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CreateCustomCredentialResponse.kt
@@ -45,4 +45,4 @@
     init {
         require(type.isNotEmpty()) { "type should not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordRequest.kt
index 33f8b28..0c41df0 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordRequest.kt
@@ -195,4 +195,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordResponse.kt b/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordResponse.kt
index bd173fc..48c3357 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordResponse.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CreatePasswordResponse.kt
@@ -33,4 +33,4 @@
             return CreatePasswordResponse(data)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CreatePublicKeyCredentialResponse.kt b/credentials/credentials/src/main/java/androidx/credentials/CreatePublicKeyCredentialResponse.kt
index 75c2f12..52c8f9b 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CreatePublicKeyCredentialResponse.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CreatePublicKeyCredentialResponse.kt
@@ -71,4 +71,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CredentialManager.kt b/credentials/credentials/src/main/java/androidx/credentials/CredentialManager.kt
index 86dedcf..d4f1a18 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CredentialManager.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CredentialManager.kt
@@ -446,4 +446,4 @@
      */
     @RequiresApi(34)
     fun createSettingsPendingIntent(): PendingIntent
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerCallback.kt b/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerCallback.kt
index 01cd115..88b7ab3 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerCallback.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerCallback.kt
@@ -30,4 +30,4 @@
     fun onResult(result: R)
 
     fun onError(e: E)
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerImpl.kt b/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerImpl.kt
index c1a50eb..f39f2ef 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerImpl.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CredentialManagerImpl.kt
@@ -276,4 +276,4 @@
         intent.setData(Uri.parse("package:" + context.getPackageName()))
         return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CredentialProvider.kt b/credentials/credentials/src/main/java/androidx/credentials/CredentialProvider.kt
index 1dab141..9ff58c3 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CredentialProvider.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CredentialProvider.kt
@@ -133,4 +133,4 @@
         executor: Executor,
         callback: CredentialManagerCallback<GetCredentialResponse, GetCredentialException>,
     ) {}
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CredentialProviderFrameworkImpl.kt b/credentials/credentials/src/main/java/androidx/credentials/CredentialProviderFrameworkImpl.kt
index 7b571a4..2f59f17 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CredentialProviderFrameworkImpl.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CredentialProviderFrameworkImpl.kt
@@ -374,4 +374,4 @@
     private companion object {
         private const val TAG = "CredManProvService"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/CustomCredential.kt b/credentials/credentials/src/main/java/androidx/credentials/CustomCredential.kt
index a229a32..eadbc79 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/CustomCredential.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/CustomCredential.kt
@@ -46,4 +46,4 @@
     init {
         require(type.isNotEmpty()) { "type should not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/FederatedCredential.kt b/credentials/credentials/src/main/java/androidx/credentials/FederatedCredential.kt
index e30588e..0726bd7 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/FederatedCredential.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/FederatedCredential.kt
@@ -32,4 +32,4 @@
         /** The type value for federated credential related operations. */
         const val TYPE_FEDERATED_CREDENTIAL: String = "type.federated_credential"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/GetCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/GetCredentialRequest.kt
index 0f2e462..2dcd33ea 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/GetCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/GetCredentialRequest.kt
@@ -205,4 +205,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/GetCustomCredentialOption.kt b/credentials/credentials/src/main/java/androidx/credentials/GetCustomCredentialOption.kt
index 5ced43a..898ae67e 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/GetCustomCredentialOption.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/GetCustomCredentialOption.kt
@@ -70,4 +70,4 @@
     init {
         require(type.isNotEmpty()) { "type should not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/GetPasswordOption.kt b/credentials/credentials/src/main/java/androidx/credentials/GetPasswordOption.kt
index c37d50d..c423f5b 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/GetPasswordOption.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/GetPasswordOption.kt
@@ -92,4 +92,4 @@
             return bundle
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/PrepareGetCredentialResponse.kt b/credentials/credentials/src/main/java/androidx/credentials/PrepareGetCredentialResponse.kt
index 0b47e0b..7129ef1 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/PrepareGetCredentialResponse.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/PrepareGetCredentialResponse.kt
@@ -234,4 +234,4 @@
 
 typealias HasAuthenticationResultsDelegate = () -> Boolean
 
-typealias HasRemoteResultsDelegate = () -> Boolean
\ No newline at end of file
+typealias HasRemoteResultsDelegate = () -> Boolean
diff --git a/credentials/credentials/src/main/java/androidx/credentials/PublicKeyCredential.kt b/credentials/credentials/src/main/java/androidx/credentials/PublicKeyCredential.kt
index f3789dc..8bb3797 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/PublicKeyCredential.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/PublicKeyCredential.kt
@@ -80,4 +80,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialException.kt
index 166e8bf..da97d99 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialException.kt
@@ -32,4 +32,4 @@
     open val type: String,
     @get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
     open val errorMessage: CharSequence? = null
-) : Exception(errorMessage?.toString())
\ No newline at end of file
+) : Exception(errorMessage?.toString())
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialInterruptedException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialInterruptedException.kt
index 40225aa9..b87d8b7 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialInterruptedException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialInterruptedException.kt
@@ -30,4 +30,4 @@
         internal const val TYPE_CLEAR_CREDENTIAL_INTERRUPTED_EXCEPTION =
             "androidx.credentials.TYPE_CLEAR_CREDENTIAL_INTERRUPTED_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationException.kt
index a85e8aa..df68df0 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialProviderConfigurationException.kt
@@ -30,4 +30,4 @@
         internal const val TYPE_CLEAR_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION =
             "androidx.credentials.TYPE_CLEAR_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnknownException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnknownException.kt
index a311e17..baaeb61 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnknownException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnknownException.kt
@@ -28,4 +28,4 @@
         internal const val TYPE_CLEAR_CREDENTIAL_UNKNOWN_EXCEPTION =
             "android.credentials.ClearCredentialStateException.TYPE_UNKNOWN"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnsupportedException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnsupportedException.kt
index 1c522ad..814cc4d 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnsupportedException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCredentialUnsupportedException.kt
@@ -31,4 +31,4 @@
         internal const val TYPE_CLEAR_CREDENTIAL_UNSUPPORTED_EXCEPTION =
             "androidx.credentials.TYPE_CLEAR_CREDENTIAL_UNSUPPORTED_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCustomCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCustomCredentialException.kt
index babc2fe..2715172 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCustomCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/ClearCustomCredentialException.kt
@@ -37,4 +37,4 @@
     init {
         require(type.isNotEmpty()) { "type must not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialCancellationException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialCancellationException.kt
index 5bc8f11..e9bd40f 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialCancellationException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialCancellationException.kt
@@ -30,4 +30,4 @@
         internal const val TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION =
             "android.credentials.CreateCredentialException.TYPE_USER_CANCELED"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialException.kt
index 78a6f26..91130b8 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialException.kt
@@ -33,4 +33,4 @@
     open val type: String,
     @get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
     open val errorMessage: CharSequence? = null
-) : Exception(errorMessage?.toString())
\ No newline at end of file
+) : Exception(errorMessage?.toString())
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialInterruptedException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialInterruptedException.kt
index 1e1f176..34d1fed 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialInterruptedException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialInterruptedException.kt
@@ -30,4 +30,4 @@
         internal const val TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION =
             "android.credentials.CreateCredentialException.TYPE_INTERRUPTED"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialNoCreateOptionException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialNoCreateOptionException.kt
index 0382924..936b642 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialNoCreateOptionException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialNoCreateOptionException.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_CREDENTIAL_NO_CREATE_OPTION =
             "android.credentials.CreateCredentialException.TYPE_NO_CREATE_OPTIONS"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationException.kt
index f371d7e..01a5b55 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialProviderConfigurationException.kt
@@ -31,4 +31,4 @@
         internal const val TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION =
             "androidx.credentials.TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnknownException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnknownException.kt
index cb16a64..6325bde 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnknownException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnknownException.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION =
             "android.credentials.CreateCredentialException.TYPE_UNKNOWN"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnsupportedException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnsupportedException.kt
index df0250c..4df3040 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnsupportedException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCredentialUnsupportedException.kt
@@ -31,4 +31,4 @@
         internal const val TYPE_CREATE_CREDENTIAL_UNSUPPORTED_EXCEPTION =
             "androidx.credentials.TYPE_CREATE_CREDENTIAL_UNSUPPORTED_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCustomCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCustomCredentialException.kt
index c37ef3e..bd995fe3 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCustomCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/CreateCustomCredentialException.kt
@@ -37,4 +37,4 @@
     init {
         require(type.isNotEmpty()) { "type must not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialCancellationException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialCancellationException.kt
index 9cf49be..3218631 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialCancellationException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialCancellationException.kt
@@ -31,4 +31,4 @@
         internal const val TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION =
             "android.credentials.GetCredentialException.TYPE_USER_CANCELED"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialException.kt
index d6383e9..5a712ed 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialException.kt
@@ -33,4 +33,4 @@
     open val type: String,
     @get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
     open val errorMessage: CharSequence? = null
-) : Exception(errorMessage?.toString())
\ No newline at end of file
+) : Exception(errorMessage?.toString())
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialInterruptedException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialInterruptedException.kt
index 8ed0357..3ad6719 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialInterruptedException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialInterruptedException.kt
@@ -31,4 +31,4 @@
         internal const val TYPE_GET_CREDENTIAL_INTERRUPTED_EXCEPTION =
             "android.credentials.GetCredentialException.TYPE_INTERRUPTED"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationException.kt
index 2fceba4..2b0b3c0 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialProviderConfigurationException.kt
@@ -30,4 +30,4 @@
         internal const val TYPE_GET_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION =
             "androidx.credentials.TYPE_GET_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnknownException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnknownException.kt
index fca2aa7..42fc109 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnknownException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnknownException.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_GET_CREDENTIAL_UNKNOWN_EXCEPTION =
             "android.credentials.GetCredentialException.TYPE_UNKNOWN"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnsupportedException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnsupportedException.kt
index 827050d..7694d3f2 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnsupportedException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCredentialUnsupportedException.kt
@@ -31,4 +31,4 @@
         internal const val TYPE_GET_CREDENTIAL_UNSUPPORTED_EXCEPTION =
             "androidx.credentials.TYPE_GET_CREDENTIAL_UNSUPPORTED_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCustomCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCustomCredentialException.kt
index 8cfa559..9f42bb7 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCustomCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/GetCustomCredentialException.kt
@@ -37,4 +37,4 @@
     init {
         require(type.isNotEmpty()) { "type must not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/NoCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/NoCredentialException.kt
index 961dfb2..94b90d1 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/NoCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/NoCredentialException.kt
@@ -34,4 +34,4 @@
         internal const val TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL =
             "android.credentials.GetCredentialException.TYPE_NO_CREDENTIAL"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/AbortError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/AbortError.kt
index dee644b..6981ab1 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/AbortError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/AbortError.kt
@@ -28,4 +28,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_ABORT_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_ABORT_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ConstraintError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ConstraintError.kt
index f6cb08a..3d8bf782 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ConstraintError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ConstraintError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_CONSTRAINT_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_CONSTRAINT_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataCloneError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataCloneError.kt
index b9bb35f..a5a3a29 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataCloneError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataCloneError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DATA_CLONE_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DATA_CLONE_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataError.kt
index 334f169..15f2037 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DataError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DATA_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DATA_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DomError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DomError.kt
index e4ed965..f2d4084 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DomError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/DomError.kt
@@ -47,4 +47,4 @@
     @get:VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
     @get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
     open val type: String
-)
\ No newline at end of file
+)
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/EncodingError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/EncodingError.kt
index 288ded0..05c23cb 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/EncodingError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/EncodingError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_ENCODING_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_ENCODING_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/InvalidStateError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/InvalidStateError.kt
index 472d378..d9a6d3e 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/InvalidStateError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/InvalidStateError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_INVALID_STATE_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_INVALID_STATE_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NetworkError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NetworkError.kt
index c571e88..8f1b697 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NetworkError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NetworkError.kt
@@ -28,4 +28,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NETWORK_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NETWORK_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotAllowedError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotAllowedError.kt
index 756998e0..e612ba2 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotAllowedError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotAllowedError.kt
@@ -30,4 +30,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_ALLOWED_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_ALLOWED_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotReadableError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotReadableError.kt
index 312506c..43c30d0 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotReadableError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotReadableError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_READABLE_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_READABLE_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotSupportedError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotSupportedError.kt
index eff95cf..3a25e04 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotSupportedError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/NotSupportedError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_SUPPORTED_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_NOT_SUPPORTED_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ReadOnlyError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ReadOnlyError.kt
index 692ee25..18aedb5 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ReadOnlyError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/ReadOnlyError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_READ_ONLY_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_READ_ONLY_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/SecurityError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/SecurityError.kt
index 47edb55..d970890 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/SecurityError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/SecurityError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_SECURITY_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_SECURITY_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/TimeoutError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/TimeoutError.kt
index f37cb1e..bcca5b4 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/TimeoutError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/TimeoutError.kt
@@ -28,4 +28,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_TIMEOUT_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_TIMEOUT_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/UnknownError.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/UnknownError.kt
index 70f8db2..05f4998 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/UnknownError.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/domerrors/UnknownError.kt
@@ -29,4 +29,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_UNKNOWN_ERROR: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_UNKNOWN_ERROR"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException.kt
index c71d09c..8741608 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException.kt
@@ -38,4 +38,4 @@
         internal const val TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION: String =
             "androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException.kt
index 9647903..3874164 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException.kt
@@ -36,4 +36,4 @@
     init {
         require(type.isNotEmpty()) { "type must not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException.kt
index ba91548..e2684ce 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException.kt
@@ -38,4 +38,4 @@
         internal const val TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION: String =
             "androidx.credentials.TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialException.kt b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialException.kt
index d5b999f..3cb9e63 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialException.kt
@@ -36,4 +36,4 @@
     init {
         require(type.isNotEmpty()) { "type must not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkClassParsingException.kt b/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkClassParsingException.kt
index 4110de5..aa783cd 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkClassParsingException.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkClassParsingException.kt
@@ -20,4 +20,4 @@
  * Internal exception used to indicate a parsing error while converting from a framework type to
  * a jetpack type.
  */
-internal class FrameworkClassParsingException : Exception()
\ No newline at end of file
+internal class FrameworkClassParsingException : Exception()
diff --git a/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkImplHelper.kt b/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkImplHelper.kt
index 9d9f7b2..4377fab 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkImplHelper.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/internal/FrameworkImplHelper.kt
@@ -59,4 +59,4 @@
             return createCredentialData
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/internal/RequestValidationHelper.kt b/credentials/credentials/src/main/java/androidx/credentials/internal/RequestValidationHelper.kt
index 7c281d9..81a5f42 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/internal/RequestValidationHelper.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/internal/RequestValidationHelper.kt
@@ -38,4 +38,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/Action.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/Action.kt
index 2ef577c..7fa6e48 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/Action.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/Action.kt
@@ -187,4 +187,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialRequest.kt
index 73a1935..dd824cf 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialRequest.kt
@@ -88,4 +88,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialResponse.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialResponse.kt
index f5fa685..4fe08a3 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialResponse.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCredentialResponse.kt
@@ -159,4 +159,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCustomCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCustomCredentialRequest.kt
index 0ee1b04..9a1b2db 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCustomCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreateCustomCredentialRequest.kt
@@ -52,4 +52,4 @@
     init {
         require(type.isNotEmpty()) { "type should not be empty" }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequest.kt
index 41a07cf..9324c23 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginCreatePublicKeyCredentialRequest.kt
@@ -89,4 +89,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialOption.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialOption.kt
index 669c5a6..c4800d7 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialOption.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialOption.kt
@@ -64,4 +64,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialRequest.kt
index 8639447..cd41ff9 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialRequest.kt
@@ -99,4 +99,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialResponse.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialResponse.kt
index b76cf44..8af070e 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialResponse.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/BeginGetCredentialResponse.kt
@@ -213,4 +213,4 @@
             return null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/CredentialEntry.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/CredentialEntry.kt
index c02bf01..a71b4f0 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/CredentialEntry.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/CredentialEntry.kt
@@ -59,4 +59,4 @@
             return null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderClearCredentialStateRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderClearCredentialStateRequest.kt
index c796764..9cf0c99 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderClearCredentialStateRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderClearCredentialStateRequest.kt
@@ -28,4 +28,4 @@
  * Note : Credential providers are not expected to utilize the constructor in this class for any
  * production flow. This constructor must only be used for testing purposes.
  */
-class ProviderClearCredentialStateRequest constructor(val callingAppInfo: CallingAppInfo)
\ No newline at end of file
+class ProviderClearCredentialStateRequest constructor(val callingAppInfo: CallingAppInfo)
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderCreateCredentialRequest.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderCreateCredentialRequest.kt
index 2bc48ee..3b39ebb 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderCreateCredentialRequest.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/ProviderCreateCredentialRequest.kt
@@ -40,4 +40,4 @@
 class ProviderCreateCredentialRequest constructor(
     val callingRequest: CreateCredentialRequest,
     val callingAppInfo: CallingAppInfo
-)
\ No newline at end of file
+)
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/RemoteEntry.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/RemoteEntry.kt
index 4ee6202..84dac25 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/RemoteEntry.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/RemoteEntry.kt
@@ -121,4 +121,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginCreateCredentialUtil.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginCreateCredentialUtil.kt
index 6a14add..556eeef 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginCreateCredentialUtil.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginCreateCredentialUtil.kt
@@ -161,4 +161,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginGetCredentialUtil.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginGetCredentialUtil.kt
index 71056aa..b1de34e 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginGetCredentialUtil.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/BeginGetCredentialUtil.kt
@@ -174,4 +174,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/ClearCredentialUtil.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/ClearCredentialUtil.kt
index 0ee7924..ea1b500 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/ClearCredentialUtil.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/ClearCredentialUtil.kt
@@ -37,4 +37,4 @@
                     request.callingAppInfo.origin))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/RequestValidationUtil.kt b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/RequestValidationUtil.kt
index 308115f..844447b8 100644
--- a/credentials/credentials/src/main/java/androidx/credentials/provider/utils/RequestValidationUtil.kt
+++ b/credentials/credentials/src/main/java/androidx/credentials/provider/utils/RequestValidationUtil.kt
@@ -38,4 +38,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/customview/customview-poolingcontainer/src/androidTest/kotlin/androidx/customview/poolingcontainer/PoolingContainerTest.kt b/customview/customview-poolingcontainer/src/androidTest/kotlin/androidx/customview/poolingcontainer/PoolingContainerTest.kt
index a6acb7c..3b4f2aa 100644
--- a/customview/customview-poolingcontainer/src/androidTest/kotlin/androidx/customview/poolingcontainer/PoolingContainerTest.kt
+++ b/customview/customview-poolingcontainer/src/androidTest/kotlin/androidx/customview/poolingcontainer/PoolingContainerTest.kt
@@ -200,4 +200,4 @@
         view.callPoolingContainerOnRelease()
         assertThat(callbacks).isEqualTo(intArrayOf(1, 2, 1))
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-benchmark/src/androidTest/java/androidx/datastore/core/SingleProcessDatastoreTest.kt b/datastore/datastore-benchmark/src/androidTest/java/androidx/datastore/core/SingleProcessDatastoreTest.kt
index f74d565..7ed76dd 100644
--- a/datastore/datastore-benchmark/src/androidTest/java/androidx/datastore/core/SingleProcessDatastoreTest.kt
+++ b/datastore/datastore-benchmark/src/androidTest/java/androidx/datastore/core/SingleProcessDatastoreTest.kt
@@ -107,4 +107,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 ff0c660..241a449 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
@@ -122,4 +122,4 @@
     MaterialTheme {
         Counters("test", 1, {}, {})
     }
-}
\ No newline at end of file
+}
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 428b189..5a1792f 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
@@ -135,4 +135,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountSerializer.kt b/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountSerializer.kt
index 2e10667..56f66e1 100644
--- a/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountSerializer.kt
+++ b/datastore/datastore-compose-samples/src/main/java/com/example/datastorecomposesamples/data/CountSerializer.kt
@@ -39,4 +39,4 @@
     }
 
     override suspend fun writeTo(t: CountPreferences, output: OutputStream) = t.writeTo(output)
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioSerializer.kt b/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioSerializer.kt
index cbd6d75..963b699 100644
--- a/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioSerializer.kt
+++ b/datastore/datastore-core-okio/src/commonMain/kotlin/androidx/datastore/core/okio/OkioSerializer.kt
@@ -46,4 +46,4 @@
      *  @param sink the BufferedSink to serialize data to
      */
     public suspend fun writeTo(t: T, sink: BufferedSink)
-}
\ No newline at end of file
+}
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 ab7d451..1b88c6c 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
@@ -213,4 +213,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 11db7e0..33f1b2d 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
@@ -342,4 +342,4 @@
         testConnection.writeData(1)
         assertThat(testConnection.readData()).isEqualTo(1)
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core-okio/src/jvmMain/kotlin/androidx/datastore/core/okio/Atomic.jvm.kt b/datastore/datastore-core-okio/src/jvmMain/kotlin/androidx/datastore/core/okio/Atomic.jvm.kt
index 40f0e42..ff5ce72 100644
--- a/datastore/datastore-core-okio/src/jvmMain/kotlin/androidx/datastore/core/okio/Atomic.jvm.kt
+++ b/datastore/datastore-core-okio/src/jvmMain/kotlin/androidx/datastore/core/okio/Atomic.jvm.kt
@@ -50,4 +50,4 @@
             block()
         }
     }
-}
\ No newline at end of file
+}
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 519f967..3937e03 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
@@ -60,4 +60,4 @@
     actual inline fun<T> withLock(crossinline block: () -> T): T {
         return synchronized(delegate, block)
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/ExperimentalMultiProcessDataStore.kt b/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/ExperimentalMultiProcessDataStore.kt
index 49a2d2d..27d4798 100644
--- a/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/ExperimentalMultiProcessDataStore.kt
+++ b/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/ExperimentalMultiProcessDataStore.kt
@@ -22,4 +22,4 @@
 )
 @Target(AnnotationTarget.FUNCTION)
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalMultiProcessDataStore
\ No newline at end of file
+annotation class ExperimentalMultiProcessDataStore
diff --git a/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/MultiProcessCoordinator.kt b/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/MultiProcessCoordinator.kt
index 4d91dad..48f575b 100644
--- a/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/MultiProcessCoordinator.kt
+++ b/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/MultiProcessCoordinator.kt
@@ -190,4 +190,4 @@
  */
 @Suppress("StreamFiles")
 fun createMultiProcessCoordinator(context: CoroutineContext, file: File): InterProcessCoordinator =
-    MultiProcessCoordinator(context, file)
\ No newline at end of file
+    MultiProcessCoordinator(context, file)
diff --git a/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/SharedCounter.kt b/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/SharedCounter.kt
index 25d6562..dd295be 100644
--- a/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/SharedCounter.kt
+++ b/datastore/datastore-core/src/androidMain/kotlin/androidx/datastore/core/SharedCounter.kt
@@ -84,4 +84,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/DirectTestService.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/DirectTestService.kt
index 1dbe386..aa9cdac 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/DirectTestService.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/DirectTestService.kt
@@ -276,4 +276,4 @@
     for (connection in connections) {
         connection.propagateRemoteExceptionIfPresent()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreMultiProcessTest.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreMultiProcessTest.kt
index 2e37fca..6a5cbdb 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreMultiProcessTest.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreMultiProcessTest.kt
@@ -606,4 +606,4 @@
     }
 
     class InterleavedHandlerUpdateDataOkioService : InterleavedHandlerUpdateDataFileService()
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessFileTest.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessFileTest.kt
index 24288ef..e51d906 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessFileTest.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessFileTest.kt
@@ -149,4 +149,4 @@
         listOf(reader, writer).awaitAll()
         testJob.cancelAndJoin()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessOkioTest.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessOkioTest.kt
index d71d516..8dbe972 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessOkioTest.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/MultiProcessDataStoreSingleProcessOkioTest.kt
@@ -31,4 +31,4 @@
     override fun getJavaFile(file: OkioPath): File {
         return file.path.toFile()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoOkioSerializer.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoOkioSerializer.kt
index 29540b5..6fe43fa 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoOkioSerializer.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoOkioSerializer.kt
@@ -51,4 +51,4 @@
     override suspend fun writeTo(t: T, sink: BufferedSink) {
         t.writeTo(sink.outputStream())
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoSerializer.kt b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoSerializer.kt
index 4df5bcf..ea2ebca 100644
--- a/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoSerializer.kt
+++ b/datastore/datastore-core/src/androidTest/java/androidx/datastore/core/ProtoSerializer.kt
@@ -47,4 +47,4 @@
     override suspend fun writeTo(t: T, output: OutputStream) {
         t.writeTo(output)
     }
-}
\ No newline at end of file
+}
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 5179249..6e63de3 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
@@ -121,4 +121,4 @@
         }
         deferred.await()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionException.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionException.kt
index 8ae3cb7..97555f3 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionException.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionException.kt
@@ -22,4 +22,4 @@
  * due to a transient IO issue or permissions issue.
  */
 public class CorruptionException(message: String, cause: Throwable? = null) :
-    IOException(message, cause)
\ No newline at end of file
+    IOException(message, cause)
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionHandler.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionHandler.kt
index d88f0f2..78797c2 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionHandler.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/CorruptionHandler.kt
@@ -32,4 +32,4 @@
      * @return The value that DataStore should attempt to write to disk.
      */
     public suspend fun handleCorruption(ex: CorruptionException): T
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigration.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigration.kt
index 711821b..6b0aa65 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigration.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigration.kt
@@ -73,4 +73,4 @@
      * DataStore doesn't return data until all migrations complete.
      */
     public suspend fun cleanUp()
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigrationInitializer.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigrationInitializer.kt
index 24d900c..decd8a5 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigrationInitializer.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataMigrationInitializer.kt
@@ -68,4 +68,4 @@
             cleanUpFailure?.let { throw it }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStore.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStore.kt
index 4fd3b86..f77f927 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStore.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStore.kt
@@ -64,4 +64,4 @@
      * @throws Exception when thrown by the transform function
      */
     public suspend fun updateData(transform: suspend (t: T) -> T): T
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreFactory.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreFactory.kt
index 99e9228..3308b46 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreFactory.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreFactory.kt
@@ -30,4 +30,4 @@
         migrations: List<DataMigration<T>> = listOf(),
         scope: CoroutineScope = CoroutineScope(ioDispatcher() + SupervisorJob()),
     ): DataStore<T>
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreImpl.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreImpl.kt
index 386a01a..da2b8fd 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreImpl.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/DataStoreImpl.kt
@@ -475,4 +475,4 @@
             didRun = true
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Expect.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Expect.kt
index 4678e2be..c0278a2 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Expect.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Expect.kt
@@ -38,4 +38,4 @@
     fun set(value: Boolean)
 }
 
-internal expect fun ioDispatcher(): CoroutineDispatcher
\ No newline at end of file
+internal expect fun ioDispatcher(): CoroutineDispatcher
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InitializerApi.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InitializerApi.kt
index bf36ecd..bc015e0 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InitializerApi.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InitializerApi.kt
@@ -28,4 +28,4 @@
  */
 internal interface InitializerApi<T> {
     suspend fun updateData(transform: suspend (t: T) -> T): T
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InterProcessCoordinator.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InterProcessCoordinator.kt
index 2f909d6..f23f7ed 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InterProcessCoordinator.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/InterProcessCoordinator.kt
@@ -76,4 +76,4 @@
 /**
  * Create a coordinator for single process use cases.
  */
-fun createSingleProcessCoordinator(): InterProcessCoordinator = SingleProcessCoordinator()
\ No newline at end of file
+fun createSingleProcessCoordinator(): InterProcessCoordinator = SingleProcessCoordinator()
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Message.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Message.kt
index acc90f3..c2e32d0 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Message.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/Message.kt
@@ -41,4 +41,4 @@
         override val lastState: State<T>?,
         val callerContext: CoroutineContext
     ) : Message<T>()
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/MutexUtils.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/MutexUtils.kt
index 6c4fa3b..528fa08 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/MutexUtils.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/MutexUtils.kt
@@ -41,4 +41,4 @@
             unlock(owner)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SimpleActor.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SimpleActor.kt
index 7894e59..cae4b2e 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SimpleActor.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SimpleActor.kt
@@ -123,4 +123,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SingleProcessCoordinator.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SingleProcessCoordinator.kt
index c455240..68ce1c0 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SingleProcessCoordinator.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/SingleProcessCoordinator.kt
@@ -51,4 +51,4 @@
 
     // increment version and return the new one
     override suspend fun incrementAndGetVersion(): Int = version.incrementAndGet()
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/State.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/State.kt
index 35cd3aa..d517693 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/State.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/State.kt
@@ -43,4 +43,4 @@
 /**
  * The scope has been cancelled. This DataStore cannot process any new reads or writes.
  */
-internal class Final<T>(val finalException: Throwable) : State<T>(Int.MAX_VALUE)
\ No newline at end of file
+internal class Final<T>(val finalException: Throwable) : State<T>(Int.MAX_VALUE)
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.kt
index f4316ef..f44e598 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.kt
@@ -20,4 +20,4 @@
 /**
  * Default corruption handler which does nothing but rethrow the exception.
  */
-internal expect class NoOpCorruptionHandler<T> constructor() : CorruptionHandler<T>
\ No newline at end of file
+internal expect class NoOpCorruptionHandler<T> constructor() : CorruptionHandler<T>
diff --git a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.kt b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.kt
index 4b16f63..eb79cb1 100644
--- a/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.kt
+++ b/datastore/datastore-core/src/commonMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.kt
@@ -25,4 +25,4 @@
  * If the handler encounters an exception when attempting to replace data, the new exception is
  * added as a suppressed exception to the original exception and the original exception is thrown.
  */
-public expect class ReplaceFileCorruptionHandler<T> : CorruptionHandler<T>
\ No newline at end of file
+public expect class ReplaceFileCorruptionHandler<T> : CorruptionHandler<T>
diff --git a/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/CommonTests.kt b/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/CommonTests.kt
index 3fc0429..daf468c 100644
--- a/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/CommonTests.kt
+++ b/datastore/datastore-core/src/commonTest/kotlin/androidx/datastore/core/CommonTests.kt
@@ -31,4 +31,4 @@
 
 @OptIn(ExperimentalCoroutinesApi::class, ObsoleteCoroutinesApi::class, FlowPreview::class)
 @InternalCoroutinesApi
-class SingleProcessDataStoreOkioTest : SingleProcessDataStoreTest<OkioPath>(OkioTestIO())
\ No newline at end of file
+class SingleProcessDataStoreOkioTest : SingleProcessDataStoreTest<OkioPath>(OkioTestIO())
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 0d86c08..47d5165 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
@@ -217,4 +217,4 @@
 
         override suspend fun cleanUp() = cleanUpFunction()
     }
-}
\ No newline at end of file
+}
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 6d93034..dd3808f 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
@@ -992,4 +992,4 @@
     assertThat(
         coordinator.incrementAndGetVersion()
     ).isEqualTo(currentVersion + 1)
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/Actual.jvm.kt b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/Actual.jvm.kt
index d74c459..b83dbc6 100644
--- a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/Actual.jvm.kt
+++ b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/Actual.jvm.kt
@@ -51,4 +51,4 @@
     }
 }
 
-internal actual fun ioDispatcher(): CoroutineDispatcher = Dispatchers.IO
\ No newline at end of file
+internal actual fun ioDispatcher(): CoroutineDispatcher = Dispatchers.IO
diff --git a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/UncloseableOutputStream.kt b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/UncloseableOutputStream.kt
index a7c9054..9ac2fe1 100644
--- a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/UncloseableOutputStream.kt
+++ b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/UncloseableOutputStream.kt
@@ -44,4 +44,4 @@
     override fun flush() {
         fileOutputStream.flush()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.jvm.kt b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.jvm.kt
index 9b6a568..7d42d00 100644
--- a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.jvm.kt
+++ b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.jvm.kt
@@ -27,4 +27,4 @@
     override suspend fun handleCorruption(ex: CorruptionException): T {
         throw ex
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.jvm.kt b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.jvm.kt
index f76c3c7..4d09636 100644
--- a/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.jvm.kt
+++ b/datastore/datastore-core/src/jvmMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.jvm.kt
@@ -40,4 +40,4 @@
     override suspend fun handleCorruption(ex: CorruptionException): T {
         return produceNewData(ex)
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/DataStoreFactoryTest.kt b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/DataStoreFactoryTest.kt
index f6dcfbc..88163b9 100644
--- a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/DataStoreFactoryTest.kt
+++ b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/DataStoreFactoryTest.kt
@@ -108,4 +108,4 @@
 
         assertThat(store.data.first()).isEqualTo(migratedByte)
     }
-}
\ No newline at end of file
+}
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 b8a32d1..4d41170 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
@@ -119,4 +119,4 @@
 
     // Mutable wrapper around a byte
     data class ByteWrapper(var byte: Byte)
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SimpleActorTest.kt b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SimpleActorTest.kt
index 154e868..bb3b250 100644
--- a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SimpleActorTest.kt
+++ b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SimpleActorTest.kt
@@ -292,4 +292,4 @@
         @Volatile
         var int = 0
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SingleProcessDataStoreStressTest.kt b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SingleProcessDataStoreStressTest.kt
index 61ac515a..ffbfe17 100644
--- a/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SingleProcessDataStoreStressTest.kt
+++ b/datastore/datastore-core/src/jvmTest/kotlin/androidx/datastore/core/SingleProcessDataStoreStressTest.kt
@@ -243,4 +243,4 @@
             DataOutputStream(output).writeLong(t)
         }
     }
-}
\ No newline at end of file
+}
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 951f37c..40da0d2 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
@@ -144,4 +144,4 @@
             ).updateData { byte }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/Actual.native.kt b/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/Actual.native.kt
index 0962004..dff9e55 100644
--- a/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/Actual.native.kt
+++ b/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/Actual.native.kt
@@ -57,4 +57,4 @@
     }
 }
 
-internal actual fun ioDispatcher(): CoroutineDispatcher = Dispatchers.IO
\ No newline at end of file
+internal actual fun ioDispatcher(): CoroutineDispatcher = Dispatchers.IO
diff --git a/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.native.kt b/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.native.kt
index 3243c75..5151d5c 100644
--- a/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.native.kt
+++ b/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/NoOpCorruptionHandler.native.kt
@@ -26,4 +26,4 @@
     override suspend fun handleCorruption(ex: CorruptionException): T {
         throw ex
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.native.kt b/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.native.kt
index cb73664..3df5335 100644
--- a/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.native.kt
+++ b/datastore/datastore-core/src/nativeMain/kotlin/androidx/datastore/core/handlers/ReplaceFileCorruptionHandler.native.kt
@@ -37,4 +37,4 @@
     override suspend fun handleCorruption(ex: CorruptionException): T {
         return produceNewData(ex)
     }
-}
\ No newline at end of file
+}
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 085b1a6..efbaec3 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
@@ -100,4 +100,4 @@
             transformed
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/Preferences.kt b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/Preferences.kt
index bb40dc3..c1334ad 100644
--- a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/Preferences.kt
+++ b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/Preferences.kt
@@ -357,4 +357,4 @@
         // PreferencesDataStore.updateData()
         it.toMutablePreferences().apply { transform(this) }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesFactory.kt b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesFactory.kt
index d10b2b4..1d24c56 100644
--- a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesFactory.kt
+++ b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesFactory.kt
@@ -55,4 +55,4 @@
  */
 @JvmName("createMutable")
 public fun mutablePreferencesOf(vararg pairs: Preferences.Pair<*>): MutablePreferences =
-    MutablePreferences(startFrozen = false).apply { putAll(*pairs) }
\ No newline at end of file
+    MutablePreferences(startFrozen = false).apply { putAll(*pairs) }
diff --git a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesKeys.kt b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesKeys.kt
index c6ee440..1a0cf62 100644
--- a/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesKeys.kt
+++ b/datastore/datastore-preferences-core/src/commonMain/kotlin/androidx/datastore/preferences/core/PreferencesKeys.kt
@@ -112,4 +112,4 @@
  * @return the Preferences.Key<ByteArray> for [name]
  */
 @JvmName("byteArrayKey")
-public fun byteArrayPreferencesKey(name: String): Preferences.Key<ByteArray> = Preferences.Key(name)
\ No newline at end of file
+public fun byteArrayPreferencesKey(name: String): Preferences.Key<ByteArray> = Preferences.Key(name)
diff --git a/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesCompatibilityTest.kt b/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesCompatibilityTest.kt
index a7debae..e343d16 100644
--- a/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesCompatibilityTest.kt
+++ b/datastore/datastore-preferences-core/src/commonTest/kotlin/androidx/datastore/preferences/core/PreferencesCompatibilityTest.kt
@@ -52,4 +52,4 @@
         val protoPrefsFromBytes = PreferencesSerializer.readFrom(protoBuffer)
         assertEquals(expectedProto, protoPrefsFromBytes)
     }
-}
\ No newline at end of file
+}
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 6861ab4..710e522 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
@@ -205,4 +205,4 @@
 
         assertEquals(prefs, readPrefs)
     }
-}
\ No newline at end of file
+}
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 61d7c07..c2e9e7a 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
@@ -436,4 +436,4 @@
             prefs.toString()
         )
     }
-}
\ No newline at end of file
+}
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 d458300..a6cdacb 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
@@ -141,4 +141,4 @@
             produceFile = { produceFile().toFile() }
         )
     }
-}
\ No newline at end of file
+}
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 3ba4afd..4fe495e 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
@@ -111,4 +111,4 @@
             null -> throw CorruptionException("Value case is null.")
         }
     }
-}
\ No newline at end of file
+}
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 355b3c1..770c9a1 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
@@ -167,4 +167,4 @@
             preferencesOf(stringKey to "ABCDEF")
         )
     }
-}
\ No newline at end of file
+}
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 6a2a86b..7bc705a 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
@@ -141,4 +141,4 @@
             // variable
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences-core/src/nativeMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.native.kt b/datastore/datastore-preferences-core/src/nativeMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.native.kt
index 7f69d8f..ff6f3e5 100644
--- a/datastore/datastore-preferences-core/src/nativeMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.native.kt
+++ b/datastore/datastore-preferences-core/src/nativeMain/kotlin/androidx/datastore/preferences/core/PreferenceDataStoreFactory.native.kt
@@ -98,4 +98,4 @@
             scope = scope
         ))
     }
-}
\ No newline at end of file
+}
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 145b556..78a4666 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
@@ -167,4 +167,4 @@
             preferencesOf(stringKey to "ABCDEF")
         )
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences-proto/src/main/java/androidx/datastore/preferences/PreferencesMapCompat.kt b/datastore/datastore-preferences-proto/src/main/java/androidx/datastore/preferences/PreferencesMapCompat.kt
index 319024e1..87181a3 100644
--- a/datastore/datastore-preferences-proto/src/main/java/androidx/datastore/preferences/PreferencesMapCompat.kt
+++ b/datastore/datastore-preferences-proto/src/main/java/androidx/datastore/preferences/PreferencesMapCompat.kt
@@ -35,4 +35,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 225374a..ec5d7ae 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
@@ -119,4 +119,4 @@
             }.build().data().blockingFirst()
         ).isEqualTo(preferencesOf(intKey to 99))
     }
-}
\ No newline at end of file
+}
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 f3540b9..d44818f 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
@@ -178,4 +178,4 @@
     override suspend fun cleanUp() {
         migration.cleanUp().await()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegate.kt b/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegate.kt
index 2745344..3e95ec2 100644
--- a/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegate.kt
+++ b/datastore/datastore-preferences-rxjava2/src/main/java/androidx/datastore/preferences/rxjava2/RxPreferenceDataStoreDelegate.kt
@@ -110,4 +110,4 @@
             INSTANCE!!
         }
     }
-}
\ No newline at end of file
+}
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 74e85ff..a86dbc2 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
@@ -120,4 +120,4 @@
             }.build().data().blockingFirst()
         ).isEqualTo(preferencesOf(intKey to 99))
     }
-}
\ No newline at end of file
+}
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 57bef8b..bb66568 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
@@ -178,4 +178,4 @@
     override suspend fun cleanUp() {
         migration.cleanUp().await()
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegate.kt b/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegate.kt
index f6b199d..10be1a7 100644
--- a/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegate.kt
+++ b/datastore/datastore-preferences-rxjava3/src/main/java/androidx/datastore/preferences/rxjava3/RxPreferenceDataStoreDelegate.kt
@@ -110,4 +110,4 @@
             INSTANCE!!
         }
     }
-}
\ No newline at end of file
+}
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 031ec48..c0a24f9 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
@@ -129,4 +129,4 @@
 
         assertEquals(expectedPreferences, context.withMigrations.data.first())
     }
-}
\ No newline at end of file
+}
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 76f1db1..10b8d7d 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
@@ -450,4 +450,4 @@
         // here
         return File(prefsFile.path + ".bak")
     }
-}
\ No newline at end of file
+}
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 7532736..bd39ff0 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
@@ -110,4 +110,4 @@
             INSTANCE!!
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-preferences/src/commonMain/kotlin/androidx/datastore/preferences/PreferencesDataStoreDelegateUtils.kt b/datastore/datastore-preferences/src/commonMain/kotlin/androidx/datastore/preferences/PreferencesDataStoreDelegateUtils.kt
index dd12e64..292f82a 100644
--- a/datastore/datastore-preferences/src/commonMain/kotlin/androidx/datastore/preferences/PreferencesDataStoreDelegateUtils.kt
+++ b/datastore/datastore-preferences/src/commonMain/kotlin/androidx/datastore/preferences/PreferencesDataStoreDelegateUtils.kt
@@ -22,4 +22,4 @@
  * This is needed to have the native artifacts build. Otherwise there is no code in common and
  * the 'buildOnServer' task fails during our presubmits.
  */
-internal class PreferencesDataStoreDelegateUtils
\ No newline at end of file
+internal class PreferencesDataStoreDelegateUtils
diff --git a/datastore/datastore-proto/src/main/java/androidx/datastore/protos/ProtoSerializer.kt b/datastore/datastore-proto/src/main/java/androidx/datastore/protos/ProtoSerializer.kt
index eb25438..2218db3 100644
--- a/datastore/datastore-proto/src/main/java/androidx/datastore/protos/ProtoSerializer.kt
+++ b/datastore/datastore-proto/src/main/java/androidx/datastore/protos/ProtoSerializer.kt
@@ -49,4 +49,4 @@
     override suspend fun writeTo(t: T, output: OutputStream) {
         t.writeTo(output)
     }
-}
\ No newline at end of file
+}
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 f093509..f475e04 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
@@ -96,4 +96,4 @@
             file.inputStream().use { protoSerializer.readFrom(it) }
         }
     }
-}
\ No newline at end of file
+}
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 fb05a48..e4e1f0d 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
@@ -103,4 +103,4 @@
             ).build().data().blockingFirst()
         ).isEqualTo(1)
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreDelegate.kt b/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreDelegate.kt
index 3ab84ca..a9eb447 100644
--- a/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreDelegate.kt
+++ b/datastore/datastore-rxjava2/src/main/java/androidx/datastore/rxjava2/RxDataStoreDelegate.kt
@@ -113,4 +113,4 @@
             INSTANCE!!
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-rxjava2/src/test-common/java/androidx/datastore/rxjava2/TestingSerializer.kt b/datastore/datastore-rxjava2/src/test-common/java/androidx/datastore/rxjava2/TestingSerializer.kt
index 2dedd9a..c3bfd60 100644
--- a/datastore/datastore-rxjava2/src/test-common/java/androidx/datastore/rxjava2/TestingSerializer.kt
+++ b/datastore/datastore-rxjava2/src/test-common/java/androidx/datastore/rxjava2/TestingSerializer.kt
@@ -54,4 +54,4 @@
     }
 
     override val defaultValue: Byte = 0
-}
\ No newline at end of file
+}
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 aca2cd7..f74c702 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
@@ -103,4 +103,4 @@
             ).build().data().blockingFirst()
         ).isEqualTo(1)
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStore.kt b/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStore.kt
index 06229a7..cec4b2c 100644
--- a/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStore.kt
+++ b/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStore.kt
@@ -126,4 +126,4 @@
             }
         }.asSingle(scope.coroutineContext.minusKey(Job))
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreDelegate.kt b/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreDelegate.kt
index 767ae35..866b823 100644
--- a/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreDelegate.kt
+++ b/datastore/datastore-rxjava3/src/main/java/androidx/datastore/rxjava3/RxDataStoreDelegate.kt
@@ -113,4 +113,4 @@
             INSTANCE!!
         }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore-rxjava3/src/test-common/java/androidx/datastore/rxjava3/TestingSerializer.kt b/datastore/datastore-rxjava3/src/test-common/java/androidx/datastore/rxjava3/TestingSerializer.kt
index 5a51410..e850698 100644
--- a/datastore/datastore-rxjava3/src/test-common/java/androidx/datastore/rxjava3/TestingSerializer.kt
+++ b/datastore/datastore-rxjava3/src/test-common/java/androidx/datastore/rxjava3/TestingSerializer.kt
@@ -54,4 +54,4 @@
     }
 
     override val defaultValue: Byte = 0
-}
\ No newline at end of file
+}
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 e1057f7..2517c52 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
@@ -130,4 +130,4 @@
     override suspend fun writeTo(t: MySettings, output: OutputStream) {
         output.write(Json.encodeToString(t).encodeToByteArray())
     }
-}
\ No newline at end of file
+}
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 3ff3a6a..c30a313 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
@@ -95,4 +95,4 @@
                 }
         }
     }
-}
\ No newline at end of file
+}
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 476e5be..2162f87 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
@@ -116,4 +116,4 @@
 
         override suspend fun writeTo(t: Settings, output: OutputStream) = t.writeTo(output)
     }
-}
\ No newline at end of file
+}
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 0b68e58..bc1a6a1 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
@@ -163,4 +163,4 @@
     }
 
     override suspend fun writeTo(t: Settings, output: OutputStream) = t.writeTo(output)
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt
index 11ace8e..2ecff9e 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreDelegateTest.kt
@@ -144,4 +144,4 @@
             scope = scope
         )
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt
index 7eca1d1..cea2d7e 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/DataStoreFileTest.kt
@@ -31,4 +31,4 @@
         val expectedFile = File(context.filesDir, "datastore/name")
         assertThat(file.absolutePath).isEqualTo(expectedFile.absolutePath)
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/TestingSerializer.kt b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/TestingSerializer.kt
index ffc73f3..2465fe8 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/TestingSerializer.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/TestingSerializer.kt
@@ -54,4 +54,4 @@
         }
         output.write(t.toInt())
     }
-}
\ No newline at end of file
+}
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 51dd177..2220020 100644
--- a/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/migrations/SharedPreferencesMigrationTest.kt
+++ b/datastore/datastore/src/androidAndroidTest/kotlin/androidx/datastore/migrations/SharedPreferencesMigrationTest.kt
@@ -202,4 +202,4 @@
             scope = TestScope(UnconfinedTestDispatcher())
         ) { datastoreFile }
     }
-}
\ No newline at end of file
+}
diff --git a/datastore/datastore/src/commonMain/kotlin/androidx/datastore/DataStoreDelegateUtils.kt b/datastore/datastore/src/commonMain/kotlin/androidx/datastore/DataStoreDelegateUtils.kt
index 08047af..e22696f 100644
--- a/datastore/datastore/src/commonMain/kotlin/androidx/datastore/DataStoreDelegateUtils.kt
+++ b/datastore/datastore/src/commonMain/kotlin/androidx/datastore/DataStoreDelegateUtils.kt
@@ -22,4 +22,4 @@
  * This is needed to have the native artifacts build. Otherwise there is no code in common and
  * the 'buildOnServer' task fails during our presubmits.
  */
-internal class DataStoreDelegateUtils
\ No newline at end of file
+internal class DataStoreDelegateUtils
diff --git a/dynamicanimation/dynamicanimation-ktx/src/main/java/androidx/dynamicanimation/animation/DynamicAnimation.kt b/dynamicanimation/dynamicanimation-ktx/src/main/java/androidx/dynamicanimation/animation/DynamicAnimation.kt
index 8166c4e..df857c6 100644
--- a/dynamicanimation/dynamicanimation-ktx/src/main/java/androidx/dynamicanimation/animation/DynamicAnimation.kt
+++ b/dynamicanimation/dynamicanimation-ktx/src/main/java/androidx/dynamicanimation/animation/DynamicAnimation.kt
@@ -83,4 +83,4 @@
             setter.invoke(value)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiProcessBenchmark.kt b/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiProcessBenchmark.kt
index 5c54aa9c..8c7d9aa 100644
--- a/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiProcessBenchmark.kt
+++ b/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiProcessBenchmark.kt
@@ -121,4 +121,4 @@
         allEmojiMetadata.getSpans(0, text.length, EmojiSpan::class.java)
             .forEach { it.typefaceRasterizer.resetHasGlyphCache() }
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiStrings.kt b/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiStrings.kt
index fa6c533..1f31692 100644
--- a/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiStrings.kt
+++ b/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/EmojiStrings.kt
@@ -47,4 +47,4 @@
         }
         result
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/InitializeEmojiCompat.kt b/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/InitializeEmojiCompat.kt
index aec408a..43e7ed5 100644
--- a/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/InitializeEmojiCompat.kt
+++ b/emoji2/emoji2-benchmark/src/androidTest/java/androidx/emoji2/benchmark/text/InitializeEmojiCompat.kt
@@ -37,4 +37,4 @@
     })
     EmojiCompat.reset(config).load()
     latch.await(2, TimeUnit.SECONDS)
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/samples/src/main/java/androidx/emoji2/emojipicker/samples/MainActivity.kt b/emoji2/emoji2-emojipicker/samples/src/main/java/androidx/emoji2/emojipicker/samples/MainActivity.kt
index def8ee3..cd46f5d 100644
--- a/emoji2/emoji2-emojipicker/samples/src/main/java/androidx/emoji2/emojipicker/samples/MainActivity.kt
+++ b/emoji2/emoji2-emojipicker/samples/src/main/java/androidx/emoji2/emojipicker/samples/MainActivity.kt
@@ -97,4 +97,4 @@
             .putString(PREF_KEY_CUSTOM_EMOJI_FREQ, emoji2Frequency.entries.joinToString(SPLIT_CHAR))
             .commit()
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManagerTest.kt b/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManagerTest.kt
index bfbe8f3..ce4fbc9 100644
--- a/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManagerTest.kt
+++ b/emoji2/emoji2-emojipicker/src/androidTest/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManagerTest.kt
@@ -42,4 +42,4 @@
             "\u0023\uFE0F\u20E3"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/BundledEmojiListLoader.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/BundledEmojiListLoader.kt
index 65b90c6..84594c9 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/BundledEmojiListLoader.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/BundledEmojiListLoader.kt
@@ -136,4 +136,4 @@
         val categoryName: String,
         val emojiDataList: List<EmojiViewItem>
     )
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerBodyAdapter.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerBodyAdapter.kt
index de10ce6..8ad826c 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerBodyAdapter.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerBodyAdapter.kt
@@ -134,4 +134,4 @@
         )
         init?.invoke(it)
     }) {}
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerConstants.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerConstants.kt
index 0956f96..601f021 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerConstants.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerConstants.kt
@@ -32,4 +32,4 @@
 
     const val REMOVE_VIEW_EXCEPTION_MESSAGE =
         "Removing views from the EmojiPickerView is unsupported"
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerHeaderAdapter.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerHeaderAdapter.kt
index 4dac647..75921ca4 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerHeaderAdapter.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerHeaderAdapter.kt
@@ -78,4 +78,4 @@
     override fun getItemCount(): Int {
         return emojiPickerItems.numGroups
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerItems.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerItems.kt
index 7ac2aa6..9c7df41 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerItems.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerItems.kt
@@ -107,4 +107,4 @@
     }
 
     override fun iterator(): Iterator<ItemViewData> = groups.flatMap { it.getAll() }.iterator()
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerView.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerView.kt
index c7f1d07..b46c684 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerView.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiPickerView.kt
@@ -430,4 +430,4 @@
     override fun removeViewsInLayout(start: Int, count: Int) {
         throw UnsupportedOperationException(EmojiPickerConstants.REMOVE_VIEW_EXCEPTION_MESSAGE)
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiView.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiView.kt
index c242938..7891134 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiView.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiView.kt
@@ -177,4 +177,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiViewHolder.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiViewHolder.kt
index 94e4abc..f63400d 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiViewHolder.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/EmojiViewHolder.kt
@@ -122,4 +122,4 @@
 
     private fun makeEmojiViewItem(emoji: String) =
         EmojiViewItem(emoji, BundledEmojiListLoader.getEmojiVariantsLookup()[emoji] ?: listOf())
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/PopupViewHelper.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/PopupViewHelper.kt
index e000eb32..2ba24b8 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/PopupViewHelper.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/PopupViewHelper.kt
@@ -165,4 +165,4 @@
             paint?.let { drawCircle(width / 2f, height / 2f, radius, it) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiAsyncProvider.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiAsyncProvider.kt
index 2ef673f..a679446 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiAsyncProvider.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiAsyncProvider.kt
@@ -40,4 +40,4 @@
 
     override suspend fun getRecentEmojiList() =
         recentEmojiAsyncProvider.getRecentEmojiListAsync().await()
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiProvider.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiProvider.kt
index 1189b5f..ea575da 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiProvider.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/RecentEmojiProvider.kt
@@ -32,4 +32,4 @@
      * frequency to low click frequency.
      */
     suspend fun getRecentEmojiList(): List<String>
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/FileCache.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/FileCache.kt
index c3bfbf8..4042321 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/FileCache.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/FileCache.kt
@@ -142,4 +142,4 @@
                 /* flags= */ 0
             ).longVersionCode
     }
-}
\ No newline at end of file
+}
diff --git a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManager.kt b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManager.kt
index 9762e78..f5a8f4a 100644
--- a/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManager.kt
+++ b/emoji2/emoji2-emojipicker/src/main/java/androidx/emoji2/emojipicker/utils/UnicodeRenderableManager.kt
@@ -81,4 +81,4 @@
     }
 
     private fun String.takeIfHasGlyph() = takeIf { PaintCompat.hasGlyph(paint, this) }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-ktx/src/androidTest/java/androidx/fragment/app/FragmentViewModelLazyTest.kt b/fragment/fragment-ktx/src/androidTest/java/androidx/fragment/app/FragmentViewModelLazyTest.kt
index 504a5af..8803f35 100644
--- a/fragment/fragment-ktx/src/androidTest/java/androidx/fragment/app/FragmentViewModelLazyTest.kt
+++ b/fragment/fragment-ktx/src/androidTest/java/androidx/fragment/app/FragmentViewModelLazyTest.kt
@@ -137,4 +137,4 @@
             } as T
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-lint/src/main/java/androidx/fragment/lint/LintUtils.kt b/fragment/fragment-lint/src/main/java/androidx/fragment/lint/LintUtils.kt
index 6bd7c95..309123e 100644
--- a/fragment/fragment-lint/src/main/java/androidx/fragment/lint/LintUtils.kt
+++ b/fragment/fragment-lint/src/main/java/androidx/fragment/lint/LintUtils.kt
@@ -77,4 +77,4 @@
     } else {
         node
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/EmptyFragmentActivity.kt b/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/EmptyFragmentActivity.kt
index c1d6c7b..1a60987 100644
--- a/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/EmptyFragmentActivity.kt
+++ b/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/EmptyFragmentActivity.kt
@@ -53,4 +53,4 @@
         const val THEME_EXTRAS_BUNDLE_KEY = "androidx.fragment.app.testing.FragmentScenario" +
             ".EmptyFragmentActivity.THEME_EXTRAS_BUNDLE_KEY"
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/FragmentFactoryHolderViewModel.kt b/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/FragmentFactoryHolderViewModel.kt
index 00840ca..3e6e67d 100644
--- a/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/FragmentFactoryHolderViewModel.kt
+++ b/fragment/fragment-testing-manifest/src/main/java/androidx/fragment/app/testing/FragmentFactoryHolderViewModel.kt
@@ -52,4 +52,4 @@
             return viewModel
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioDialogFragmentTest.kt b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioDialogFragmentTest.kt
index d986e5e..89ec018 100644
--- a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioDialogFragmentTest.kt
+++ b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/FragmentScenarioDialogFragmentTest.kt
@@ -278,4 +278,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/OptionsMenuFragment.kt b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/OptionsMenuFragment.kt
index 4ab5079..e4fe305 100644
--- a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/OptionsMenuFragment.kt
+++ b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/OptionsMenuFragment.kt
@@ -36,4 +36,4 @@
         super.onCreateOptionsMenu(menu, inflater)
         inflater.inflate(R.menu.example_menu, menu)
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/ThemedFragment.kt b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/ThemedFragment.kt
index 40dda59..63eea80 100644
--- a/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/ThemedFragment.kt
+++ b/fragment/fragment-testing/src/androidTest/java/androidx/fragment/app/testing/ThemedFragment.kt
@@ -33,4 +33,4 @@
             attrs.recycle()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt
index f4ba719b..93c0389 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt
@@ -154,4 +154,4 @@
         val w = activity.window
         return w?.peekDecorView() != null
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/EpicenterTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/EpicenterTest.kt
index cc28826..c6b0840 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/EpicenterTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/EpicenterTest.kt
@@ -119,4 +119,4 @@
         }
         return view
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimatedContainerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimatedContainerTest.kt
index be9369c..4cdf138 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimatedContainerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimatedContainerTest.kt
@@ -112,4 +112,4 @@
             onDetachLatch.countDown()
         }
     }
-}
\ No newline at end of file
+}
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 7874c18..65b14e8 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
@@ -800,4 +800,4 @@
             drawnFirstCountDownLatch.countDown()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt
index 74c143b..de41c38 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentFocusTest.kt
@@ -179,4 +179,4 @@
             return animator
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
index ed669b4..4e287f7 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
@@ -355,4 +355,4 @@
 
         private const val TIMEOUT = 1000L
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt
index 6a83cf8..ecdf555 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentViewLifecycleOwnerTest.kt
@@ -185,4 +185,4 @@
     public class FragmentWithFactoryOverride : StrictViewFragment() {
         public override val defaultViewModelProviderFactory = FakeViewModelProviderFactory()
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackStackChangedListenerTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackStackChangedListenerTest.kt
index 370fad4..8c0a822 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackStackChangedListenerTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OnBackStackChangedListenerTest.kt
@@ -573,4 +573,4 @@
             assertThat(fragment2).isSameInstanceAs(fragmentManager.findFragmentById(R.id.content))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt
index eb41633..276a004 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/OptionsMenuFragmentTest.kt
@@ -652,4 +652,4 @@
             inflater.inflate(R.menu.example_menu, menu)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
index f9bcff3..ec14484 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
@@ -736,4 +736,4 @@
     }
 
     class SaveViewStateFragment : StrictViewFragment(R.layout.with_edit_text)
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/TargetFragmentLifeCycleTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/TargetFragmentLifeCycleTest.kt
index 15e5a3c..79a6ecc 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/TargetFragmentLifeCycleTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/TargetFragmentLifeCycleTest.kt
@@ -427,4 +427,4 @@
                 .that(target.calledCreate).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt
index 1edd340..f1ff6af 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt
@@ -49,4 +49,4 @@
     companion object {
         private const val STATE_KEY = "state"
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/ViewModelActivity.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/ViewModelActivity.kt
index b63f54d..a3872a4 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/ViewModelActivity.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/ViewModelActivity.kt
@@ -106,4 +106,4 @@
         const val FRAGMENT_TAG_2 = "f2"
         const val FRAGMENT_TAG_BACK_STACK = "back_stack"
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.kt b/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.kt
index b8b80b9..c83eb7b 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.kt
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.kt
@@ -950,4 +950,4 @@
             animatorSet.currentPlayTime = time
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.kt b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.kt
index 399643a..db51e04 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.kt
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.kt
@@ -119,4 +119,4 @@
     fun supportsTransition(): Boolean {
         return PLATFORM_IMPL != null || SUPPORT_IMPL != null
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/PredictiveBackControl.kt b/fragment/fragment/src/main/java/androidx/fragment/app/PredictiveBackControl.kt
index 81a1209..bbe9477 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/PredictiveBackControl.kt
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/PredictiveBackControl.kt
@@ -21,4 +21,4 @@
 @Retention(AnnotationRetention.BINARY)
 @Target(AnnotationTarget.FUNCTION)
 @RequiresOptIn(level = RequiresOptIn.Level.WARNING)
-annotation class PredictiveBackControl
\ No newline at end of file
+annotation class PredictiveBackControl
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.kt b/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.kt
index 9534df8..04f5674 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.kt
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.kt
@@ -790,4 +790,4 @@
             return newController
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/strictmode/TargetFragmentUsageViolation.kt b/fragment/fragment/src/main/java/androidx/fragment/app/strictmode/TargetFragmentUsageViolation.kt
index a5d1d4e..9e8ea3e 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/strictmode/TargetFragmentUsageViolation.kt
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/strictmode/TargetFragmentUsageViolation.kt
@@ -23,4 +23,4 @@
 abstract class TargetFragmentUsageViolation internal constructor(
     fragment: Fragment,
     message: String? = null
-) : Violation(fragment, message)
\ No newline at end of file
+) : Violation(fragment, message)
diff --git a/fragment/fragment/src/test/java/androidx/fragment/app/FragmentPagerActivity.kt b/fragment/fragment/src/test/java/androidx/fragment/app/FragmentPagerActivity.kt
index 06e5b8f..d6edee8 100644
--- a/fragment/fragment/src/test/java/androidx/fragment/app/FragmentPagerActivity.kt
+++ b/fragment/fragment/src/test/java/androidx/fragment/app/FragmentPagerActivity.kt
@@ -79,4 +79,4 @@
             return ViewFragment()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/fragment/src/test/java/androidx/fragment/app/FragmentRoboAnimTest.kt b/fragment/fragment/src/test/java/androidx/fragment/app/FragmentRoboAnimTest.kt
index 8813665..641312d 100644
--- a/fragment/fragment/src/test/java/androidx/fragment/app/FragmentRoboAnimTest.kt
+++ b/fragment/fragment/src/test/java/androidx/fragment/app/FragmentRoboAnimTest.kt
@@ -78,4 +78,4 @@
         }
         return null
     }
-}
\ No newline at end of file
+}
diff --git a/fragment/integration-tests/testapp/src/main/java/androidx/fragment/testapp/basicAnimators/BasicFragmentAnimatorFragment.kt b/fragment/integration-tests/testapp/src/main/java/androidx/fragment/testapp/basicAnimators/BasicFragmentAnimatorFragment.kt
index 10cfa82..cf2e8ef 100644
--- a/fragment/integration-tests/testapp/src/main/java/androidx/fragment/testapp/basicAnimators/BasicFragmentAnimatorFragment.kt
+++ b/fragment/integration-tests/testapp/src/main/java/androidx/fragment/testapp/basicAnimators/BasicFragmentAnimatorFragment.kt
@@ -92,4 +92,4 @@
             view.setBackgroundColor(myarg)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt b/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt
index de68697..1e997e2 100644
--- a/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt
+++ b/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetPreviews.kt
@@ -64,4 +64,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt b/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt
index 20f1961..a41f02ec 100644
--- a/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt
+++ b/glance/glance-appwidget-preview/src/androidTest/kotlin/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapterTest.kt
@@ -130,4 +130,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/ComposableInvoker.kt b/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/ComposableInvoker.kt
index 8505a8f..799ee8e 100644
--- a/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/ComposableInvoker.kt
+++ b/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/ComposableInvoker.kt
@@ -202,4 +202,4 @@
             throw ClassNotFoundException("Composable Method '$className.$methodName' not found", e)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt b/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt
index 53c5222..d484f5f 100644
--- a/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt
+++ b/glance/glance-appwidget-preview/src/main/java/androidx/glance/appwidget/preview/GlanceAppWidgetViewAdapter.kt
@@ -77,4 +77,4 @@
 
         init(className, methodName)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ActionAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ActionAppWidget.kt
index 13498e5..4c26019 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ActionAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ActionAppWidget.kt
@@ -273,4 +273,4 @@
         super.onReceive(context, intent)
         Log.d(this::class.simpleName, "Action Demo Broadcast: $intent")
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DefaultStateAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DefaultStateAppWidget.kt
index c4cdd7a..95e7e85f 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DefaultStateAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DefaultStateAppWidget.kt
@@ -88,4 +88,4 @@
 
 class DefaultStateAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = DefaultStateAppWidget()
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DemoApplication.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DemoApplication.kt
index 1eb82f6..e0d82a9 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DemoApplication.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/DemoApplication.kt
@@ -24,4 +24,4 @@
         StrictMode.enableDefaults()
         super.onCreate()
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/GlanceAppWidgetDemoActivity.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/GlanceAppWidgetDemoActivity.kt
index 801f260..1586684 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/GlanceAppWidgetDemoActivity.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/GlanceAppWidgetDemoActivity.kt
@@ -187,4 +187,4 @@
 data class AppWidgetDesc(
     val appWidgetId: GlanceId,
     val sizes: List<DpSize>,
-)
\ No newline at end of file
+)
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ImageAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ImageAppWidget.kt
index fddee1b..4409f8c 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ImageAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ImageAppWidget.kt
@@ -116,4 +116,4 @@
 
 class ImageAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = ImageAppWidget()
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ProgressIndicatorAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ProgressIndicatorAppWidget.kt
index 171a220..065cbe6 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ProgressIndicatorAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ProgressIndicatorAppWidget.kt
@@ -141,4 +141,4 @@
     )
 
     val colors = ColorProviders(light = LightColors, dark = DarkColors)
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResizingAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResizingAppWidget.kt
index b801043..e28a5cc 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResizingAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResizingAppWidget.kt
@@ -121,4 +121,4 @@
 
 class ResizingAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = ResizingAppWidget()
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResponsiveAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResponsiveAppWidget.kt
index aaf9c38..0587fac 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResponsiveAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResponsiveAppWidget.kt
@@ -177,4 +177,4 @@
 
 class ResponsiveAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = ResponsiveAppWidget()
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/RippleAppWidget.kt b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/RippleAppWidget.kt
index c84c97f..d25e148 100644
--- a/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/RippleAppWidget.kt
+++ b/glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/RippleAppWidget.kt
@@ -203,4 +203,4 @@
 
 class RippleAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = RippleAppWidget()
-}
\ No newline at end of file
+}
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 74acc8e..ba9cbef 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
@@ -279,4 +279,4 @@
 
 class ScrollableAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = ScrollableAppWidget()
-}
\ No newline at end of file
+}
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 6998de4..8ca035a 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
@@ -119,4 +119,4 @@
 
 class VerticalGridAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = VerticalGridAppWidget()
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/integration-tests/macrobenchmark/src/main/java/androidx/glance/appwidget/macrobenchmark/AppWidgetUpdateBenchmark.kt b/glance/glance-appwidget/integration-tests/macrobenchmark/src/main/java/androidx/glance/appwidget/macrobenchmark/AppWidgetUpdateBenchmark.kt
index f354fdf..ceed3e9 100644
--- a/glance/glance-appwidget/integration-tests/macrobenchmark/src/main/java/androidx/glance/appwidget/macrobenchmark/AppWidgetUpdateBenchmark.kt
+++ b/glance/glance-appwidget/integration-tests/macrobenchmark/src/main/java/androidx/glance/appwidget/macrobenchmark/AppWidgetUpdateBenchmark.kt
@@ -86,4 +86,4 @@
         fun parameters() =
             listOf(arrayOf(StartupMode.COLD), arrayOf(StartupMode.WARM))
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/samples/src/main/java/androidx/glance/appwidget/samples/GlanceAppWidgetSamples.kt b/glance/glance-appwidget/samples/src/main/java/androidx/glance/appwidget/samples/GlanceAppWidgetSamples.kt
index a31aa95..2b0f690 100644
--- a/glance/glance-appwidget/samples/src/main/java/androidx/glance/appwidget/samples/GlanceAppWidgetSamples.kt
+++ b/glance/glance-appwidget/samples/src/main/java/androidx/glance/appwidget/samples/GlanceAppWidgetSamples.kt
@@ -78,4 +78,4 @@
             MyWidget().updateAll(context)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt
index b854dfd..f3d526e 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CheckBoxTest.kt
@@ -149,4 +149,4 @@
     }
 
     private fun Dp.toPx() = toPixels(context.resources.displayMetrics)
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt
index 551c543..ed76d96 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/CoroutineBroadcastReceiverTest.kt
@@ -107,4 +107,4 @@
         const val BROADCAST_ACTION = "androidx.glance.appwidget.utils.TEST_ACTION"
         const val EXTRA_STRING = "extra_string"
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/GlanceAppWidgetManagerTest.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/GlanceAppWidgetManagerTest.kt
index 0656823..1181f98 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/GlanceAppWidgetManagerTest.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/GlanceAppWidgetManagerTest.kt
@@ -137,4 +137,4 @@
 
 private class DummyGlanceAppWidgetReceiver : GlanceAppWidgetReceiver() {
     override val glanceAppWidget: GlanceAppWidget = TestGlanceAppWidget
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
index 2b819fa..bb96d75 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/LazyColumnTest.kt
@@ -664,4 +664,4 @@
     // LazyColumn
     val alignmentView = assertIs<FrameLayout>(getUnboxedListItem(itemPosition))
     return alignmentView.getChildAt(viewPosition).getTargetView()
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt
index 41561f8..3a3f270 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/RemoteCollectionItemsTest.kt
@@ -109,4 +109,4 @@
                 .build()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
index 35ef162..0c468152 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ResourceResolutionTest.kt
@@ -96,4 +96,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ScreenshotsTests.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ScreenshotsTests.kt
index 23379d6..4ac3e32 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ScreenshotsTests.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/ScreenshotsTests.kt
@@ -39,4 +39,4 @@
     rootView.draw(canvas)
 
     assertBitmapAgainstGolden(bmp, expectedGolden, MSSIMMatcher(threshold))
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt
index cf36c45..5ce1e69 100644
--- a/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt
+++ b/glance/glance-appwidget/src/androidTest/kotlin/androidx/glance/appwidget/WithNightMode.kt
@@ -70,4 +70,4 @@
 }
 
 private val Description.testMethod: Method
-    get() = testClass.getMethod(methodName)
\ No newline at end of file
+    get() = testClass.getMethod(methodName)
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AlignmentModifier.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AlignmentModifier.kt
index 304c783..a0f53c3 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AlignmentModifier.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AlignmentModifier.kt
@@ -19,4 +19,4 @@
 import androidx.glance.GlanceModifier
 import androidx.glance.layout.Alignment
 
-internal class AlignmentModifier(val alignment: Alignment) : GlanceModifier.Element
\ No newline at end of file
+internal class AlignmentModifier(val alignment: Alignment) : GlanceModifier.Element
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetModifiers.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetModifiers.kt
index b035845..ace6d64 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetModifiers.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/AppWidgetModifiers.kt
@@ -31,4 +31,4 @@
  * the Android View meaning of enabled.
  */
 internal fun GlanceModifier.enabled(enabled: Boolean) = this.then(EnabledModifier(enabled))
-internal data class EnabledModifier(val enabled: Boolean) : GlanceModifier.Element
\ No newline at end of file
+internal data class EnabledModifier(val enabled: Boolean) : GlanceModifier.Element
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CompositionLocals.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CompositionLocals.kt
index 45be98b..d3a3e8f 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CompositionLocals.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CompositionLocals.kt
@@ -26,4 +26,4 @@
  * See [AppWidgetManager#getAppWidgetOptions] for details
  */
 val LocalAppWidgetOptions: ProvidableCompositionLocal<Bundle> =
-    compositionLocalOf { Bundle() }
\ No newline at end of file
+    compositionLocalOf { Bundle() }
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt
index b963763..673fe9b 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/CoroutineBroadcastReceiver.kt
@@ -63,4 +63,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceRemoteViewsService.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceRemoteViewsService.kt
index 2f0d9d6..cdaf208 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceRemoteViewsService.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/GlanceRemoteViewsService.kt
@@ -260,4 +260,4 @@
             }
             .build()
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/IgnoreResult.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/IgnoreResult.kt
index 63414ce..59062de 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/IgnoreResult.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/IgnoreResult.kt
@@ -54,4 +54,4 @@
         if (children.any { it.shouldIgnoreResult() }) return true
     }
     return false
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/MyPackageReplacedReceiver.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/MyPackageReplacedReceiver.kt
index d341bdc..fc925c8 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/MyPackageReplacedReceiver.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/MyPackageReplacedReceiver.kt
@@ -34,4 +34,4 @@
             manager.cleanReceivers()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/TintAndAlphaColorFilterParams.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/TintAndAlphaColorFilterParams.kt
index 03a01af..d50e334 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/TintAndAlphaColorFilterParams.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/TintAndAlphaColorFilterParams.kt
@@ -26,4 +26,4 @@
 internal class TintAndAlphaColorFilterParams(val colorProvider: ColorProvider) : ColorFilterParams {
     override fun toString() =
         "TintAndAlphaColorFilterParams(colorProvider=$colorProvider))"
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/Utils.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/Utils.kt
index cea6860..48771c7 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/Utils.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/Utils.kt
@@ -67,4 +67,4 @@
     return viewId
 }
 
-internal const val GlanceAppWidgetTag = "GlanceAppWidget"
\ No newline at end of file
+internal const val GlanceAppWidgetTag = "GlanceAppWidget"
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/WidgetLayout.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/WidgetLayout.kt
index 54daf92..49e0d30 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/WidgetLayout.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/WidgetLayout.kt
@@ -366,4 +366,4 @@
         } else {
             LayoutProto.DimensionType.WRAP
         }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/ActionCallbackBroadcastReceiver.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/ActionCallbackBroadcastReceiver.kt
index 5e5d3bf..726772e 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/ActionCallbackBroadcastReceiver.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/ActionCallbackBroadcastReceiver.kt
@@ -95,4 +95,4 @@
             return this
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/InvisibleActionTrampolineActivity.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/InvisibleActionTrampolineActivity.kt
index 9c3a42b..0462188 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/InvisibleActionTrampolineActivity.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/InvisibleActionTrampolineActivity.kt
@@ -30,4 +30,4 @@
         super.onCreate(savedInstanceState)
         launchTrampolineAction(intent)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/LambdaActionBroadcasts.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/LambdaActionBroadcasts.kt
index ebc4cde..c409171 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/LambdaActionBroadcasts.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/action/LambdaActionBroadcasts.kt
@@ -40,4 +40,4 @@
         .setAction(ActionTriggerLambda)
         .putExtra(ExtraActionKey, actionKey)
         .putExtra(ExtraAppWidgetId, appWidgetId)
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonApi31Impl.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonApi31Impl.kt
index c4b04e0..a3573cf 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonApi31Impl.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonApi31Impl.kt
@@ -27,4 +27,4 @@
     fun setCompoundButtonChecked(rv: RemoteViews, viewId: Int, checked: Boolean) {
         rv.setCompoundButtonChecked(viewId, checked)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonTranslator.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonTranslator.kt
index 0ec0c95..f92be40 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonTranslator.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/CompoundButtonTranslator.kt
@@ -78,4 +78,4 @@
 
 internal fun RemoteViews.setImageViewColorFilter(viewId: Int, color: Color) {
     setImageViewColorFilter(viewId, color.toArgb())
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt
index e88f348..eda245b 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/LazyVerticalGridTranslator.kt
@@ -146,4 +146,4 @@
     GridCells.Fixed(4) -> LayoutType.VerticalGridFourColumns
     GridCells.Fixed(5) -> LayoutType.VerticalGridFiveColumns
     else -> LayoutType.VerticalGridAutoFit
-  }
\ No newline at end of file
+  }
diff --git a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/TextTranslator.kt b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/TextTranslator.kt
index 8a75049..6a219a7 100644
--- a/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/TextTranslator.kt
+++ b/glance/glance-appwidget/src/main/java/androidx/glance/appwidget/translators/TextTranslator.kt
@@ -193,4 +193,4 @@
     fun setTextViewGravity(rv: RemoteViews, viewId: Int, gravity: Int) {
         rv.setTextViewGravity(viewId, gravity)
     }
-}
\ No newline at end of file
+}
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 310431e..bd64160 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
@@ -83,4 +83,4 @@
 
     // Placeholder mutable class that does not implement toString()
     private class PlaceholderMutableClass(var value: Boolean) : Serializable
-}
\ No newline at end of file
+}
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 378cecf..cd0a03e 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
@@ -357,4 +357,4 @@
         assertIs<TextView>(sizeView)
         return sizeView
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/GlanceRemoteViewsTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/GlanceRemoteViewsTest.kt
index e080178..6d8d4f0 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/GlanceRemoteViewsTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/GlanceRemoteViewsTest.kt
@@ -102,4 +102,4 @@
         assertIs<TextView>(view)
         Truth.assertThat(view.text.toString()).isEqualTo("No error thrown")
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/LambdaActionTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/LambdaActionTest.kt
index 3c2d2ed..9685bb7 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/LambdaActionTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/LambdaActionTest.kt
@@ -42,4 +42,4 @@
 
         assertThat(lambdas.size).isEqualTo(3)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/SizeBoxTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/SizeBoxTest.kt
index d72e0f2..769f691 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/SizeBoxTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/SizeBoxTest.kt
@@ -272,4 +272,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CheckBoxBackportTranslatorTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CheckBoxBackportTranslatorTest.kt
index eb4b190..bacbc34 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CheckBoxBackportTranslatorTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CheckBoxBackportTranslatorTest.kt
@@ -240,4 +240,4 @@
             val checkboxRoot = assertIs<ViewGroup>(context.applyRemoteViews(rv))
             assertThat(checkboxRoot.contentDescription).isEqualTo("Custom checkbox description")
         }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CompoundButtonTranslatorTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CompoundButtonTranslatorTest.kt
index 7b0067b..676b3e1 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CompoundButtonTranslatorTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/CompoundButtonTranslatorTest.kt
@@ -70,4 +70,4 @@
         assertThat(colorProvider.getColor(darkContext, isChecked = true))
             .isSameColorAs("#FFFF00")
     }
-}
\ No newline at end of file
+}
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 cc9f17e..53b21bb 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
@@ -292,4 +292,4 @@
             shadowOf(it.drawable).createdFromResId ==
                 androidx.glance.appwidget.R.drawable.glance_btn_radio_material_anim
         }
-}
\ No newline at end of file
+}
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 fbb441e..86ceb0f 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
@@ -303,4 +303,4 @@
             shadowOf(it.drawable).createdFromResId ==
                 androidx.glance.appwidget.R.drawable.glance_switch_track
         }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/TextTranslatorTest.kt b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/TextTranslatorTest.kt
index 69176c6..8a48f5e 100644
--- a/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/TextTranslatorTest.kt
+++ b/glance/glance-appwidget/src/test/kotlin/androidx/glance/appwidget/translators/TextTranslatorTest.kt
@@ -503,4 +503,4 @@
         assertIs<T>(obj)
         check(obj)
     }
-}
\ No newline at end of file
+}
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 dfe943a..e58fdc7 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
@@ -114,4 +114,4 @@
         assertThat(ColorProvider(Color.Blue, Color.Red).getColor(context))
             .isSameColorAs(Color.Red)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-material3/src/main/java/androidx/glance/material3/Material3Themes.kt b/glance/glance-material3/src/main/java/androidx/glance/material3/Material3Themes.kt
index ad4718f..ea90a7c 100644
--- a/glance/glance-material3/src/main/java/androidx/glance/material3/Material3Themes.kt
+++ b/glance/glance-material3/src/main/java/androidx/glance/material3/Material3Themes.kt
@@ -117,4 +117,4 @@
         inverseSurface = ColorProvider(color = scheme.inverseSurface),
         inversePrimary = ColorProvider(color = scheme.inversePrimary),
     )
-}
\ No newline at end of file
+}
diff --git a/glance/glance-preview/src/main/java/androidx/glance/preview/ExperimentalGlancePreviewApi.kt b/glance/glance-preview/src/main/java/androidx/glance/preview/ExperimentalGlancePreviewApi.kt
index 0a5ac68..822c9bf 100644
--- a/glance/glance-preview/src/main/java/androidx/glance/preview/ExperimentalGlancePreviewApi.kt
+++ b/glance/glance-preview/src/main/java/androidx/glance/preview/ExperimentalGlancePreviewApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is experimental and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalGlancePreviewApi
\ No newline at end of file
+annotation class ExperimentalGlancePreviewApi
diff --git a/glance/glance-template/src/main/java/androidx/glance/template/FreeformTemplateLayouts.kt b/glance/glance-template/src/main/java/androidx/glance/template/FreeformTemplateLayouts.kt
index 3b398c1..5bb9896 100644
--- a/glance/glance-template/src/main/java/androidx/glance/template/FreeformTemplateLayouts.kt
+++ b/glance/glance-template/src/main/java/androidx/glance/template/FreeformTemplateLayouts.kt
@@ -103,4 +103,4 @@
     }
 
     return result
-}
\ No newline at end of file
+}
diff --git a/glance/glance-template/src/main/java/androidx/glance/template/ListTemplateData.kt b/glance/glance-template/src/main/java/androidx/glance/template/ListTemplateData.kt
index 1d0de24..de58c1f 100644
--- a/glance/glance-template/src/main/java/androidx/glance/template/ListTemplateData.kt
+++ b/glance/glance-template/src/main/java/androidx/glance/template/ListTemplateData.kt
@@ -121,4 +121,4 @@
          */
         val Brief: ListStyle = ListStyle(1)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt b/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt
index a585320..ff743c4 100644
--- a/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt
+++ b/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/FirstGlancePreview.kt
@@ -62,4 +62,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt b/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt
index debe385..5be15d8 100644
--- a/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt
+++ b/glance/glance-wear-tiles-preview/src/androidTest/kotlin/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapterTest.kt
@@ -107,4 +107,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/ComposableInvoker.kt b/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/ComposableInvoker.kt
index 4fc04d9..2105f3c 100644
--- a/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/ComposableInvoker.kt
+++ b/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/ComposableInvoker.kt
@@ -202,4 +202,4 @@
             throw ClassNotFoundException("Composable Method '$className.$methodName' not found", e)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt b/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt
index 944d3ed..0f9ece1 100644
--- a/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt
+++ b/glance/glance-wear-tiles-preview/src/main/java/androidx/glance/wear/tiles/preview/GlanceTileServiceViewAdapter.kt
@@ -107,4 +107,4 @@
 
         init(className, methodName)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarActivity.kt b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarActivity.kt
index 54fe5bc..e19ada2 100644
--- a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarActivity.kt
+++ b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarActivity.kt
@@ -34,4 +34,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarTileService.kt b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarTileService.kt
index f178143..7fc14dc 100644
--- a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarTileService.kt
+++ b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/CalendarTileService.kt
@@ -99,4 +99,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 4b6af16..4f4f5bb 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
@@ -137,4 +137,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/HelloTileService.kt b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/HelloTileService.kt
index bf46887..bb437dd 100644
--- a/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/HelloTileService.kt
+++ b/glance/glance-wear-tiles/integration-tests/demos/src/main/java/androidx/glance/wear/tiles/demos/HelloTileService.kt
@@ -69,4 +69,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 92bff5a..d7b2b7d 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
@@ -86,4 +86,4 @@
         override fun getItemCount(): Int = NUM_PAGES
         override fun createFragment(position: Int): Fragment = TilePageFragment(fa, position)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/src/androidTest/kotlin/androidx/glance/wear/tiles/ScreenshotTests.kt b/glance/glance-wear-tiles/src/androidTest/kotlin/androidx/glance/wear/tiles/ScreenshotTests.kt
index d5f8bc0..b40cee8 100644
--- a/glance/glance-wear-tiles/src/androidTest/kotlin/androidx/glance/wear/tiles/ScreenshotTests.kt
+++ b/glance/glance-wear-tiles/src/androidTest/kotlin/androidx/glance/wear/tiles/ScreenshotTests.kt
@@ -449,4 +449,4 @@
     }
 
     internal class UnSupportedModifier() : GlanceModifier.Element
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/CompositionLocals.kt b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/CompositionLocals.kt
index 233dab9..a2d78b8 100644
--- a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/CompositionLocals.kt
+++ b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/CompositionLocals.kt
@@ -22,4 +22,4 @@
  * Time interval of the glance tile UI being generated.
  */
 public val LocalTimeInterval =
-    staticCompositionLocalOf<TimeInterval?> { error("No default time interval") }
\ No newline at end of file
+    staticCompositionLocalOf<TimeInterval?> { error("No default time interval") }
diff --git a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/ExperimentalGlanceWearTilesApi.kt b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/ExperimentalGlanceWearTilesApi.kt
index 8966090..66f3d01 100644
--- a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/ExperimentalGlanceWearTilesApi.kt
+++ b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/ExperimentalGlanceWearTilesApi.kt
@@ -18,4 +18,4 @@
 
 @RequiresOptIn("This API is experimental and is likely to change in the future.")
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalGlanceWearTilesApi
\ No newline at end of file
+annotation class ExperimentalGlanceWearTilesApi
diff --git a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/GlanceWearTiles.kt b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/GlanceWearTiles.kt
index ac1bded..550115c 100644
--- a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/GlanceWearTiles.kt
+++ b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/GlanceWearTiles.kt
@@ -145,4 +145,4 @@
                 errorUiLayout,
                 androidx.wear.tiles.ResourceBuilders.Resources.Builder())
         }
-    }
\ No newline at end of file
+    }
diff --git a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt
index b0a0795c..557632d 100644
--- a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt
+++ b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt
@@ -173,4 +173,4 @@
         }
         else -> error("Unknown image provider type: ${this.javaClass.canonicalName}")
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/TimelineMode.kt b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/TimelineMode.kt
index a4e8c81..3265efd 100644
--- a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/TimelineMode.kt
+++ b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/TimelineMode.kt
@@ -70,4 +70,4 @@
         public override fun toString(): String =
             "TimelineMode.TimeBoundEntries(timeIntervals=$timeIntervals)"
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/state/GlanceWearTilesState.kt b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/state/GlanceWearTilesState.kt
index cbb18a9..c40b7f1 100644
--- a/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/state/GlanceWearTilesState.kt
+++ b/glance/glance-wear-tiles/src/main/java/androidx/glance/wear/tiles/state/GlanceWearTilesState.kt
@@ -62,4 +62,4 @@
 ): T {
     require(glanceId is WearTileId) { "The glance ID is not the one of a wear tile" }
     return GlanceState.getValue(context, definition, glanceId.tileServiceClass.name)
-}
\ No newline at end of file
+}
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 6f88fd0..db79abb 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
@@ -74,4 +74,4 @@
         const val density = 2f
         const val dimensionInDp = 3f
     }
-}
\ No newline at end of file
+}
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 8f27c64..a3249fa 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
@@ -386,4 +386,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 d159631..203ec57 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
@@ -51,4 +51,4 @@
         assertThat(intervals.elementAt(3).start).isEqualTo(time4)
         assertThat(intervals.elementAt(3).end.toEpochMilli()).isEqualTo(Long.MAX_VALUE)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/androidTest/kotlin/androidx/glance/session/GlanceSessionManagerTest.kt b/glance/glance/src/androidTest/kotlin/androidx/glance/session/GlanceSessionManagerTest.kt
index 78fc16b..3f4fa05 100644
--- a/glance/glance/src/androidTest/kotlin/androidx/glance/session/GlanceSessionManagerTest.kt
+++ b/glance/glance/src/androidTest/kotlin/androidx/glance/session/GlanceSessionManagerTest.kt
@@ -236,4 +236,4 @@
     }
 }
 
-private suspend fun <T> Flow<T?>.firstNotNull() = first { it != null }!!
\ No newline at end of file
+private suspend fun <T> Flow<T?>.firstNotNull() = first { it != null }!!
diff --git a/glance/glance/src/main/java/androidx/glance/Button.kt b/glance/glance/src/main/java/androidx/glance/Button.kt
index 57c9fd2..ff70130 100644
--- a/glance/glance/src/main/java/androidx/glance/Button.kt
+++ b/glance/glance/src/main/java/androidx/glance/Button.kt
@@ -203,4 +203,4 @@
         backgroundColor = backgroundColor,
         contentColor = contentColor
     )
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/main/java/androidx/glance/Emittables.kt b/glance/glance/src/main/java/androidx/glance/Emittables.kt
index 9e549ca..52a538a 100644
--- a/glance/glance/src/main/java/androidx/glance/Emittables.kt
+++ b/glance/glance/src/main/java/androidx/glance/Emittables.kt
@@ -42,4 +42,4 @@
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
 abstract class EmittableLazyItemWithChildren : EmittableWithChildren() {
     var alignment: Alignment = Alignment.CenterStart
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/main/java/androidx/glance/GlanceComposable.kt b/glance/glance/src/main/java/androidx/glance/GlanceComposable.kt
index b3b877c..79defe9 100644
--- a/glance/glance/src/main/java/androidx/glance/GlanceComposable.kt
+++ b/glance/glance/src/main/java/androidx/glance/GlanceComposable.kt
@@ -32,4 +32,4 @@
     AnnotationTarget.TYPE,
     AnnotationTarget.TYPE_PARAMETER,
 )
-annotation class GlanceComposable
\ No newline at end of file
+annotation class GlanceComposable
diff --git a/glance/glance/src/main/java/androidx/glance/GlanceId.kt b/glance/glance/src/main/java/androidx/glance/GlanceId.kt
index 60d0f92..872b067 100644
--- a/glance/glance/src/main/java/androidx/glance/GlanceId.kt
+++ b/glance/glance/src/main/java/androidx/glance/GlanceId.kt
@@ -17,4 +17,4 @@
 package androidx.glance
 
 /** Opaque object used to describe a glance view. */
-interface GlanceId
\ No newline at end of file
+interface GlanceId
diff --git a/glance/glance/src/main/java/androidx/glance/GlanceModifier.kt b/glance/glance/src/main/java/androidx/glance/GlanceModifier.kt
index bf8ffc9..ddc1c74 100644
--- a/glance/glance/src/main/java/androidx/glance/GlanceModifier.kt
+++ b/glance/glance/src/main/java/androidx/glance/GlanceModifier.kt
@@ -125,4 +125,4 @@
     override fun toString(): String = "[" + foldIn("") { acc, element ->
         if (acc.isEmpty()) element.toString() else "$acc, $element"
     } + "]"
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/main/java/androidx/glance/action/LambdaAction.kt b/glance/glance/src/main/java/androidx/glance/action/LambdaAction.kt
index 8076cd7..525e618 100644
--- a/glance/glance/src/main/java/androidx/glance/action/LambdaAction.kt
+++ b/glance/glance/src/main/java/androidx/glance/action/LambdaAction.kt
@@ -43,4 +43,4 @@
 ): Action {
     val finalKey = if (!key.isNullOrEmpty()) key else currentCompositeKeyHash.toString()
     return LambdaAction(finalKey, block)
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/main/java/androidx/glance/color/DayNightColorProviders.kt b/glance/glance/src/main/java/androidx/glance/color/DayNightColorProviders.kt
index aa1e76c..32fe325 100644
--- a/glance/glance/src/main/java/androidx/glance/color/DayNightColorProviders.kt
+++ b/glance/glance/src/main/java/androidx/glance/color/DayNightColorProviders.kt
@@ -40,4 +40,4 @@
 val Context.isNightMode: Boolean
     @RestrictTo(RestrictTo.Scope.LIBRARY)
     get() = (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) ==
-        Configuration.UI_MODE_NIGHT_YES
\ No newline at end of file
+        Configuration.UI_MODE_NIGHT_YES
diff --git a/glance/glance/src/main/java/androidx/glance/layout/SizeModifiers.kt b/glance/glance/src/main/java/androidx/glance/layout/SizeModifiers.kt
index 1142d0b..f64ee76 100644
--- a/glance/glance/src/main/java/androidx/glance/layout/SizeModifiers.kt
+++ b/glance/glance/src/main/java/androidx/glance/layout/SizeModifiers.kt
@@ -96,4 +96,4 @@
     this.wrapContentHeight().wrapContentWidth()
 
 /** Set both the width and height to the maximum available space. */
-fun GlanceModifier.fillMaxSize(): GlanceModifier = this.fillMaxWidth().fillMaxHeight()
\ No newline at end of file
+fun GlanceModifier.fillMaxSize(): GlanceModifier = this.fillMaxWidth().fillMaxHeight()
diff --git a/glance/glance/src/main/java/androidx/glance/semantics/SemanticsProperties.kt b/glance/glance/src/main/java/androidx/glance/semantics/SemanticsProperties.kt
index 235baa1..e40a921 100644
--- a/glance/glance/src/main/java/androidx/glance/semantics/SemanticsProperties.kt
+++ b/glance/glance/src/main/java/androidx/glance/semantics/SemanticsProperties.kt
@@ -113,4 +113,4 @@
     fun <T> getOrNull(key: SemanticsPropertyKey<T>): T? {
         return getOrElseNullable(key) { null }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/main/java/androidx/glance/session/IdleEventBroadcastReceiver.kt b/glance/glance/src/main/java/androidx/glance/session/IdleEventBroadcastReceiver.kt
index 372f57c..7929994 100644
--- a/glance/glance/src/main/java/androidx/glance/session/IdleEventBroadcastReceiver.kt
+++ b/glance/glance/src/main/java/androidx/glance/session/IdleEventBroadcastReceiver.kt
@@ -89,4 +89,4 @@
     } finally {
         context.unregisterReceiver(idleReceiver)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/main/java/androidx/glance/session/InteractiveFrameClock.kt b/glance/glance/src/main/java/androidx/glance/session/InteractiveFrameClock.kt
index 806d974..58f3a1b 100644
--- a/glance/glance/src/main/java/androidx/glance/session/InteractiveFrameClock.kt
+++ b/glance/glance/src/main/java/androidx/glance/session/InteractiveFrameClock.kt
@@ -132,4 +132,4 @@
 
     @VisibleForTesting
     internal fun currentHz() = synchronized(lock) { currentHz }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/CombinedGlanceModifierTest.kt b/glance/glance/src/test/kotlin/androidx/glance/CombinedGlanceModifierTest.kt
index 25cd34f..bab4226 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/CombinedGlanceModifierTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/CombinedGlanceModifierTest.kt
@@ -67,4 +67,4 @@
 private data class Element(val value: Int) : GlanceModifier.Element
 
 private fun GlanceModifier.element(value: Int) =
-    this.then(Element(value))
\ No newline at end of file
+    this.then(Element(value))
diff --git a/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt b/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt
index 07f00f1..059204d 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/ImageTest.kt
@@ -91,4 +91,4 @@
             assertThat(colorFilterParams.colorProvider).isEqualTo(colorProvider)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/VisibilityTest.kt b/glance/glance/src/test/kotlin/androidx/glance/VisibilityTest.kt
index ce9ddd3..d34e7db 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/VisibilityTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/VisibilityTest.kt
@@ -27,4 +27,4 @@
         assertThat(modifier.findModifier<VisibilityModifier>()?.visibility)
             .isEqualTo(Visibility.Gone)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/action/TestActivity.kt b/glance/glance/src/test/kotlin/androidx/glance/action/TestActivity.kt
index 6d3f905..703dbfb 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/action/TestActivity.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/action/TestActivity.kt
@@ -18,4 +18,4 @@
 
 import android.app.Activity
 
-class TestActivity : Activity()
\ No newline at end of file
+class TestActivity : Activity()
diff --git a/glance/glance/src/test/kotlin/androidx/glance/color/ColorProvidersTest.kt b/glance/glance/src/test/kotlin/androidx/glance/color/ColorProvidersTest.kt
index 8ca45c7..64bb914 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/color/ColorProvidersTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/color/ColorProvidersTest.kt
@@ -332,4 +332,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 aefe11d..eb53adb 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/BoxTest.kt
@@ -93,4 +93,4 @@
         assertThat(leafBox0.contentAlignment).isEqualTo(Alignment.BottomCenter)
         assertThat(leafBox1.contentAlignment).isEqualTo(Alignment.TopCenter)
     }
-}
\ No newline at end of file
+}
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 7f72a59..06c67c9 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/ColumnTest.kt
@@ -97,4 +97,4 @@
         assertThat(heightModifier.height).isSameInstanceAs(Dimension.Expand)
         assertThat(box.modifier.findModifier<WidthModifier>()).isNull()
     }
-}
\ No newline at end of file
+}
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 7ee121e..43d4abb 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/RowTest.kt
@@ -97,4 +97,4 @@
         assertThat(widthModifier.width).isSameInstanceAs(Dimension.Expand)
         assertThat(box.modifier.findModifier<HeightModifier>()).isNull()
     }
-}
\ No newline at end of file
+}
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 9ebc68a..94f5504 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/layout/SpacerTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/layout/SpacerTest.kt
@@ -86,4 +86,4 @@
         val height = assertIs<Dimension.Dp>(heightModifier.height)
         assertThat(height.dp).isEqualTo(15.dp)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/semantics/SemanticsTest.kt b/glance/glance/src/test/kotlin/androidx/glance/semantics/SemanticsTest.kt
index 59c32de..b336b0b 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/semantics/SemanticsTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/semantics/SemanticsTest.kt
@@ -32,4 +32,4 @@
                 .get(SemanticsProperties.ContentDescription).joinToString())
             .isEqualTo("test_description")
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/session/IdleEventBroadcastReceiverTest.kt b/glance/glance/src/test/kotlin/androidx/glance/session/IdleEventBroadcastReceiverTest.kt
index 5d20c8f..7e73137 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/session/IdleEventBroadcastReceiverTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/session/IdleEventBroadcastReceiverTest.kt
@@ -62,4 +62,4 @@
         receiver.onReceive(context, Intent(PowerManager.ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED))
         assertThat(onIdleCalled.get()).isEqualTo(1)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/session/InteractiveFrameClockTest.kt b/glance/glance/src/test/kotlin/androidx/glance/session/InteractiveFrameClockTest.kt
index 640af9f..827d25d3 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/session/InteractiveFrameClockTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/session/InteractiveFrameClockTest.kt
@@ -112,4 +112,4 @@
         assertThat(interactiveJob.isCompleted)
         assertThat(clock.currentHz()).isEqualTo(BASELINE_HZ)
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/session/SessionManagerImplTest.kt b/glance/glance/src/test/kotlin/androidx/glance/session/SessionManagerImplTest.kt
index 3fccf2d..9a05800 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/session/SessionManagerImplTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/session/SessionManagerImplTest.kt
@@ -106,4 +106,4 @@
         suspendCoroutine<Unit> {}
         return Result.success()
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/session/SessionWorkerTest.kt b/glance/glance/src/test/kotlin/androidx/glance/session/SessionWorkerTest.kt
index 43a1916..90bf629 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/session/SessionWorkerTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/session/SessionWorkerTest.kt
@@ -221,4 +221,4 @@
         require(event is Function0<*>)
         event.invoke()
     }
-}
\ No newline at end of file
+}
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 7082643..79ae930 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/state/StateDefinitionTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/state/StateDefinitionTest.kt
@@ -127,4 +127,4 @@
             assertThat(store[stringKey]).isEqualTo(storedMessage2)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/glance/glance/src/test/kotlin/androidx/glance/text/TextStyleTest.kt b/glance/glance/src/test/kotlin/androidx/glance/text/TextStyleTest.kt
index 4cbab34..6dcd415 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/text/TextStyleTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/text/TextStyleTest.kt
@@ -81,4 +81,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 9b7516d..7851610 100644
--- a/glance/glance/src/test/kotlin/androidx/glance/text/TextTest.kt
+++ b/glance/glance/src/test/kotlin/androidx/glance/text/TextTest.kt
@@ -125,4 +125,4 @@
         val child = assertIs<EmittableText>(root.children[0])
         assertThat(child.style?.textAlign).isEqualTo(TextAlign.Center)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/MultiBufferedCanvasRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/MultiBufferedCanvasRendererTest.kt
index 85138d1..d6aa179 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/MultiBufferedCanvasRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/MultiBufferedCanvasRendererTest.kt
@@ -138,4 +138,4 @@
             executor.shutdownNow()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/SurfaceTextureRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/SurfaceTextureRendererTest.kt
index 308bfed..61c2797 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/SurfaceTextureRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/SurfaceTextureRendererTest.kt
@@ -191,4 +191,4 @@
             handlerThread.quit()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/TestUtils.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/TestUtils.kt
index 7958b18..6cdfb73 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/TestUtils.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/TestUtils.kt
@@ -119,4 +119,4 @@
     egl.release()
     Assert.assertEquals(EGLVersion.Unknown, egl.eglVersion)
     Assert.assertEquals(EGL14.EGL_NO_CONTEXT, egl.eglContext)
-}
\ No newline at end of file
+}
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 e7dc260..92aa850 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
@@ -170,4 +170,4 @@
             // Ignore other errors
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformerTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformerTest.kt
index ff9a987..81a9856 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformerTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/BufferTransformerTest.kt
@@ -140,4 +140,4 @@
             assertTrue("Index: $i, actual: ${actual[i]} expected: ${expected[i]}", result)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/CanvasFrontBufferedRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/CanvasFrontBufferedRendererTest.kt
index cd8f0ec..ee012d9 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/CanvasFrontBufferedRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/CanvasFrontBufferedRendererTest.kt
@@ -703,4 +703,4 @@
     private fun isSupportedCuttlefish() =
         !(Build.MODEL.contains("Cuttlefish") &&
             (Build.VERSION.SDK_INT == 30 || BuildCompat.isAtLeastV()))
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt
index 8899880..1923f63 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLFrontBufferedRendererTest.kt
@@ -1604,4 +1604,4 @@
             fail("GLFrontBufferedRenderer is not initialized")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLUtils.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLUtils.kt
index 04d04be..4b2a08c 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLUtils.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/GLUtils.kt
@@ -25,4 +25,4 @@
     GLES20.glCompileShader(shader)
 
     return shader
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkCanvasView.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkCanvasView.kt
index 77303ac..510dee2 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkCanvasView.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkCanvasView.kt
@@ -112,4 +112,4 @@
         mCanvasFrontBufferedRenderer?.release(true)
         mCanvasFrontBufferedRenderer = null
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkSurfaceView.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkSurfaceView.kt
index 650c29c..f2e534c 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkSurfaceView.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/InkSurfaceView.kt
@@ -175,4 +175,4 @@
     private companion object {
         private const val LINE_WIDTH = 5f
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LineRenderer.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LineRenderer.kt
index 363422b..c583baa 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LineRenderer.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LineRenderer.kt
@@ -157,4 +157,4 @@
                 }
             """
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LinesDrawable.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LinesDrawable.kt
index 8111e7a..21883f4 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LinesDrawable.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/LinesDrawable.kt
@@ -70,4 +70,4 @@
     }
 
     override fun getOpacity(): Int = PixelFormat.TRANSLUCENT
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/ParamQueueTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/ParamQueueTest.kt
index 5ac0c6c..2b0d343 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/ParamQueueTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/ParamQueueTest.kt
@@ -88,4 +88,4 @@
             assertEquals(10, count)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/Rectangle.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/Rectangle.kt
index 2b8b469..c34b498 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/Rectangle.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/Rectangle.kt
@@ -155,4 +155,4 @@
         val COORDS_PER_VERTEX = 3
         val DRAW_ORDER = shortArrayOf(0, 1, 2, 0, 2, 3) // order to draw vertices
     }
-}
\ No newline at end of file
+}
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 458ad0c..fed0aa2 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
@@ -69,4 +69,4 @@
         container?.addView(inkView, FrameLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT))
         container?.bringChildToFront(toggle)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29Test.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29Test.kt
index 91a0c85..a9ac499 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29Test.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29Test.kt
@@ -392,4 +392,4 @@
             assertTrue(latch.await(3000, TimeUnit.MILLISECONDS))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34Test.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34Test.kt
index b1ade98..ef9bedd 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34Test.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34Test.kt
@@ -410,4 +410,4 @@
             assertTrue(latch.await(3000, TimeUnit.MILLISECONDS))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferPoolTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferPoolTest.kt
index 756ab20..c481525 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferPoolTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferPoolTest.kt
@@ -254,4 +254,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferView.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferView.kt
index 98744f6..3e720ada 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferView.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/FrameBufferView.kt
@@ -136,4 +136,4 @@
     private companion object {
         private const val LINE_WIDTH = 5f
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLFrameBufferRendererTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLFrameBufferRendererTest.kt
index e7f6682..1d69de6 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLFrameBufferRendererTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLFrameBufferRendererTest.kt
@@ -505,4 +505,4 @@
             fail("GLFrameBufferRenderer is not initialized")
         }
     }
-}
\ No newline at end of file
+}
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 8d31c50..6798577 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
@@ -1354,4 +1354,4 @@
         buffer[0] = texId
         GLES20.glDeleteTextures(1, buffer, 0)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLTestActivity.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLTestActivity.kt
index 103c36b..4dce2ce 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLTestActivity.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/GLTestActivity.kt
@@ -47,4 +47,4 @@
 
         setContentView(ll)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SurfaceViewTestActivity.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SurfaceViewTestActivity.kt
index da9d40f..fc1c6c9 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SurfaceViewTestActivity.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SurfaceViewTestActivity.kt
@@ -73,4 +73,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SyncStrategyTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SyncStrategyTest.kt
index 482afc6..a313b17 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SyncStrategyTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/SyncStrategyTest.kt
@@ -97,4 +97,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLConfigAttributesTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLConfigAttributesTest.kt
index 2f4a0c3..7584030 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLConfigAttributesTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLConfigAttributesTest.kt
@@ -110,4 +110,4 @@
         }
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLExtensionsTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLExtensionsTest.kt
index 15cb5ba..0be57df 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLExtensionsTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLExtensionsTest.kt
@@ -190,4 +190,4 @@
             assertTrue(contains(EGL_ANDROID_NATIVE_FENCE_SYNC))
         }
     }
-}
\ No newline at end of file
+}
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 8a8486e..b0ec6e1 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
@@ -776,4 +776,4 @@
             assertEquals(EGL14.EGL_NO_CONTEXT, eglContext)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestActivity.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestActivity.kt
index ddbdf2d..dcff5a4 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestActivity.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestActivity.kt
@@ -132,4 +132,4 @@
         mAnimator?.cancel()
         mGLRenderer.stop(true)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestUtils.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestUtils.kt
index 5098b90..fa5f38b 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestUtils.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLTestUtils.kt
@@ -34,4 +34,4 @@
  */
 fun EGLManager.supportsNativeAndroidFence(): Boolean =
     isExtensionSupported(EGLExt.EGL_KHR_FENCE_SYNC) &&
-        isExtensionSupported(EGLExt.EGL_ANDROID_NATIVE_FENCE_SYNC)
\ No newline at end of file
+        isExtensionSupported(EGLExt.EGL_ANDROID_NATIVE_FENCE_SYNC)
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLVersionTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLVersionTest.kt
index 83cdf96..bbcc352 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLVersionTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/opengl/egl/EGLVersionTest.kt
@@ -48,4 +48,4 @@
         val hashCode = 31 * 8 + 4
         assertEquals(hashCode, EGLVersion(8, 4).hashCode())
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlCompatTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlCompatTest.kt
index de0763d..f0bcbdf 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlCompatTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlCompatTest.kt
@@ -2108,4 +2108,4 @@
         assertEquals(EGLVersion.Unknown, egl.eglVersion)
         assertEquals(EGL14.EGL_NO_CONTEXT, egl.eglContext)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlUtils.kt b/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlUtils.kt
index ead3b1d..4e89941 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlUtils.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/graphics/surface/SurfaceControlUtils.kt
@@ -183,4 +183,4 @@
             System.loadLibrary("graphics-core")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceCompatTest.kt b/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceCompatTest.kt
index af174be..22e694f 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceCompatTest.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceCompatTest.kt
@@ -132,4 +132,4 @@
             assertEquals(EGL14.EGL_NO_CONTEXT, eglContext)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceV19Test.kt b/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceV19Test.kt
index 7bedd9b..7a0a842 100644
--- a/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceV19Test.kt
+++ b/graphics/graphics-core/src/androidTest/java/androidx/hardware/SyncFenceV19Test.kt
@@ -93,4 +93,4 @@
     fun testResolveSyncFileInfoFree() {
         assertTrue(SyncFenceBindings.nResolveSyncFileInfoFree())
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/MultiBufferedCanvasRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/MultiBufferedCanvasRenderer.kt
index a9feab6..f908f2f 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/MultiBufferedCanvasRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/MultiBufferedCanvasRenderer.kt
@@ -90,4 +90,4 @@
     internal companion object {
         const val TAG = "MultiBufferRenderer"
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/SurfaceTextureRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/SurfaceTextureRenderer.kt
index a323ed6..da6c9c0 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/SurfaceTextureRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/SurfaceTextureRenderer.kt
@@ -123,4 +123,4 @@
     companion object {
         private val TAG = "SurfaceTextureRenderer"
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferInfo.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferInfo.kt
index 862799f..6bfee3e 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferInfo.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferInfo.kt
@@ -57,4 +57,4 @@
      */
     var frameBufferId: Int = frameBufferId
         internal set
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformHintResolver.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformHintResolver.kt
index 0f8906c..1cda188 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformHintResolver.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformHintResolver.kt
@@ -128,4 +128,4 @@
         fun resolveBufferTransformHint(view: View): Int =
             view.rootSurfaceControl?.bufferTransformHint ?: 0
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformer.kt
index 6367e09..d9a5fb1 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/BufferTransformer.kt
@@ -96,4 +96,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferSyncStrategy.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferSyncStrategy.kt
index a7579b7..b500c89 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferSyncStrategy.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferSyncStrategy.kt
@@ -78,4 +78,4 @@
             return null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
index d70cbbf..6d20ece 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/FrontBufferUtils.kt
@@ -101,4 +101,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/GLFrontBufferedRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/GLFrontBufferedRenderer.kt
index 3d85d7d..692c161 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/GLFrontBufferedRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/GLFrontBufferedRenderer.kt
@@ -822,4 +822,4 @@
             // Default implementation is a no-op
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/ParamQueue.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/ParamQueue.kt
index 167bd13..85538b9 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/ParamQueue.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/ParamQueue.kt
@@ -84,4 +84,4 @@
     fun count(): Int = mLock.withLock { mParams.size }
 
     fun isEmpty() = count() == 0
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRenderer.kt
index ffc799b..58d7a8a 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRenderer.kt
@@ -97,4 +97,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29.kt
index 2c2fe10..fa4e2f1 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV29.kt
@@ -197,4 +197,4 @@
         const val CLEAR = 1
         const val RELEASE = 2
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34.kt
index 114a8c2..7835f75 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/SingleBufferedCanvasRendererV34.kt
@@ -157,4 +157,4 @@
     private fun Handler.post(token: Any?, runnable: Runnable) {
         postAtTime(runnable, token, SystemClock.uptimeMillis())
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/TextureProducer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/TextureProducer.kt
index a632a1b..8a04c56 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/TextureProducer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/lowlatency/TextureProducer.kt
@@ -187,4 +187,4 @@
          */
         const val MAX_PENDING_RENDERS = 2
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBuffer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBuffer.kt
index 666a63a..4d90416 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBuffer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBuffer.kt
@@ -110,4 +110,4 @@
             isClosed = true
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferPool.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferPool.kt
index 4f44af4..186c521 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferPool.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/FrameBufferPool.kt
@@ -244,4 +244,4 @@
             return fallback
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLFrameBufferRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLFrameBufferRenderer.kt
index ebf738c..14277ec 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLFrameBufferRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLFrameBufferRenderer.kt
@@ -817,4 +817,4 @@
 
         internal const val DefaultNumBuffers = 3
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLThread.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLThread.kt
index d492781..afd433b 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLThread.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/GLThread.kt
@@ -402,4 +402,4 @@
          */
         var height: Int = 0
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/QuadTextureRenderer.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/QuadTextureRenderer.kt
index f838ec4..80e132a 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/QuadTextureRenderer.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/QuadTextureRenderer.kt
@@ -328,4 +328,4 @@
                 GLES20.glCompileShader(shader)
             }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLConfigAttributes.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLConfigAttributes.kt
index 1852fbb..4adbd70 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLConfigAttributes.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLConfigAttributes.kt
@@ -204,4 +204,4 @@
             EGL14.EGL_SURFACE_TYPE to EGL14.EGL_WINDOW_BIT
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLManager.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLManager.kt
index 37438b5..0c02bf5 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLManager.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLManager.kt
@@ -247,4 +247,4 @@
     companion object {
         private const val TAG = "EglManager"
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLSpec.kt b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLSpec.kt
index 53c24d27..97d6f65 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLSpec.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/opengl/egl/EGLSpec.kt
@@ -602,4 +602,4 @@
         @JvmField
         val Unknown = EGLVersion(-1, -1)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlCompat.kt b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlCompat.kt
index df82137..0413291 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlCompat.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlCompat.kt
@@ -624,4 +624,4 @@
         @androidx.annotation.DoNotInline
         fun createTransactionV29(): SurfaceControlImpl.Transaction = SurfaceControlV29.Transaction()
     }
-}
\ No newline at end of file
+}
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 000acae..dc5db9e 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
@@ -352,4 +352,4 @@
         @RequiresApi(Build.VERSION_CODES.TIRAMISU)
         fun commitTransactionOnDraw(attachedSurfaceControl: AttachedSurfaceControl)
     }
-}
\ No newline at end of file
+}
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 a30c654..86d25c2 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
@@ -462,4 +462,4 @@
                 throw IllegalArgumentException("Parent implementation is only for Android T+.")
             }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV33.kt b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV33.kt
index caf7b44..365cffd 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV33.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlV33.kt
@@ -367,4 +367,4 @@
     fun setDataSpace(transaction: Transaction, surfaceControl: SurfaceControl, dataspace: Int) {
         transaction.setDataSpace(surfaceControl, dataspace)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlWrapper.kt b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlWrapper.kt
index 314a641..88a178d 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlWrapper.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/surface/SurfaceControlWrapper.kt
@@ -738,4 +738,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/graphics/utils/HandlerUtils.kt b/graphics/graphics-core/src/main/java/androidx/graphics/utils/HandlerUtils.kt
index 9698f11..7dfb466 100644
--- a/graphics/graphics-core/src/main/java/androidx/graphics/utils/HandlerUtils.kt
+++ b/graphics/graphics-core/src/main/java/androidx/graphics/utils/HandlerUtils.kt
@@ -26,4 +26,4 @@
  */
 internal fun Handler.post(token: Any?, runnable: Runnable) {
     postAtTime(runnable, token, SystemClock.uptimeMillis())
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceBindings.kt b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceBindings.kt
index 2e6cec8..e424347 100644
--- a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceBindings.kt
+++ b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceBindings.kt
@@ -38,4 +38,4 @@
             System.loadLibrary("graphics-core")
         }
     }
-}
\ No newline at end of file
+}
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 64cb8a1..581b0b2 100644
--- a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt
+++ b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceCompat.kt
@@ -165,4 +165,4 @@
             return syncFenceCompat
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceImpl.kt b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceImpl.kt
index a460188..3185a75 100644
--- a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceImpl.kt
+++ b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceImpl.kt
@@ -50,4 +50,4 @@
      * @return `true` if it is valid, `false` otherwise
      */
     fun isValid(): Boolean
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV19.kt b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV19.kt
index f1360dd..072bf30 100644
--- a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV19.kt
+++ b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV19.kt
@@ -147,4 +147,4 @@
             System.loadLibrary("graphics-core")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV33.kt b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV33.kt
index 86bc660f..9b80920 100644
--- a/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV33.kt
+++ b/graphics/graphics-core/src/main/java/androidx/hardware/SyncFenceV33.kt
@@ -60,4 +60,4 @@
     override fun isValid(): Boolean {
         return mSyncFence.isValid
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/opengl/EGLExt.kt b/graphics/graphics-core/src/main/java/androidx/opengl/EGLExt.kt
index 958011a..b851c5d 100644
--- a/graphics/graphics-core/src/main/java/androidx/opengl/EGLExt.kt
+++ b/graphics/graphics-core/src/main/java/androidx/opengl/EGLExt.kt
@@ -752,4 +752,4 @@
         @androidx.annotation.DoNotInline
         fun getNativeHandle(eglDisplay: EGLDisplay): Long = eglDisplay.nativeHandle
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/opengl/EGLHandle.kt b/graphics/graphics-core/src/main/java/androidx/opengl/EGLHandle.kt
index e799fb7..c091af01 100644
--- a/graphics/graphics-core/src/main/java/androidx/opengl/EGLHandle.kt
+++ b/graphics/graphics-core/src/main/java/androidx/opengl/EGLHandle.kt
@@ -30,4 +30,4 @@
      * @return the native handle of the wrapped EGL object.
      */
     val nativeHandle: Long
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/opengl/EGLImageKHR.kt b/graphics/graphics-core/src/main/java/androidx/opengl/EGLImageKHR.kt
index 3a27e89..282d70c 100644
--- a/graphics/graphics-core/src/main/java/androidx/opengl/EGLImageKHR.kt
+++ b/graphics/graphics-core/src/main/java/androidx/opengl/EGLImageKHR.kt
@@ -41,4 +41,4 @@
     override fun toString(): String {
         return "EGLImageKHR(nativeHandle=$nativeHandle)"
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-core/src/main/java/androidx/opengl/EGLSyncKHR.kt b/graphics/graphics-core/src/main/java/androidx/opengl/EGLSyncKHR.kt
index 262dfbc..bc5e8cb 100644
--- a/graphics/graphics-core/src/main/java/androidx/opengl/EGLSyncKHR.kt
+++ b/graphics/graphics-core/src/main/java/androidx/opengl/EGLSyncKHR.kt
@@ -39,4 +39,4 @@
     override fun toString(): String {
         return "EGLSyncKHR(nativeHandle=$nativeHandle)"
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-path/src/main/java/androidx/graphics/path/ConicConverter.kt b/graphics/graphics-path/src/main/java/androidx/graphics/path/ConicConverter.kt
index 445bd47..c273201 100644
--- a/graphics/graphics-path/src/main/java/androidx/graphics/path/ConicConverter.kt
+++ b/graphics/graphics-path/src/main/java/androidx/graphics/path/ConicConverter.kt
@@ -99,4 +99,4 @@
         tolerance: Float,
         offset: Int
     ): Int
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-path/src/main/java/androidx/graphics/path/PathIteratorImpl.kt b/graphics/graphics-path/src/main/java/androidx/graphics/path/PathIteratorImpl.kt
index 65fa2c1..941d19d 100644
--- a/graphics/graphics-path/src/main/java/androidx/graphics/path/PathIteratorImpl.kt
+++ b/graphics/graphics-path/src/main/java/androidx/graphics/path/PathIteratorImpl.kt
@@ -338,4 +338,4 @@
     protected fun finalize() {
         destroyInternalPathIterator(internalPathIterator)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-path/src/main/java/androidx/graphics/path/PathSegment.kt b/graphics/graphics-path/src/main/java/androidx/graphics/path/PathSegment.kt
index 863d6d0..1817d07 100644
--- a/graphics/graphics-path/src/main/java/androidx/graphics/path/PathSegment.kt
+++ b/graphics/graphics-path/src/main/java/androidx/graphics/path/PathSegment.kt
@@ -140,4 +140,4 @@
 /**
  * Cache of [PathSegment.Type] values to avoid internal allocation on each use.
  */
-internal val pathSegmentTypes = PathSegment.Type.values()
\ No newline at end of file
+internal val pathSegmentTypes = PathSegment.Type.values()
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CornerRoundingTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CornerRoundingTest.kt
index b4e78e3..cb31924 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CornerRoundingTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CornerRoundingTest.kt
@@ -45,4 +45,4 @@
         assertEquals(5f, roundedAndSmoothed.radius)
         assertEquals(.5f, roundedAndSmoothed.smoothing)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicShapeTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicShapeTest.kt
index e65ea69..7da0d7d 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicShapeTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicShapeTest.kt
@@ -104,4 +104,4 @@
         assertPointsEqualish(PointF(translatedPoints[4], translatedPoints[5]), cubic.p2)
         assertPointsEqualish(PointF(translatedPoints[6], translatedPoints[7]), cubic.p3)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicTest.kt
index e66fe68..8ca52f2 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/CubicTest.kt
@@ -198,4 +198,4 @@
         assertPointsEqualish(cubic.p2 + translationVector, transformedCubic.p2)
         assertPointsEqualish(cubic.p3 + translationVector, transformedCubic.p3)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/FloatMappingTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/FloatMappingTest.kt
index 4cb3a8d..d503068 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/FloatMappingTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/FloatMappingTest.kt
@@ -92,4 +92,4 @@
             assertEqualish(source, mapper.mapBack(target))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonMeasureTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonMeasureTest.kt
index bcc921c..a3d5187 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonMeasureTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonMeasureTest.kt
@@ -101,4 +101,4 @@
             assertTrue(measuredCubic.endOutlineProgress >= measuredCubic.startOutlineProgress)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonTest.kt
index 610fa3e..6d5f837 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/PolygonTest.kt
@@ -159,4 +159,4 @@
         assertNotEquals(preTransformVertices, postTransformVertices)
         assertNotEquals(preTransformCenters, postTransformCenters)
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/ShapesTest.kt b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/ShapesTest.kt
index abd569c..80a0dad 100644
--- a/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/ShapesTest.kt
+++ b/graphics/graphics-shapes/src/androidTest/java/androidx/graphics/shapes/ShapesTest.kt
@@ -174,4 +174,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CornerRounding.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CornerRounding.kt
index 9214c0f..3efe136 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CornerRounding.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CornerRounding.kt
@@ -64,4 +64,4 @@
         @JvmField
         val Unrounded = CornerRounding()
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Cubic.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Cubic.kt
index a0d55cf..3b41391 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Cubic.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Cubic.kt
@@ -250,4 +250,4 @@
             ))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CubicShape.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CubicShape.kt
index 90f1cfa..6a2675d 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CubicShape.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/CubicShape.kt
@@ -204,4 +204,4 @@
  */
 fun Canvas.drawCubicShape(shape: CubicShape, paint: Paint) {
     shape.draw(this, paint)
-}
\ No newline at end of file
+}
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/FeatureMapping.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/FeatureMapping.kt
index 670ffbd..959e43a 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/FeatureMapping.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/FeatureMapping.kt
@@ -104,4 +104,4 @@
     return ret
 }
 
-private val LOG_TAG = "FeatureMapping"
\ No newline at end of file
+private val LOG_TAG = "FeatureMapping"
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Morph.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Morph.kt
index a54af3d..290c073 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Morph.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Morph.kt
@@ -364,4 +364,4 @@
     morph.draw(this, paint)
 }
 
-private val LOG_TAG = "Morph"
\ No newline at end of file
+private val LOG_TAG = "Morph"
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/PolygonMeasure.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/PolygonMeasure.kt
index 51db27d..8012b6f 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/PolygonMeasure.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/PolygonMeasure.kt
@@ -320,4 +320,4 @@
     }
 }
 
-private val LOG_TAG = "PolygonMeasure"
\ No newline at end of file
+private val LOG_TAG = "PolygonMeasure"
diff --git a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Utils.kt b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Utils.kt
index 23d9bfd..0b54541 100644
--- a/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Utils.kt
+++ b/graphics/graphics-shapes/src/main/java/androidx/graphics/shapes/Utils.kt
@@ -133,4 +133,4 @@
 
 internal inline fun debugLog(tag: String, messageFactory: () -> String) {
     if (DEBUG) messageFactory().split("\n").forEach { Log.d(tag, it) }
-}
\ No newline at end of file
+}
diff --git a/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/MaterialShapes.kt b/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/MaterialShapes.kt
index 0a61eae..81c3095 100644
--- a/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/MaterialShapes.kt
+++ b/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/MaterialShapes.kt
@@ -152,4 +152,4 @@
             return RoundedPolygon(numVertices = 5, rounding = CornerRounding(.3f))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/ShapeView.kt b/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/ShapeView.kt
index 176f118..e93bc68 100644
--- a/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/ShapeView.kt
+++ b/graphics/integration-tests/testapp/src/main/java/androidx/graphics/shapes/test/ShapeView.kt
@@ -64,4 +64,4 @@
     override fun onDraw(canvas: Canvas) {
         canvas.drawPolygon(shape, paint)
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/main/java/androidx/health/connect/client/records/MenstruationPeriodRecord.kt b/health/connect/connect-client/src/main/java/androidx/health/connect/client/records/MenstruationPeriodRecord.kt
index 698f654..d81ee8e 100644
--- a/health/connect/connect-client/src/main/java/androidx/health/connect/client/records/MenstruationPeriodRecord.kt
+++ b/health/connect/connect-client/src/main/java/androidx/health/connect/client/records/MenstruationPeriodRecord.kt
@@ -71,4 +71,4 @@
     private companion object {
         private val MAX_DURATION = Duration.ofDays(31)
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/RegisterForDataNotificationsRequest.kt b/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/RegisterForDataNotificationsRequest.kt
index 3e810cd..65a4a24 100644
--- a/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/RegisterForDataNotificationsRequest.kt
+++ b/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/RegisterForDataNotificationsRequest.kt
@@ -34,4 +34,4 @@
                 )
             }
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/UnregisterFromDataNotificationsRequest.kt b/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/UnregisterFromDataNotificationsRequest.kt
index 4422d71..581da9b 100644
--- a/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/UnregisterFromDataNotificationsRequest.kt
+++ b/health/connect/connect-client/src/main/java/androidx/health/platform/client/request/UnregisterFromDataNotificationsRequest.kt
@@ -34,4 +34,4 @@
                 )
             }
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseLapTest.kt b/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseLapTest.kt
index 48c7202..1fe9c08 100644
--- a/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseLapTest.kt
+++ b/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseLapTest.kt
@@ -76,4 +76,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseSegmentTest.kt b/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseSegmentTest.kt
index b1d35f8..37340b6 100644
--- a/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseSegmentTest.kt
+++ b/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/ExerciseSegmentTest.kt
@@ -281,4 +281,4 @@
             message = "$sessionType and $segmentType is not compatible"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/RecordArgumentOrderTest.kt b/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/RecordArgumentOrderTest.kt
index eb29a03a..a191790 100644
--- a/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/RecordArgumentOrderTest.kt
+++ b/health/connect/connect-client/src/test/java/androidx/health/connect/client/records/RecordArgumentOrderTest.kt
@@ -40,4 +40,4 @@
             assertThat(pars).containsNoneOf(Instant::class.java, ZoneOffset::class.java)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/connect/connect-client/src/test/java/androidx/health/platform/client/utils/IntentExtTest.kt b/health/connect/connect-client/src/test/java/androidx/health/platform/client/utils/IntentExtTest.kt
index 0e117fb..e2e2625 100644
--- a/health/connect/connect-client/src/test/java/androidx/health/platform/client/utils/IntentExtTest.kt
+++ b/health/connect/connect-client/src/test/java/androidx/health/platform/client/utils/IntentExtTest.kt
@@ -101,4 +101,4 @@
 
         return newIntent
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/HealthServicesException.kt b/health/health-services-client/src/main/java/androidx/health/services/client/HealthServicesException.kt
index c9628dc..20fc0c7 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/HealthServicesException.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/HealthServicesException.kt
@@ -17,4 +17,4 @@
 package androidx.health.services.client
 
 /** Exception class for all the Health Services errors. */
-class HealthServicesException(message: String) : Exception(message)
\ No newline at end of file
+class HealthServicesException(message: String) : Exception(message)
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/ListenableFutureExtension.kt b/health/health-services-client/src/main/java/androidx/health/services/client/ListenableFutureExtension.kt
index 4f9086d..dd5254b 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/ListenableFutureExtension.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/ListenableFutureExtension.kt
@@ -39,4 +39,4 @@
             throw HealthServicesException("An unknown error has occurred")
     }
     return t
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/PassiveMonitoringClientExtension.kt b/health/health-services-client/src/main/java/androidx/health/services/client/PassiveMonitoringClientExtension.kt
index 91794f5..4642a90 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/PassiveMonitoringClientExtension.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/PassiveMonitoringClientExtension.kt
@@ -100,4 +100,4 @@
  */
 @kotlin.jvm.Throws(HealthServicesException::class)
 public suspend fun PassiveMonitoringClient.getCapabilities() =
-    getCapabilitiesAsync().awaitWithException()
\ No newline at end of file
+    getCapabilitiesAsync().awaitWithException()
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/CumulativeDataPoint.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/CumulativeDataPoint.kt
index 6b6fe5c..1530b38 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/CumulativeDataPoint.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/CumulativeDataPoint.kt
@@ -61,4 +61,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/DataPointContainer.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/DataPointContainer.kt
index 821a8cc..8b4ae6d 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/DataPointContainer.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/DataPointContainer.kt
@@ -76,4 +76,4 @@
     fun <T : Number, D : DataPoint<T>> getData(type: AggregateDataType<T, D>): D? {
         return (dataPoints[type] as? List<D>)?.lastOrNull()
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/GolfExerciseTypeConfig.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/GolfExerciseTypeConfig.kt
index 067c87a..fd0113d 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/GolfExerciseTypeConfig.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/GolfExerciseTypeConfig.kt
@@ -126,4 +126,4 @@
             .setGolfShotTrackingPlaceInfo(golfShotTrackingPlaceInfo.toProto())
             .build()
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/HealthEvent.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/HealthEvent.kt
index 19bdd36..bcf82b4 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/HealthEvent.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/HealthEvent.kt
@@ -148,4 +148,4 @@
             return DataPointContainer(dataTypeToDataPoints)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/IntervalDataPoint.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/IntervalDataPoint.kt
index 1bcdbb5..9dc1bc3 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/IntervalDataPoint.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/IntervalDataPoint.kt
@@ -112,4 +112,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationData.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationData.kt
index 8537b1b..cacbc7c 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationData.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/LocationData.kt
@@ -144,4 +144,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/SampleDataPoint.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/SampleDataPoint.kt
index 1a12f1a..e018596 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/SampleDataPoint.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/SampleDataPoint.kt
@@ -102,4 +102,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/data/StatisticalDataPoint.kt b/health/health-services-client/src/main/java/androidx/health/services/client/data/StatisticalDataPoint.kt
index c04634c..d51087b 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/data/StatisticalDataPoint.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/data/StatisticalDataPoint.kt
@@ -68,4 +68,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/main/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequest.kt b/health/health-services-client/src/main/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequest.kt
index 596413b..a64df78 100644
--- a/health/health-services-client/src/main/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequest.kt
+++ b/health/health-services-client/src/main/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequest.kt
@@ -47,4 +47,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
index fd4487f..9c3e655 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/PassiveListenerServiceTest.kt
@@ -262,4 +262,4 @@
             permissionLostCount++
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/CumulativeDataPointTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/CumulativeDataPointTest.kt
index 1c419fc..615ebe0 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/CumulativeDataPointTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/CumulativeDataPointTest.kt
@@ -42,4 +42,4 @@
         Truth.assertThat(dataPoint.start).isEqualTo(10.instant())
         Truth.assertThat(dataPoint.end).isEqualTo(99.instant())
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/DataPointContainerTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/DataPointContainerTest.kt
index f258b1e..4166404 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/DataPointContainerTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/DataPointContainerTest.kt
@@ -205,4 +205,4 @@
             ABSOLUTE_ELEVATION_STATS
         )
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeConditionTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeConditionTest.kt
index d2a8d71..c2be8ae 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeConditionTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/DataTypeConditionTest.kt
@@ -48,4 +48,4 @@
         assertThat(observed.threshold).isEqualTo(10.5)
         assertThat(observed.comparisonType).isEqualTo(GREATER_THAN)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseCapabilitiesTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseCapabilitiesTest.kt
index 2de499a..4a43798 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseCapabilitiesTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseCapabilitiesTest.kt
@@ -155,4 +155,4 @@
         private val EXERCISE_CAPABILITIES: ExerciseCapabilities =
             ExerciseCapabilities(EXERCISE_TYPE_TO_EXERCISE_CAPABILITIES_MAPPING)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseGoalTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseGoalTest.kt
index 08c73d9..0f98db2 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseGoalTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseGoalTest.kt
@@ -59,4 +59,4 @@
         assertThat(goal.dataTypeCondition.comparisonType).isEqualTo(GREATER_THAN)
         assertThat(goal.period).isEqualTo(1000.0)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseLapSummaryTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseLapSummaryTest.kt
index ae1dbef..be36832 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseLapSummaryTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/ExerciseLapSummaryTest.kt
@@ -75,4 +75,4 @@
         assertThat(hrStats.start).isEqualTo(startTime)
         assertThat(hrStats.end).isEqualTo(endTime)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/HealthEventTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/HealthEventTest.kt
index 7b3e17e..200d2a3 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/HealthEventTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/HealthEventTest.kt
@@ -63,4 +63,4 @@
         assertThat(event.eventTime).isEqualTo(30.instant())
         assertThat(event.metrics.dataPoints).isEmpty()
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/IntervalDataPointTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/IntervalDataPointTest.kt
index 048f207..befaf0c 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/IntervalDataPointTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/IntervalDataPointTest.kt
@@ -72,4 +72,4 @@
         Truth.assertThat(dataPoint.metadata.keySet()).isEmpty()
         Truth.assertThat(dataPoint.accuracy).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/LocationAccuracyTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/LocationAccuracyTest.kt
index ce0d03f..1ffa5a8 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/LocationAccuracyTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/LocationAccuracyTest.kt
@@ -43,4 +43,4 @@
 
         Assert.assertNotNull(validLocationAccuracy)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/MilestoneMarkerSummaryTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/MilestoneMarkerSummaryTest.kt
index 5aaad5b..c5e8ff0 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/MilestoneMarkerSummaryTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/MilestoneMarkerSummaryTest.kt
@@ -52,4 +52,4 @@
         assertThat(summary.achievedGoal.dataTypeCondition.dataType).isEqualTo(CALORIES_TOTAL)
         assertThat(summary.summaryMetrics.getData(CALORIES_TOTAL)!!.total).isEqualTo(130.0)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/PassiveGoalTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/PassiveGoalTest.kt
index f7b7185..0dedc77 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/PassiveGoalTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/PassiveGoalTest.kt
@@ -77,4 +77,4 @@
 
         assertThat(goal1).isNotEqualTo(goal2)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/SampleDataPointTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/SampleDataPointTest.kt
index 8c2906e..73e85e7 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/SampleDataPointTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/SampleDataPointTest.kt
@@ -130,4 +130,4 @@
         assertThat(accuracy.horizontalPositionErrorMeters).isEqualTo(3.5)
         assertThat(accuracy.verticalPositionErrorMeters).isEqualTo(Double.MAX_VALUE)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/data/StatisticalDataPointTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/data/StatisticalDataPointTest.kt
index 6e69001..dad09d1 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/data/StatisticalDataPointTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/data/StatisticalDataPointTest.kt
@@ -47,4 +47,4 @@
         assertThat(dataPoint.start).isEqualTo(10.instant())
         assertThat(dataPoint.end).isEqualTo(99.instant())
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedMeasureClientTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedMeasureClientTest.kt
index f42c82c..a8a7128 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedMeasureClientTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/impl/ServiceBackedMeasureClientTest.kt
@@ -248,4 +248,4 @@
             return MeasureCapabilitiesResponse(MeasureCapabilities(supportedDataTypes))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/ExerciseGoalRequestTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/ExerciseGoalRequestTest.kt
index d7745be..7319896 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/ExerciseGoalRequestTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/ExerciseGoalRequestTest.kt
@@ -49,4 +49,4 @@
 
         Truth.assertThat(request).isEqualTo(fromParcel)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequestTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequestTest.kt
index 4fece94..47497da 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequestTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/impl/request/UpdateExerciseTypeConfigRequestTest.kt
@@ -43,4 +43,4 @@
 
         Truth.assertThat(request).isEqualTo(fromParcel)
     }
-}
\ No newline at end of file
+}
diff --git a/health/health-services-client/src/test/java/androidx/health/services/client/impl/response/PassiveMonitoringGoalResponseTest.kt b/health/health-services-client/src/test/java/androidx/health/services/client/impl/response/PassiveMonitoringGoalResponseTest.kt
index 54ee821..3d2bf89 100644
--- a/health/health-services-client/src/test/java/androidx/health/services/client/impl/response/PassiveMonitoringGoalResponseTest.kt
+++ b/health/health-services-client/src/test/java/androidx/health/services/client/impl/response/PassiveMonitoringGoalResponseTest.kt
@@ -37,4 +37,4 @@
 
         assertThat(response.passiveGoal.dataTypeCondition.dataType).isEqualTo(STEPS_DAILY)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/AssistedFactoryGenerator.kt b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/AssistedFactoryGenerator.kt
index 1257acd..b452df0 100644
--- a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/AssistedFactoryGenerator.kt
+++ b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/AssistedFactoryGenerator.kt
@@ -113,4 +113,4 @@
             )
             .build()
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/DependencyRequest.kt b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/DependencyRequest.kt
index a2edb27..822c778 100644
--- a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/DependencyRequest.kt
+++ b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/assisted/DependencyRequest.kt
@@ -65,4 +65,4 @@
             ) && qualifier == null,
         qualifier = qualifier
     )
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/ext/javaPoet.kt b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/ext/javaPoet.kt
index e8dcec0..d3fc1c2 100644
--- a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/ext/javaPoet.kt
+++ b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/ext/javaPoet.kt
@@ -39,4 +39,4 @@
     ).ifPresent { generatedAnnotation ->
         addAnnotation(generatedAnnotation)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerElements.kt b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerElements.kt
index 0b6c84d..f62c1ee 100644
--- a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerElements.kt
+++ b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerElements.kt
@@ -51,4 +51,4 @@
     val dependencyRequests = constructorElement.parameters.map { constructorArg ->
         constructorArg.toDependencyRequest()
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerStep.kt b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerStep.kt
index 0fbdfa3..d06abf9 100644
--- a/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerStep.kt
+++ b/hilt/hilt-compiler/src/main/kotlin/androidx/hilt/work/WorkerStep.kt
@@ -150,4 +150,4 @@
     private fun error(message: String, element: Element? = null) {
         messager.printMessage(Diagnostic.Kind.ERROR, message, element)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/testUtils.kt b/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/testUtils.kt
index 7001368..b24ad5e 100644
--- a/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/testUtils.kt
+++ b/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/testUtils.kt
@@ -62,4 +62,4 @@
 
 fun compiler(): Compiler = javac().withProcessors(AndroidXHiltProcessor())
 
-fun String.toJFO(qName: String) = JavaFileObjects.forSourceString(qName, this.trimIndent())
\ No newline at end of file
+fun String.toJFO(qName: String) = JavaFileObjects.forSourceString(qName, this.trimIndent())
diff --git a/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/work/WorkerStepTest.kt b/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/work/WorkerStepTest.kt
index 9783c14..5d7c63a 100644
--- a/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/work/WorkerStepTest.kt
+++ b/hilt/hilt-compiler/src/test/kotlin/androidx/hilt/work/WorkerStepTest.kt
@@ -228,4 +228,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/TestRunner.kt b/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/TestRunner.kt
index 2ec8516..5519acf 100644
--- a/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/TestRunner.kt
+++ b/hilt/hilt-navigation-compose/src/androidTest/java/androidx/hilt/navigation/compose/TestRunner.kt
@@ -29,4 +29,4 @@
     ): Application {
         return super.newApplication(cl, HiltTestApplication::class.java.name, context)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-navigation-compose/src/main/java/androidx/hilt/navigation/compose/HiltViewModel.kt b/hilt/hilt-navigation-compose/src/main/java/androidx/hilt/navigation/compose/HiltViewModel.kt
index e90d5b5..5619fe3 100644
--- a/hilt/hilt-navigation-compose/src/main/java/androidx/hilt/navigation/compose/HiltViewModel.kt
+++ b/hilt/hilt-navigation-compose/src/main/java/androidx/hilt/navigation/compose/HiltViewModel.kt
@@ -62,4 +62,4 @@
     // Use the default factory provided by the ViewModelStoreOwner
     // and assume it is an @AndroidEntryPoint annotated fragment or activity
     null
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-navigation-compose/src/test/kotlin/EmptyFile.kt b/hilt/hilt-navigation-compose/src/test/kotlin/EmptyFile.kt
index b1634a1..2f7ed51 100644
--- a/hilt/hilt-navigation-compose/src/test/kotlin/EmptyFile.kt
+++ b/hilt/hilt-navigation-compose/src/test/kotlin/EmptyFile.kt
@@ -15,4 +15,4 @@
  */
 
 // NOTE(b/190438045):
-// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
\ No newline at end of file
+// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
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 6cc6dc8..f454761 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
@@ -174,4 +174,4 @@
     val otherDep: OtherDep
 ) : ViewModel()
 
-class OtherDep @Inject constructor()
\ No newline at end of file
+class OtherDep @Inject constructor()
diff --git a/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/TestRunner.kt b/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/TestRunner.kt
index 137ceda..4e2ba8d 100644
--- a/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/TestRunner.kt
+++ b/hilt/hilt-navigation-fragment/src/androidTest/java/androidx/hilt/navigation/fragment/TestRunner.kt
@@ -29,4 +29,4 @@
     ): Application {
         return super.newApplication(cl, HiltTestApplication::class.java.name, context)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/hilt-navigation-fragment/src/test/kotlin/EmptyFile.kt b/hilt/hilt-navigation-fragment/src/test/kotlin/EmptyFile.kt
index b1634a1..2f7ed51 100644
--- a/hilt/hilt-navigation-fragment/src/test/kotlin/EmptyFile.kt
+++ b/hilt/hilt-navigation-fragment/src/test/kotlin/EmptyFile.kt
@@ -15,4 +15,4 @@
  */
 
 // NOTE(b/190438045):
-// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
\ No newline at end of file
+// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
diff --git a/hilt/hilt-navigation/src/main/java/androidx/hilt/navigation/HiltNavBackStackEntry.kt b/hilt/hilt-navigation/src/main/java/androidx/hilt/navigation/HiltNavBackStackEntry.kt
index 714de85..bfe393e 100644
--- a/hilt/hilt-navigation/src/main/java/androidx/hilt/navigation/HiltNavBackStackEntry.kt
+++ b/hilt/hilt-navigation/src/main/java/androidx/hilt/navigation/HiltNavBackStackEntry.kt
@@ -80,4 +80,4 @@
         /* defaultArgs = */ null,
         /* delegateFactory = */ delegateFactory
     )
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/ActivityInjectionTest.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/ActivityInjectionTest.kt
index f7a9c11..ba64f40 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/ActivityInjectionTest.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/ActivityInjectionTest.kt
@@ -60,4 +60,4 @@
         val myInjectedViewModel by viewModels<MyInjectedViewModel>()
         val myNestedInjectedViewModel by viewModels<TopClass.MyNestedInjectedViewModel>()
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseActivityInjectionTest.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseActivityInjectionTest.kt
index ced0083..72ab3c6 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseActivityInjectionTest.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseActivityInjectionTest.kt
@@ -60,4 +60,4 @@
         val myViewModel by viewModels<MyViewModel>()
         val myInjectedViewModel by viewModels<MyInjectedViewModel>()
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseFragmentInjectionTest.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseFragmentInjectionTest.kt
index fe73005..2cf94ec 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseFragmentInjectionTest.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/BaseFragmentInjectionTest.kt
@@ -71,4 +71,4 @@
         val myViewModel by viewModels<MyViewModel>()
         val myInjectedViewModel by viewModels<MyInjectedViewModel>()
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/Bindings.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/Bindings.kt
index 610e7a1..87d1c26 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/Bindings.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/Bindings.kt
@@ -20,4 +20,4 @@
 
 class Foo @Inject constructor()
 
-class Bar @Inject constructor()
\ No newline at end of file
+class Bar @Inject constructor()
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/FragmentInjectionTest.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/FragmentInjectionTest.kt
index 647f22c..8fb0c58 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/FragmentInjectionTest.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/FragmentInjectionTest.kt
@@ -128,4 +128,4 @@
     companion object {
         const val FRAGMENT_TAG = "tag"
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/MyViewModels.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/MyViewModels.kt
index 7f87072..040777a 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/MyViewModels.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/MyViewModels.kt
@@ -36,4 +36,4 @@
     @Suppress("UNUSED_PARAMETER")
     @HiltViewModel
     class MyNestedInjectedViewModel @Inject constructor(foo: Foo) : ViewModel()
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/TestRunner.kt b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/TestRunner.kt
index b8c8e9d..7d2c73a 100644
--- a/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/TestRunner.kt
+++ b/hilt/integration-tests/viewmodelapp/src/androidTest/java/androidx/hilt/integration/viewmodelapp/TestRunner.kt
@@ -29,4 +29,4 @@
     ): Application {
         return super.newApplication(cl, HiltTestApplication::class.java.name, context)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/App.kt b/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/App.kt
index 9dc8b39..06579d2 100644
--- a/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/App.kt
+++ b/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/App.kt
@@ -20,4 +20,4 @@
 import dagger.hilt.android.HiltAndroidApp
 
 @HiltAndroidApp
-class App : Application()
\ No newline at end of file
+class App : Application()
diff --git a/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleActivity.kt b/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleActivity.kt
index d4a63e9..996d77c 100644
--- a/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleActivity.kt
+++ b/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleActivity.kt
@@ -40,4 +40,4 @@
                 .commit()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleFragment.kt b/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleFragment.kt
index 5afea57..b7c54cf 100644
--- a/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleFragment.kt
+++ b/hilt/integration-tests/viewmodelapp/src/main/java/androidx/hilt/integration/viewmodelapp/SimpleFragment.kt
@@ -35,4 +35,4 @@
         Log.d("SimpleFragment", simpleViewModel.hi())
         Log.d("SimpleFragment", activitySimpleViewModel.hi())
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/viewmodelapp/src/test/kotlin/EmptyFile.kt b/hilt/integration-tests/viewmodelapp/src/test/kotlin/EmptyFile.kt
index b1634a1..2f7ed51 100644
--- a/hilt/integration-tests/viewmodelapp/src/test/kotlin/EmptyFile.kt
+++ b/hilt/integration-tests/viewmodelapp/src/test/kotlin/EmptyFile.kt
@@ -15,4 +15,4 @@
  */
 
 // NOTE(b/190438045):
-// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
\ No newline at end of file
+// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
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 46cc51c..4ea236c 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
@@ -83,4 +83,4 @@
         val result = worker.doWork()
         assertThat(result).isEqualTo(ListenableWorker.Result.success())
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/TestRunner.kt b/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/TestRunner.kt
index b5d51ac..c454059 100644
--- a/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/TestRunner.kt
+++ b/hilt/integration-tests/workerapp/src/androidTest/java/androidx/hilt/integration/workerapp/TestRunner.kt
@@ -29,4 +29,4 @@
     ): Application {
         return super.newApplication(cl, HiltTestApplication::class.java.name, context)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/App.kt b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/App.kt
index ff0527d..7ff239b 100644
--- a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/App.kt
+++ b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/App.kt
@@ -20,4 +20,4 @@
 import dagger.hilt.android.HiltAndroidApp
 
 @HiltAndroidApp
-class App : Application()
\ No newline at end of file
+class App : Application()
diff --git a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleActivity.kt b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleActivity.kt
index 9d4aca5..3cf8053 100644
--- a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleActivity.kt
+++ b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleActivity.kt
@@ -40,4 +40,4 @@
             workManager.enqueue(OneTimeWorkRequestBuilder<SimpleCoroutineWorker>().build())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleWorker.kt b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleWorker.kt
index 5fc9f80..f82899a 100644
--- a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleWorker.kt
+++ b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/SimpleWorker.kt
@@ -65,4 +65,4 @@
     fun log(s: String) {
         Log.i("MyLogger", s)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/WorkManagerModule.kt b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/WorkManagerModule.kt
index 36bdac7..50fa678 100644
--- a/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/WorkManagerModule.kt
+++ b/hilt/integration-tests/workerapp/src/main/java/androidx/hilt/integration/workerapp/WorkManagerModule.kt
@@ -44,4 +44,4 @@
         )
         return WorkManager.getInstance(context)
     }
-}
\ No newline at end of file
+}
diff --git a/hilt/integration-tests/workerapp/src/test/kotlin/EmptyFile.kt b/hilt/integration-tests/workerapp/src/test/kotlin/EmptyFile.kt
index b1634a1..2f7ed51 100644
--- a/hilt/integration-tests/workerapp/src/test/kotlin/EmptyFile.kt
+++ b/hilt/integration-tests/workerapp/src/test/kotlin/EmptyFile.kt
@@ -15,4 +15,4 @@
  */
 
 // NOTE(b/190438045):
-// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
\ No newline at end of file
+// This file is intentionally left empty to temporarily work around a bug in AGP 7.1.0-alpha02
diff --git a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/AGPExtensions.kt b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/AGPExtensions.kt
index 2ee7633..6d6a8e6 100644
--- a/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/AGPExtensions.kt
+++ b/inspection/inspection-gradle-plugin/src/main/kotlin/androidx/inspection/gradle/AGPExtensions.kt
@@ -45,4 +45,4 @@
 ): File {
     val inspectionDir = File(project.buildDir, "androidx_inspection")
     return File(File(inspectionDir, baseName), variant.dirName)
-}
\ No newline at end of file
+}
diff --git a/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/EchoInspectionTest.kt b/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/EchoInspectionTest.kt
index 2492132..64138cd 100644
--- a/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/EchoInspectionTest.kt
+++ b/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/EchoInspectionTest.kt
@@ -115,4 +115,4 @@
     }
 
     internal fun fakeCallCodeInApp() = TickleManager.tickle()
-}
\ No newline at end of file
+}
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 a1d4bb3..58f1c4a 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
@@ -74,4 +74,4 @@
 class EchoInspectorFactory : InspectorFactory<EchoInspector>(ECHO_INSPECTION_ID) {
     override fun createInspector(connection: Connection, unusedEnvironment: InspectorEnvironment) =
         EchoInspector(connection)
-}
\ No newline at end of file
+}
diff --git a/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/TickleManager.kt b/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/TickleManager.kt
index 6d63471..a9877ed 100644
--- a/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/TickleManager.kt
+++ b/inspection/inspection-testing/src/androidTest/java/androidx/inspection/testing/echo/TickleManager.kt
@@ -35,4 +35,4 @@
     fun tickle() {
         channel.trySend(Unit)
     }
-}
\ No newline at end of file
+}
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 645cea9..0e29f03 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
@@ -59,4 +59,4 @@
     }
 
     override fun io() = ioExecutor
-}
\ No newline at end of file
+}
diff --git a/inspection/inspection/src/androidTest/java/androidx/inspection/InspectorTest.kt b/inspection/inspection/src/androidTest/java/androidx/inspection/InspectorTest.kt
index 4936980..1e6965d 100644
--- a/inspection/inspection/src/androidTest/java/androidx/inspection/InspectorTest.kt
+++ b/inspection/inspection/src/androidTest/java/androidx/inspection/InspectorTest.kt
@@ -35,4 +35,4 @@
         }
         assertThat(value).isNotNull()
     }
-}
\ No newline at end of file
+}
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 3a93a310..dc7cdeb 100644
--- a/inspection/inspection/src/androidTest/java/androidx/inspection/rules/JvmtiRule.kt
+++ b/inspection/inspection/src/androidTest/java/androidx/inspection/rules/JvmtiRule.kt
@@ -41,4 +41,4 @@
     override fun before() {
         ensureInitialised()
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ComparableSubject.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ComparableSubject.kt
index 3cd3459..f456f03 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ComparableSubject.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ComparableSubject.kt
@@ -97,4 +97,4 @@
             asserter.fail("Expected to be at least $other, but was $actual")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/DoubleSubject.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/DoubleSubject.kt
index f8eac62..0448cc7 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/DoubleSubject.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/DoubleSubject.kt
@@ -194,4 +194,4 @@
     fun isAtLeast(other: Int) {
         isAtLeast(other.toDouble())
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/FailingOrdered.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/FailingOrdered.kt
index 1c5fafb..3ba1a75 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/FailingOrdered.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/FailingOrdered.kt
@@ -27,4 +27,4 @@
     override fun inOrder() {
         asserter.fail(message())
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthAsserter.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthAsserter.kt
index cfca771..6d0c4bb 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthAsserter.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthAsserter.kt
@@ -99,4 +99,4 @@
 
         return actual
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthExt.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthExt.kt
index 4e59342..48497eb 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthExt.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/KruthExt.kt
@@ -36,4 +36,4 @@
     ThrowableSubject<T> {
     val e = assertFailsWith<T>(exceptionClass = exceptionClass, block = block)
     return assertThat(e)
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/MathUtil.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/MathUtil.kt
index d3c9a5a..bd9ffc8 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/MathUtil.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/MathUtil.kt
@@ -58,4 +58,4 @@
  */
 internal fun notEqualWithinTolerance(left: Float, right: Float, tolerance: Float): Boolean {
     return notEqualWithinTolerance(left.toDouble(), right.toDouble(), tolerance.toDouble())
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/SimpleSubjectBuilder.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/SimpleSubjectBuilder.kt
index 405eb04..a336739 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/SimpleSubjectBuilder.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/SimpleSubjectBuilder.kt
@@ -36,4 +36,4 @@
 
     fun that(actual: T): S =
         subjectFactory.createSubject(metadata, actual)
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ThrowableSubject.kt b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ThrowableSubject.kt
index 2305ed4..f613adf 100644
--- a/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ThrowableSubject.kt
+++ b/kruth/kruth/src/commonMain/kotlin/androidx/kruth/ThrowableSubject.kt
@@ -30,4 +30,4 @@
     fun hasMessageThat(): StringSubject {
         return StringSubject(actual = actual?.message, metadata = metadata)
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/AssertWithMessageTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/AssertWithMessageTest.kt
index 57e27d4..85f4d9f 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/AssertWithMessageTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/AssertWithMessageTest.kt
@@ -87,4 +87,4 @@
     }
 
     private data class Some(val value: Int)
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/BooleanSubjectTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/BooleanSubjectTest.kt
index 06ce90d..3b851ca 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/BooleanSubjectTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/BooleanSubjectTest.kt
@@ -67,4 +67,4 @@
             assertThat(true).isFalse()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/ComparableSubjectTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/ComparableSubjectTest.kt
index 8e7a938..4e58b3f 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/ComparableSubjectTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/ComparableSubjectTest.kt
@@ -166,4 +166,4 @@
     override fun toString(): String {
         return wrapped.toString()
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/DoubleSubjectTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/DoubleSubjectTest.kt
index 5a90e17..7e0f09d 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/DoubleSubjectTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/DoubleSubjectTest.kt
@@ -494,4 +494,4 @@
         assertThat(2.0).isAtMost(2)
         assertThat(2.0).isAtMost(3)
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/KruthAsserterTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/KruthAsserterTest.kt
index bce09ef..0adf072 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/KruthAsserterTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/KruthAsserterTest.kt
@@ -100,4 +100,4 @@
             asserter.assertNotNull(actual = null, message = "Msg")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MapSubjectKruthTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MapSubjectKruthTest.kt
index 6ee7a7b..438664d 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MapSubjectKruthTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MapSubjectKruthTest.kt
@@ -41,4 +41,4 @@
             mapInOrderReversed.inOrder()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MathUtilTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MathUtilTest.kt
index 32a094b..20884f7 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MathUtilTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/MathUtilTest.kt
@@ -113,4 +113,4 @@
             .isFalse()
         assertThat(notEqualWithinTolerance(Double.NaN, Double.NaN, 0.01)).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/RetainMatchingToStringTest.kt b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/RetainMatchingToStringTest.kt
index 5ead763..bd5c785 100644
--- a/kruth/kruth/src/commonTest/kotlin/androidx/kruth/RetainMatchingToStringTest.kt
+++ b/kruth/kruth/src/commonTest/kotlin/androidx/kruth/RetainMatchingToStringTest.kt
@@ -51,4 +51,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 2cda1ef..67ca9a3 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
@@ -226,4 +226,4 @@
     override fun areItemsTheSame(oldItem: Int, newItem: Int): Boolean {
         return oldItem == newItem
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleCoroutineScopeAndroidTest.kt b/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleCoroutineScopeAndroidTest.kt
index 77d4db8..66d41e1 100644
--- a/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleCoroutineScopeAndroidTest.kt
+++ b/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleCoroutineScopeAndroidTest.kt
@@ -23,4 +23,4 @@
  * To ensure consistent behavior, we run these tests both on androidTest and test
  */
 @RunWith(AndroidJUnit4::class)
-class LifecycleCoroutineScopeAndroidTest : LifecycleCoroutineScopeTestBase()
\ No newline at end of file
+class LifecycleCoroutineScopeAndroidTest : LifecycleCoroutineScopeTestBase()
diff --git a/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleScopeIntegrationTest.kt b/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleScopeIntegrationTest.kt
index 48b2542..af7dc2f 100644
--- a/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleScopeIntegrationTest.kt
+++ b/lifecycle/integration-tests/kotlintestapp/src/androidTest/java/androidx/lifecycle/LifecycleScopeIntegrationTest.kt
@@ -120,4 +120,4 @@
         }
         return owner
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/integration-tests/kotlintestapp/src/main/java/androidx/lifecycle/kotlintestapp/TestActivity.kt b/lifecycle/integration-tests/kotlintestapp/src/main/java/androidx/lifecycle/kotlintestapp/TestActivity.kt
index f0a2e6c..4fce916 100644
--- a/lifecycle/integration-tests/kotlintestapp/src/main/java/androidx/lifecycle/kotlintestapp/TestActivity.kt
+++ b/lifecycle/integration-tests/kotlintestapp/src/main/java/androidx/lifecycle/kotlintestapp/TestActivity.kt
@@ -16,4 +16,4 @@
 
 package androidx.lifecycle.kotlintestapp
 
-class TestActivity : androidx.activity.ComponentActivity()
\ No newline at end of file
+class TestActivity : androidx.activity.ComponentActivity()
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/CompositeGeneratedAdaptersObserver.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/CompositeGeneratedAdaptersObserver.kt
index a2ee026..374e23b 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/CompositeGeneratedAdaptersObserver.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/CompositeGeneratedAdaptersObserver.kt
@@ -28,4 +28,4 @@
             adapter.callMethods(source, event, true, logger)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserver.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserver.kt
index c0eef46..cdedf03 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserver.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserver.kt
@@ -90,4 +90,4 @@
      * @param owner the component, whose state was changed
      */
     public fun onDestroy(owner: LifecycleOwner) {}
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserverAdapter.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserverAdapter.kt
index 9e69dcc..2f76a7e 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserverAdapter.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/DefaultLifecycleObserverAdapter.kt
@@ -32,4 +32,4 @@
         }
         lifecycleEventObserver?.onStateChanged(source, event)
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/GeneratedAdapter.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/GeneratedAdapter.kt
index e384aae..d47d6ba 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/GeneratedAdapter.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/GeneratedAdapter.kt
@@ -34,4 +34,4 @@
         onAny: Boolean,
         logger: MethodCallsLogger?
     )
-}
\ No newline at end of file
+}
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 bbf1313..66ec94d 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycle.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycle.kt
@@ -442,4 +442,4 @@
         }.also { addObserver(it) }
 
         awaitClose { removeObserver(observer) }
-    }.flowOn(Dispatchers.Main.immediate)
\ No newline at end of file
+    }.flowOn(Dispatchers.Main.immediate)
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleController.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleController.kt
index 4edc2fb..a07322a 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleController.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleController.kt
@@ -67,4 +67,4 @@
         lifecycle.removeObserver(observer)
         dispatchQueue.finish()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleEventObserver.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleEventObserver.kt
index 59c2ee3a3..4f7c104 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleEventObserver.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleEventObserver.kt
@@ -34,4 +34,4 @@
      * @param event The event
      */
     public fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event)
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleOwner.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleOwner.kt
index c8ddcb7..7de82f2 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleOwner.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/LifecycleOwner.kt
@@ -42,4 +42,4 @@
  * [Dispatchers.Main.immediate][kotlinx.coroutines.MainCoroutineDispatcher.immediate].
  */
 public val LifecycleOwner.lifecycleScope: LifecycleCoroutineScope
-    get() = lifecycle.coroutineScope
\ No newline at end of file
+    get() = lifecycle.coroutineScope
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycling.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycling.kt
index 64ce3be..51efb21 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycling.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/Lifecycling.kt
@@ -173,4 +173,4 @@
     public fun getAdapterName(className: String): String {
         return className.replace(".", "_") + "_LifecycleAdapter"
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/MethodCallsLogger.kt b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/MethodCallsLogger.kt
index 4e8b9d3..fffe354 100644
--- a/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/MethodCallsLogger.kt
+++ b/lifecycle/lifecycle-common/src/main/java/androidx/lifecycle/MethodCallsLogger.kt
@@ -29,4 +29,4 @@
         calledMethods[name] = mask or type
         return !wasCalled
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/DefaultLifecycleObserverTest.kt b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/DefaultLifecycleObserverTest.kt
index 772e9c4..e4a6352 100644
--- a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/DefaultLifecycleObserverTest.kt
+++ b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/DefaultLifecycleObserverTest.kt
@@ -136,4 +136,4 @@
             override fun onDestroy(owner: LifecycleOwner) {}
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/LifecyclingTest.kt b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/LifecyclingTest.kt
index 93b99b5..99c31e1 100644
--- a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/LifecyclingTest.kt
+++ b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/LifecyclingTest.kt
@@ -180,4 +180,4 @@
     internal class DefaultLifecycleOwner : LifecycleOwner {
         override val lifecycle = NoOpLifecycle()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/ReflectiveGenericLifecycleObserverTest.kt b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/ReflectiveGenericLifecycleObserverTest.kt
index f9866c2..f0ece24 100644
--- a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/ReflectiveGenericLifecycleObserverTest.kt
+++ b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/ReflectiveGenericLifecycleObserverTest.kt
@@ -348,4 +348,4 @@
     fun testInvalidSuper3() {
         ReflectiveGenericLifecycleObserver(DerivedClass5())
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/observers/NoOpLifecycle.kt b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/observers/NoOpLifecycle.kt
index c495f2c..4328f86 100644
--- a/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/observers/NoOpLifecycle.kt
+++ b/lifecycle/lifecycle-common/src/test/java/androidx/lifecycle/observers/NoOpLifecycle.kt
@@ -27,4 +27,4 @@
     override val currentState: State
         // use arbitrary State
         get() = State.RESUMED
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/EventMethod.kt b/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/EventMethod.kt
index 32b628f..4ef9301 100644
--- a/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/EventMethod.kt
+++ b/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/EventMethod.kt
@@ -30,4 +30,4 @@
     fun packageName() = type.getPackageQName()
 }
 
-data class EventMethodCall(val method: EventMethod, val syntheticAccess: TypeElement? = null)
\ No newline at end of file
+data class EventMethodCall(val method: EventMethod, val syntheticAccess: TypeElement? = null)
diff --git a/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/InputModel.kt b/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/InputModel.kt
index 4f10998..34b8975 100644
--- a/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/InputModel.kt
+++ b/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/InputModel.kt
@@ -43,4 +43,4 @@
                 (eventMethod.method.parameters.size + 1) == executable.parameters.size
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/LifecycleObserverInfo.kt b/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/LifecycleObserverInfo.kt
index c6560fd4..8d94f64 100644
--- a/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/LifecycleObserverInfo.kt
+++ b/lifecycle/lifecycle-compiler/src/main/kotlin/androidx/lifecycle/model/LifecycleObserverInfo.kt
@@ -22,4 +22,4 @@
     val type: TypeElement,
     val methods: List<EventMethod>,
     val parents: List<LifecycleObserverInfo> = listOf()
-)
\ No newline at end of file
+)
diff --git a/lifecycle/lifecycle-livedata-core-truth/src/test/java/androidx/lifecycle/truth/LiveDataSubjectTest.kt b/lifecycle/lifecycle-livedata-core-truth/src/test/java/androidx/lifecycle/truth/LiveDataSubjectTest.kt
index 854423b..6ff7463 100644
--- a/lifecycle/lifecycle-livedata-core-truth/src/test/java/androidx/lifecycle/truth/LiveDataSubjectTest.kt
+++ b/lifecycle/lifecycle-livedata-core-truth/src/test/java/androidx/lifecycle/truth/LiveDataSubjectTest.kt
@@ -49,4 +49,4 @@
             assertThat(liveData).hasActiveObservers()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-core/src/main/java/androidx/lifecycle/Observer.kt b/lifecycle/lifecycle-livedata-core/src/main/java/androidx/lifecycle/Observer.kt
index 2df6295..e406121 100644
--- a/lifecycle/lifecycle-livedata-core/src/main/java/androidx/lifecycle/Observer.kt
+++ b/lifecycle/lifecycle-livedata-core/src/main/java/androidx/lifecycle/Observer.kt
@@ -26,4 +26,4 @@
      * Called when the data is changed is changed to [value].
      */
     fun onChanged(value: T)
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/LiveDataTest.kt b/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/LiveDataTest.kt
index a085ac35..b280b60 100644
--- a/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/LiveDataTest.kt
+++ b/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/LiveDataTest.kt
@@ -848,4 +848,4 @@
     internal interface MethodExec {
         fun onCall(value: Boolean)
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/ThreadedLiveDataTest.kt b/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/ThreadedLiveDataTest.kt
index d50f1dc..f1e12f3 100644
--- a/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/ThreadedLiveDataTest.kt
+++ b/lifecycle/lifecycle-livedata-core/src/test/java/androidx/lifecycle/ThreadedLiveDataTest.kt
@@ -88,4 +88,4 @@
     companion object {
         private const val TIMEOUT_SECS = 3
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-ktx/src/main/java/androidx/lifecycle/FlowLiveData.kt b/lifecycle/lifecycle-livedata-ktx/src/main/java/androidx/lifecycle/FlowLiveData.kt
index fd50175..3b05ffd 100644
--- a/lifecycle/lifecycle-livedata-ktx/src/main/java/androidx/lifecycle/FlowLiveData.kt
+++ b/lifecycle/lifecycle-livedata-ktx/src/main/java/androidx/lifecycle/FlowLiveData.kt
@@ -156,4 +156,4 @@
 public fun <T> Flow<T>.asLiveData(
     context: CoroutineContext = EmptyCoroutineContext,
     timeout: Duration
-): LiveData<T> = asLiveData(context, Api26Impl.toMillis(timeout))
\ No newline at end of file
+): LiveData<T> = asLiveData(context, Api26Impl.toMillis(timeout))
diff --git a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/BuildLiveDataTest.kt b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/BuildLiveDataTest.kt
index ddc32ed..fbb5f3d 100644
--- a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/BuildLiveDataTest.kt
+++ b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/BuildLiveDataTest.kt
@@ -459,4 +459,4 @@
     }
 
     private fun <T> LiveData<T>.addObserver() = this.addObserver(scopes)
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/FlowAsLiveDataTest.kt b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/FlowAsLiveDataTest.kt
index 0f349a6..c1e21b0 100644
--- a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/FlowAsLiveDataTest.kt
+++ b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/FlowAsLiveDataTest.kt
@@ -231,4 +231,4 @@
         // re-observe, get latest value only
         ld.addObserver().assertItems(4)
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/LiveDataAsFlowTest.kt b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/LiveDataAsFlowTest.kt
index ab075f6..5bbe0b0 100644
--- a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/LiveDataAsFlowTest.kt
+++ b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/LiveDataAsFlowTest.kt
@@ -134,4 +134,4 @@
         assertThat(ld.hasActiveObservers()).isFalse()
         assertThat(jobB.isCompleted).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/ScopesRule.kt b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/ScopesRule.kt
index d1193af..63cd8a1 100644
--- a/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/ScopesRule.kt
+++ b/lifecycle/lifecycle-livedata-ktx/src/test/java/androidx/lifecycle/ScopesRule.kt
@@ -115,4 +115,4 @@
     fun unsubscribe() = scopes.runOnMain {
         liveData.removeObserver(this)
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/ComputableLiveData.kt b/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/ComputableLiveData.kt
index e2f291c..cccfd22 100644
--- a/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/ComputableLiveData.kt
+++ b/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/ComputableLiveData.kt
@@ -114,4 +114,4 @@
     // TODO https://issuetracker.google.com/issues/112197238
     @WorkerThread
     protected abstract fun compute(): T
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/Transformations.kt b/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/Transformations.kt
index c3b9ed6..c8f3cc7 100644
--- a/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/Transformations.kt
+++ b/lifecycle/lifecycle-livedata/src/main/java/androidx/lifecycle/Transformations.kt
@@ -193,4 +193,4 @@
         }
     }
     return outputLiveData
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/ComputableLiveDataTest.kt b/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/ComputableLiveDataTest.kt
index 1b5c5d4..d54cd4a 100644
--- a/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/ComputableLiveDataTest.kt
+++ b/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/ComputableLiveDataTest.kt
@@ -218,4 +218,4 @@
             return values[valueCounter.getAndIncrement()]
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/MediatorLiveDataTest.kt b/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/MediatorLiveDataTest.kt
index a312148..0d7aa94 100644
--- a/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/MediatorLiveDataTest.kt
+++ b/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/MediatorLiveDataTest.kt
@@ -251,4 +251,4 @@
         owner.handleLifecycleEvent(Lifecycle.Event.ON_START)
         assertThat(mediator.value, `is`("c"))
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/TransformationsTest.kt b/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/TransformationsTest.kt
index f798e96..737abdb 100644
--- a/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/TransformationsTest.kt
+++ b/lifecycle/lifecycle-livedata/src/test/java/androidx/lifecycle/TransformationsTest.kt
@@ -227,4 +227,4 @@
             ++timesUpdated
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/EmptyActivityLifecycleCallbacks.kt b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/EmptyActivityLifecycleCallbacks.kt
index d1c66d9..f04af00 100644
--- a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/EmptyActivityLifecycleCallbacks.kt
+++ b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/EmptyActivityLifecycleCallbacks.kt
@@ -34,4 +34,4 @@
     override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
 
     override fun onActivityDestroyed(activity: Activity) {}
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/LifecycleDispatcher.kt b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/LifecycleDispatcher.kt
index 5a4ef24..5d21640 100644
--- a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/LifecycleDispatcher.kt
+++ b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/LifecycleDispatcher.kt
@@ -47,4 +47,4 @@
             ReportFragment.injectIfNeededIn(activity)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleInitializer.kt b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleInitializer.kt
index 9e5d369..fe72469 100644
--- a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleInitializer.kt
+++ b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleInitializer.kt
@@ -39,4 +39,4 @@
     }
 
     override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleOwner.kt b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleOwner.kt
index f29e9e4..6003da1 100644
--- a/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleOwner.kt
+++ b/lifecycle/lifecycle-process/src/main/java/androidx/lifecycle/ProcessLifecycleOwner.kt
@@ -199,4 +199,4 @@
             activity.registerActivityLifecycleCallbacks(callback)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-process/src/test/java/androidx/lifecycle/DispatcherActivityCallbackTest.kt b/lifecycle/lifecycle-process/src/test/java/androidx/lifecycle/DispatcherActivityCallbackTest.kt
index 6466d53..5f0c0ee 100644
--- a/lifecycle/lifecycle-process/src/test/java/androidx/lifecycle/DispatcherActivityCallbackTest.kt
+++ b/lifecycle/lifecycle-process/src/test/java/androidx/lifecycle/DispatcherActivityCallbackTest.kt
@@ -60,4 +60,4 @@
         verify(transaction).add(any(ReportFragment::class.java), anyString())
         verify(transaction).commit()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-reactivestreams/src/main/java/androidx/lifecycle/LiveDataReactiveStreams.kt b/lifecycle/lifecycle-reactivestreams/src/main/java/androidx/lifecycle/LiveDataReactiveStreams.kt
index 5f09eb2..2489ec8 100644
--- a/lifecycle/lifecycle-reactivestreams/src/main/java/androidx/lifecycle/LiveDataReactiveStreams.kt
+++ b/lifecycle/lifecycle-reactivestreams/src/main/java/androidx/lifecycle/LiveDataReactiveStreams.kt
@@ -240,4 +240,4 @@
             s?.cancel()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-reactivestreams/src/test/java/androidx/lifecycle/LiveDataReactiveStreamsExtensionTest.kt b/lifecycle/lifecycle-reactivestreams/src/test/java/androidx/lifecycle/LiveDataReactiveStreamsExtensionTest.kt
index 022d9d6..b93603d 100644
--- a/lifecycle/lifecycle-reactivestreams/src/test/java/androidx/lifecycle/LiveDataReactiveStreamsExtensionTest.kt
+++ b/lifecycle/lifecycle-reactivestreams/src/test/java/androidx/lifecycle/LiveDataReactiveStreamsExtensionTest.kt
@@ -67,4 +67,4 @@
 
         assertThat(outputProcessor.values).asList().containsExactly("foo", "bar", "baz")
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-compose/samples/src/main/java/androidx/lifecycle/compose/samples/LifecycleComposeSamples.kt b/lifecycle/lifecycle-runtime-compose/samples/src/main/java/androidx/lifecycle/compose/samples/LifecycleComposeSamples.kt
index d6786be..1cf0ff6 100644
--- a/lifecycle/lifecycle-runtime-compose/samples/src/main/java/androidx/lifecycle/compose/samples/LifecycleComposeSamples.kt
+++ b/lifecycle/lifecycle-runtime-compose/samples/src/main/java/androidx/lifecycle/compose/samples/LifecycleComposeSamples.kt
@@ -119,4 +119,4 @@
 
         // ...
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleEffectTest.kt b/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleEffectTest.kt
index 1934883..4207518 100644
--- a/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleEffectTest.kt
+++ b/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleEffectTest.kt
@@ -535,4 +535,4 @@
                 .isEqualTo("changed resumed disposed")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleExtTest.kt b/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleExtTest.kt
index a9e7d4e..21777bb 100644
--- a/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleExtTest.kt
+++ b/lifecycle/lifecycle-runtime-compose/src/androidTest/java/androidx/lifecycle/compose/LifecycleExtTest.kt
@@ -62,4 +62,4 @@
         }
         */
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt b/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt
index 88ee99e..d76638e 100644
--- a/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt
+++ b/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleEffect.kt
@@ -686,4 +686,4 @@
             onPauseOrDisposeEffect()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleExt.kt b/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleExt.kt
index 27ed591..3fbdc30 100644
--- a/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleExt.kt
+++ b/lifecycle/lifecycle-runtime-compose/src/main/java/androidx/lifecycle/compose/LifecycleExt.kt
@@ -29,4 +29,4 @@
  * [State.value] usage.
  */
 @Composable
-fun Lifecycle.currentStateAsState(): State<Lifecycle.State> = currentStateFlow.collectAsState()
\ No newline at end of file
+fun Lifecycle.currentStateAsState(): State<Lifecycle.State> = currentStateFlow.collectAsState()
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 dce48e7..167a9f3 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
@@ -299,4 +299,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/Expectations.kt b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/Expectations.kt
index 4194da9..a1053b6 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/Expectations.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/Expectations.kt
@@ -39,4 +39,4 @@
     fun expectTotal(total: Int) {
         Truth.assertThat(counter.get()).isEqualTo(total)
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/FakeLifecycleOwner.kt b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/FakeLifecycleOwner.kt
index 10d9fd9..8472158 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/FakeLifecycleOwner.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/FakeLifecycleOwner.kt
@@ -71,4 +71,4 @@
             registry.observerCount
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/LaunchWhenTest.kt b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/LaunchWhenTest.kt
index 0181abe..5b5d3d3 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/LaunchWhenTest.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/LaunchWhenTest.kt
@@ -67,4 +67,4 @@
             expectations.expect(10)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TaskTracker.kt b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TaskTracker.kt
index f56e505..383fbf9 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TaskTracker.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TaskTracker.kt
@@ -51,4 +51,4 @@
             return idle.await(time, timeUnit)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TrackedExecutor.kt b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TrackedExecutor.kt
index d33030c..6fcfaf4 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TrackedExecutor.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/androidTest/java/androidx/lifecycle/TrackedExecutor.kt
@@ -47,4 +47,4 @@
         fun inc()
         fun dec()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/View.kt b/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/View.kt
index 002ff2c..9d17f28 100644
--- a/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/View.kt
+++ b/lifecycle/lifecycle-runtime-ktx/src/main/java/androidx/lifecycle/View.kt
@@ -31,4 +31,4 @@
     ),
     level = DeprecationLevel.HIDDEN
 )
-public fun View.findViewTreeLifecycleOwner(): LifecycleOwner? = findViewTreeLifecycleOwner()
\ No newline at end of file
+public fun View.findViewTreeLifecycleOwner(): LifecycleOwner? = findViewTreeLifecycleOwner()
diff --git a/lifecycle/lifecycle-runtime-testing/src/test/java/androidx/lifecycle/testing/LifecycleEventFlowTest.kt b/lifecycle/lifecycle-runtime-testing/src/test/java/androidx/lifecycle/testing/LifecycleEventFlowTest.kt
index 8d2a43e..23982d8 100644
--- a/lifecycle/lifecycle-runtime-testing/src/test/java/androidx/lifecycle/testing/LifecycleEventFlowTest.kt
+++ b/lifecycle/lifecycle-runtime-testing/src/test/java/androidx/lifecycle/testing/LifecycleEventFlowTest.kt
@@ -107,4 +107,4 @@
         owner.currentState = Lifecycle.State.RESUMED
         assertThat(collectedEvents).isEmpty()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/LifecycleRegistry.kt b/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/LifecycleRegistry.kt
index 88f3480..03f2836 100644
--- a/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/LifecycleRegistry.kt
+++ b/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/LifecycleRegistry.kt
@@ -344,4 +344,4 @@
             return if ((state2 != null) && (state2 < state1)) state2 else state1
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/ReportFragment.kt b/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/ReportFragment.kt
index 9873795..8bcd9d0 100644
--- a/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/ReportFragment.kt
+++ b/lifecycle/lifecycle-runtime/src/main/java/androidx/lifecycle/ReportFragment.kt
@@ -201,4 +201,4 @@
                 ) as ReportFragment
             }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/LifecycleService.kt b/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/LifecycleService.kt
index 17006dc..1e3eccc 100644
--- a/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/LifecycleService.kt
+++ b/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/LifecycleService.kt
@@ -64,4 +64,4 @@
 
     override val lifecycle: Lifecycle
         get() = dispatcher.lifecycle
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/ServiceLifecycleDispatcher.kt b/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/ServiceLifecycleDispatcher.kt
index 9d2d086..7a4eb91 100644
--- a/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/ServiceLifecycleDispatcher.kt
+++ b/lifecycle/lifecycle-service/src/main/java/androidx/lifecycle/ServiceLifecycleDispatcher.kt
@@ -94,4 +94,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/TestViewModelClasses.kt b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/TestViewModelClasses.kt
index e8f0678..3383c32 100644
--- a/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/TestViewModelClasses.kt
+++ b/lifecycle/lifecycle-viewmodel-compose/src/androidTest/java/androidx/lifecycle/viewmodel/compose/TestViewModelClasses.kt
@@ -39,4 +39,4 @@
 public class SavedStateHandleAndApplicationViewModel(
     application: Application,
     @Suppress("UNUSED_PARAMETER") savedStateHandle: SavedStateHandle
-) : AndroidViewModel(application)
\ No newline at end of file
+) : AndroidViewModel(application)
diff --git a/lifecycle/lifecycle-viewmodel-ktx/src/androidTest/java/androidx/lifecycle/ViewModelTest.kt b/lifecycle/lifecycle-viewmodel-ktx/src/androidTest/java/androidx/lifecycle/ViewModelTest.kt
index b9990ac..3bbfbf6 100644
--- a/lifecycle/lifecycle-viewmodel-ktx/src/androidTest/java/androidx/lifecycle/ViewModelTest.kt
+++ b/lifecycle/lifecycle-viewmodel-ktx/src/androidTest/java/androidx/lifecycle/ViewModelTest.kt
@@ -72,4 +72,4 @@
             delayingDeferred.cancelAndJoin()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/SavedStateFactoryTest.kt b/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/SavedStateFactoryTest.kt
index 12fe0e0..73285fc 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/SavedStateFactoryTest.kt
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/SavedStateFactoryTest.kt
@@ -207,4 +207,4 @@
             extras[VIEW_MODEL_STORE_OWNER_KEY] = this
             return extras
         }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/TestComponent.kt b/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/TestComponent.kt
index a0c00510..f28e101 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/TestComponent.kt
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/TestComponent.kt
@@ -73,4 +73,4 @@
         if (bundle != null) extras[DEFAULT_ARGS_KEY] = bundle
         return extras.createSavedStateHandle()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/ViewModelsWithStateTest.kt b/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/ViewModelsWithStateTest.kt
index c139d47..e61217a 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/ViewModelsWithStateTest.kt
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/androidTest/java/androidx/lifecycle/viewmodel/savedstate/ViewModelsWithStateTest.kt
@@ -263,4 +263,4 @@
             extras[VIEW_MODEL_STORE_OWNER_KEY] = this
             return extras
         }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.kt b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.kt
index 2e06e75..7ae26bed 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.kt
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/AbstractSavedStateViewModelFactory.kt
@@ -153,4 +153,4 @@
         internal const val TAG_SAVED_STATE_HANDLE_CONTROLLER =
             "androidx.lifecycle.savedstate.vm.tag"
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/LegacySavedStateHandleController.kt b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/LegacySavedStateHandleController.kt
index 2f3de01..d852da8 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/LegacySavedStateHandleController.kt
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/LegacySavedStateHandleController.kt
@@ -90,4 +90,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateHandleController.kt b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateHandleController.kt
index d50f2c7..3770888 100644
--- a/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateHandleController.kt
+++ b/lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateHandleController.kt
@@ -38,4 +38,4 @@
             source.lifecycle.removeObserver(this)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/AndroidViewModelFactoryTest.kt b/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/AndroidViewModelFactoryTest.kt
index 7d851da..543d342 100644
--- a/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/AndroidViewModelFactoryTest.kt
+++ b/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/AndroidViewModelFactoryTest.kt
@@ -106,4 +106,4 @@
 private fun queryApplication(): Application {
     val context = InstrumentationRegistry.getInstrumentation().context.applicationContext
     return context as? Application ?: throw IllegalStateException("Failed to get an application")
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/CreationExtrasTest.kt b/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/CreationExtrasTest.kt
index c992c09..f480a9a 100644
--- a/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/CreationExtrasTest.kt
+++ b/lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/CreationExtrasTest.kt
@@ -38,4 +38,4 @@
         initial[key] = bundleOf("value" to "overridden")
         assertThat(mutable[key]?.getString("value")).isEqualTo("initial")
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/AndroidViewModel.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/AndroidViewModel.kt
index 12f0b18..60bb467 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/AndroidViewModel.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/AndroidViewModel.kt
@@ -31,4 +31,4 @@
     open fun <T : Application> getApplication(): T {
         return application as T
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/HasDefaultViewModelProviderFactory.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/HasDefaultViewModelProviderFactory.kt
index 3a896b1..18039b69 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/HasDefaultViewModelProviderFactory.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/HasDefaultViewModelProviderFactory.kt
@@ -36,4 +36,4 @@
      */
     val defaultViewModelCreationExtras: CreationExtras
         get() = CreationExtras.Empty
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelLazy.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelLazy.kt
index 88cd92e..770b0b1 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelLazy.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelLazy.kt
@@ -59,4 +59,4 @@
         }
 
     override fun isInitialized(): Boolean = cached != null
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStore.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStore.kt
index 651afa0..5d8d42c 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStore.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStore.kt
@@ -70,4 +70,4 @@
         }
         map.clear()
     }
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt
index 5296800..dac1275 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt
@@ -30,4 +30,4 @@
      * The owned [ViewModelStore]
      */
     val viewModelStore: ViewModelStore
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewTreeViewModelStoreOwner.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewTreeViewModelStoreOwner.kt
index 7239652..1cdd93f 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewTreeViewModelStoreOwner.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewTreeViewModelStoreOwner.kt
@@ -52,4 +52,4 @@
     }.mapNotNull { view ->
         view.getTag(R.id.view_tree_view_model_store_owner) as? ViewModelStoreOwner
     }.firstOrNull()
-}
\ No newline at end of file
+}
diff --git a/lifecycle/lifecycle-viewmodel/src/test/java/androidx/lifecycle/ViewModelLazyTest.kt b/lifecycle/lifecycle-viewmodel/src/test/java/androidx/lifecycle/ViewModelLazyTest.kt
index 9a9b016..3607742 100644
--- a/lifecycle/lifecycle-viewmodel/src/test/java/androidx/lifecycle/ViewModelLazyTest.kt
+++ b/lifecycle/lifecycle-viewmodel/src/test/java/androidx/lifecycle/ViewModelLazyTest.kt
@@ -40,4 +40,4 @@
 
         override fun <T : ViewModel> create(modelClass: Class<T>): T = TestVM("spb") as T
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/integration-tests/src/main/java/androidx/KeepAnnotationUsageKotlin.kt b/lint-checks/integration-tests/src/main/java/androidx/KeepAnnotationUsageKotlin.kt
index 2d8395e..f2b8070 100644
--- a/lint-checks/integration-tests/src/main/java/androidx/KeepAnnotationUsageKotlin.kt
+++ b/lint-checks/integration-tests/src/main/java/androidx/KeepAnnotationUsageKotlin.kt
@@ -19,4 +19,4 @@
 import androidx.annotation.Keep
 
 @Keep
-class KeepAnnotationUsageKotlin
\ No newline at end of file
+class KeepAnnotationUsageKotlin
diff --git a/lint-checks/integration-tests/src/main/java/androidx/ParcelableUsageKotlin.kt b/lint-checks/integration-tests/src/main/java/androidx/ParcelableUsageKotlin.kt
index 6d22bfc..f205be3 100644
--- a/lint-checks/integration-tests/src/main/java/androidx/ParcelableUsageKotlin.kt
+++ b/lint-checks/integration-tests/src/main/java/androidx/ParcelableUsageKotlin.kt
@@ -37,4 +37,4 @@
             return arrayOfNulls(size)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/integration-tests/src/main/java/androidx/RequiresApiKotlin.kt b/lint-checks/integration-tests/src/main/java/androidx/RequiresApiKotlin.kt
index 5bbd9c6..c6de7b9 100644
--- a/lint-checks/integration-tests/src/main/java/androidx/RequiresApiKotlin.kt
+++ b/lint-checks/integration-tests/src/main/java/androidx/RequiresApiKotlin.kt
@@ -99,4 +99,4 @@
             return 0
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/integration-tests/src/main/java/androidx/ThreadSleepUsageKotlin.kt b/lint-checks/integration-tests/src/main/java/androidx/ThreadSleepUsageKotlin.kt
index e1cdde4..19a4a01 100644
--- a/lint-checks/integration-tests/src/main/java/androidx/ThreadSleepUsageKotlin.kt
+++ b/lint-checks/integration-tests/src/main/java/androidx/ThreadSleepUsageKotlin.kt
@@ -20,4 +20,4 @@
     fun badMethod() {
         Thread.sleep(1000)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKt.kt b/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKt.kt
index 3071bb1..9fe0848 100644
--- a/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKt.kt
+++ b/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKt.kt
@@ -367,4 +367,4 @@
         requestRelaunchActivityMethod =
             getRequestRelaunchActivityMethod(activityThreadClass)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKtChecked.kt b/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKtChecked.kt
index 9951f6e..1446e04 100644
--- a/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKtChecked.kt
+++ b/lint-checks/integration-tests/src/main/java/androidx/sample/core/app/ActivityRecreatorKtChecked.kt
@@ -374,4 +374,4 @@
         requestRelaunchActivityMethod =
             getRequestRelaunchActivityMethod(activityThreadClass)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/AndroidManifestServiceExportedDetector.kt b/lint-checks/src/main/java/androidx/build/lint/AndroidManifestServiceExportedDetector.kt
index 12e1e056..1283931 100644
--- a/lint-checks/src/main/java/androidx/build/lint/AndroidManifestServiceExportedDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/AndroidManifestServiceExportedDetector.kt
@@ -60,4 +60,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/BanInlineOptIn.kt b/lint-checks/src/main/java/androidx/build/lint/BanInlineOptIn.kt
index a819262..5e7fe36 100644
--- a/lint-checks/src/main/java/androidx/build/lint/BanInlineOptIn.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/BanInlineOptIn.kt
@@ -66,4 +66,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/CameraXQuirksClassDetector.kt b/lint-checks/src/main/java/androidx/build/lint/CameraXQuirksClassDetector.kt
index 7326529..9c87cf3 100644
--- a/lint-checks/src/main/java/androidx/build/lint/CameraXQuirksClassDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/CameraXQuirksClassDetector.kt
@@ -87,4 +87,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/IdeaSuppressionDetector.kt b/lint-checks/src/main/java/androidx/build/lint/IdeaSuppressionDetector.kt
index e6acfb7..95363c8 100644
--- a/lint-checks/src/main/java/androidx/build/lint/IdeaSuppressionDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/IdeaSuppressionDetector.kt
@@ -155,4 +155,4 @@
             Implementation(IdeaSuppressionDetector::class.java, Scope.JAVA_FILE_SCOPE),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetector.kt b/lint-checks/src/main/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetector.kt
index 1136d96..bc735ea0 100644
--- a/lint-checks/src/main/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetector.kt
+++ b/lint-checks/src/main/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetector.kt
@@ -229,4 +229,4 @@
             "androidx.camera.camera-camera2-pipe-testing",
         )
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlPsiUtil.kt b/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlPsiUtil.kt
index c15251f..9bc4ec4 100644
--- a/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlPsiUtil.kt
+++ b/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/AidlPsiUtil.kt
@@ -95,4 +95,4 @@
     else -> return null
   }
   return facade.findClass(fqn, scope)
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AbstractAidlDeclarationImpl.kt b/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AbstractAidlDeclarationImpl.kt
index fcc8e5e..9c04e77 100644
--- a/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AbstractAidlDeclarationImpl.kt
+++ b/lint-checks/src/main/java/androidx/com/android/tools/idea/lang/aidl/psi/impl/AbstractAidlDeclarationImpl.kt
@@ -131,4 +131,4 @@
   override fun getDeclarationName(): AidlNamedElement {
     return findChildByClass(AidlNamedElement::class.java)!!
   }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/BanConcurrentHashMapTest.kt b/lint-checks/src/test/java/androidx/build/lint/BanConcurrentHashMapTest.kt
index cc2edd6..47e2510 100644
--- a/lint-checks/src/test/java/androidx/build/lint/BanConcurrentHashMapTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/BanConcurrentHashMapTest.kt
@@ -211,4 +211,4 @@
             .run()
             .expect(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/BanHideAnnotationTest.kt b/lint-checks/src/test/java/androidx/build/lint/BanHideAnnotationTest.kt
index 1c996a8..c7c3219 100644
--- a/lint-checks/src/test/java/androidx/build/lint/BanHideAnnotationTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/BanHideAnnotationTest.kt
@@ -67,4 +67,4 @@
 
         check(*input).expect(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/BanParcelableUsageTest.kt b/lint-checks/src/test/java/androidx/build/lint/BanParcelableUsageTest.kt
index b9370e6..44327ba 100644
--- a/lint-checks/src/test/java/androidx/build/lint/BanParcelableUsageTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/BanParcelableUsageTest.kt
@@ -63,4 +63,4 @@
 
         check(*input).expect(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/CameraXQuirksClassDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/CameraXQuirksClassDetectorTest.kt
index 0439f2d..89ff847 100644
--- a/lint-checks/src/test/java/androidx/build/lint/CameraXQuirksClassDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/CameraXQuirksClassDetectorTest.kt
@@ -52,4 +52,4 @@
 
         check(*input).expect(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/ExperimentalPropertyAnnotationDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/ExperimentalPropertyAnnotationDetectorTest.kt
index 5733f15..498bd10 100644
--- a/lint-checks/src/test/java/androidx/build/lint/ExperimentalPropertyAnnotationDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/ExperimentalPropertyAnnotationDetectorTest.kt
@@ -719,4 +719,4 @@
             .expect(expected)
             .expectFixDiffs(expectedFixDiffs)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/ImplicitCastVerificationFailureDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/ImplicitCastVerificationFailureDetectorTest.kt
index fd1e150..1b0b889 100644
--- a/lint-checks/src/test/java/androidx/build/lint/ImplicitCastVerificationFailureDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/ImplicitCastVerificationFailureDetectorTest.kt
@@ -770,4 +770,4 @@
 
         check(*input).expect(expected).expectFixDiffs(expectedFixDiffs)
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetectorTest.kt
index 746a473..fb54974 100644
--- a/lint-checks/src/test/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/MissingJvmDefaultWithCompatibilityDetectorTest.kt
@@ -258,4 +258,4 @@
         check(*input)
             .expectClean()
     }
-}
\ No newline at end of file
+}
diff --git a/lint-checks/src/test/java/androidx/build/lint/TargetApiAnnotationDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/TargetApiAnnotationDetectorTest.kt
index b62ce6d..99837b9c2 100644
--- a/lint-checks/src/test/java/androidx/build/lint/TargetApiAnnotationDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/TargetApiAnnotationDetectorTest.kt
@@ -69,4 +69,4 @@
 
         check(*input).expect(expected)
     }
-}
\ No newline at end of file
+}
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 d280f43..ab02ceb 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
@@ -104,4 +104,4 @@
         val navController = findNavController(R.id.nav_host_fragment_content_main)
         return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
     }
-}
\ No newline at end of file
+}
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 08826f4..654838f 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
@@ -93,4 +93,4 @@
         val navController = findNavController(R.id.nav_host_fragment_content_main)
         return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankStatsAggregator.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankStatsAggregator.kt
index aa6cd77..e9aa007 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankStatsAggregator.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/JankStatsAggregator.kt
@@ -99,4 +99,4 @@
          */
         private const val REPORT_BUFFER_LIMIT = 1000
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageContent.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageContent.kt
index 9ab2f2a..a761595 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageContent.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageContent.kt
@@ -41,4 +41,4 @@
         val contentsText = view.findViewById<TextView>(R.id.messageHeader)
         contentsText.text = arguments?.getString("title")
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListAdapter.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListAdapter.kt
index 4946da0..199d632 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListAdapter.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListAdapter.kt
@@ -54,4 +54,4 @@
     override fun getItemCount(): Int {
         return messageList.size
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListFragment.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListFragment.kt
index 25f33a5..118c245 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListFragment.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MessageListFragment.kt
@@ -74,4 +74,4 @@
             holder = null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MyCustomView.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MyCustomView.kt
index 527f2ff..256e7d3 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MyCustomView.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/MyCustomView.kt
@@ -55,4 +55,4 @@
         }
         super.onDraw(canvas)
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/SimpleLoggingActivity.kt b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/SimpleLoggingActivity.kt
index bb4eb32..067591c 100644
--- a/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/SimpleLoggingActivity.kt
+++ b/metrics/integration-tests/janktest/src/main/java/androidx/metrics/performance/janktest/SimpleLoggingActivity.kt
@@ -39,4 +39,4 @@
             stateHolder.putState("stateKey2", "${Date()}")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/JankStatsBenchmark.kt b/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/JankStatsBenchmark.kt
index f1e9621..3749d2b 100644
--- a/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/JankStatsBenchmark.kt
+++ b/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/JankStatsBenchmark.kt
@@ -177,4 +177,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/MainActivity.kt b/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/MainActivity.kt
index 8d6d624..c30c695 100644
--- a/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/MainActivity.kt
+++ b/metrics/metrics-benchmark/src/androidTest/java/androidx/metrics/performance/benchmark/MainActivity.kt
@@ -24,4 +24,4 @@
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_main)
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedFragment.kt b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedFragment.kt
index 56ae51b..78de2a3 100644
--- a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedFragment.kt
+++ b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedFragment.kt
@@ -50,4 +50,4 @@
             delayedView.invalidate()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedView.kt b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedView.kt
index 0129f1f..b107f1f 100644
--- a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedView.kt
+++ b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/DelayedView.kt
@@ -61,4 +61,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 8f79640..58b7ba0 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
@@ -634,4 +634,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/MyCustomView.kt b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/MyCustomView.kt
index e5a366b..00621ed 100644
--- a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/MyCustomView.kt
+++ b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/MyCustomView.kt
@@ -58,4 +58,4 @@
         }
         super.onDraw(canvas)
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/SecondFragment.kt b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/SecondFragment.kt
index ab1afbc..4a3914b 100644
--- a/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/SecondFragment.kt
+++ b/metrics/metrics-performance/src/androidTest/java/androidx/metrics/performance/test/SecondFragment.kt
@@ -26,4 +26,4 @@
     override fun onDestroyView() {
         super.onDestroyView()
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameData.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameData.kt
index f3611f8..a87b665 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameData.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameData.kt
@@ -162,4 +162,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi24.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi24.kt
index 5518a1a..5540e8e 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi24.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi24.kt
@@ -81,4 +81,4 @@
             "isJank=$isJank, " +
             "states=$states)"
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi31.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi31.kt
index b2264d1..f7c55c5 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi31.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/FrameDataApi31.kt
@@ -100,4 +100,4 @@
             "isJank=$isJank, " +
             "states=$states)"
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStats.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStats.kt
index e76e81e0..9b13051 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStats.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStats.kt
@@ -197,4 +197,4 @@
             volatileFrameData: FrameData
         )
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi16Impl.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi16Impl.kt
index 611854c..920fdb7 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi16Impl.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi16Impl.kt
@@ -292,4 +292,4 @@
             return JankStatsBaseImpl.frameDuration
         }
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi22Impl.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi22Impl.kt
index 679268a..149dc50 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi22Impl.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi22Impl.kt
@@ -49,4 +49,4 @@
     override fun setMessageAsynchronicity(message: Message) {
         message.isAsynchronous = true
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi26Impl.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi26Impl.kt
index 800b8b2..dae3ae1 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi26Impl.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi26Impl.kt
@@ -31,4 +31,4 @@
     override fun getFrameStartTime(frameMetrics: FrameMetrics): Long {
         return frameMetrics.getMetric(FrameMetrics.INTENDED_VSYNC_TIMESTAMP)
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi31Impl.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi31Impl.kt
index 8236473..8deeba6 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi31Impl.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsApi31Impl.kt
@@ -59,4 +59,4 @@
     override fun getExpectedFrameDuration(metrics: FrameMetrics): Long {
         return metrics.getMetric(FrameMetrics.DEADLINE)
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsBaseImpl.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsBaseImpl.kt
index 7ef56fb..4496c61 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsBaseImpl.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsBaseImpl.kt
@@ -31,4 +31,4 @@
 
         var frameDuration: Long = -1
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsInternalsForTesting.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsInternalsForTesting.kt
index 2856ef0..b4f5083 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsInternalsForTesting.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/JankStatsInternalsForTesting.kt
@@ -59,4 +59,4 @@
     fun logFrameData(frameData: FrameData) {
         jankStats.logFrameData(frameData)
     }
-}
\ No newline at end of file
+}
diff --git a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/PerformanceMetricsState.kt b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/PerformanceMetricsState.kt
index 742ab63..a60ce7b 100644
--- a/metrics/metrics-performance/src/main/java/androidx/metrics/performance/PerformanceMetricsState.kt
+++ b/metrics/metrics-performance/src/main/java/androidx/metrics/performance/PerformanceMetricsState.kt
@@ -415,4 +415,4 @@
         var state: PerformanceMetricsState? = null
             internal set
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneAdapter.kt b/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneAdapter.kt
index 2b38dc8..1a177e5 100644
--- a/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneAdapter.kt
+++ b/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneAdapter.kt
@@ -55,4 +55,4 @@
     }
 
     override fun getItemCount() = dataSet.size
-}
\ No newline at end of file
+}
diff --git a/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneFragment.kt b/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneFragment.kt
index cb905ff8..10591a8 100644
--- a/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneFragment.kt
+++ b/navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/TwoPaneFragment.kt
@@ -74,4 +74,4 @@
             "fifth" to R.id.fifth_fragment
         )
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-benchmark/src/androidTest/java/androidx/navigation/NavDeepLinkBenchmark.kt b/navigation/navigation-benchmark/src/androidTest/java/androidx/navigation/NavDeepLinkBenchmark.kt
index 561a1d3..2759419 100644
--- a/navigation/navigation-benchmark/src/androidTest/java/androidx/navigation/NavDeepLinkBenchmark.kt
+++ b/navigation/navigation-benchmark/src/androidTest/java/androidx/navigation/NavDeepLinkBenchmark.kt
@@ -70,4 +70,4 @@
         const val START_DESTINATION_ID = 0
         const val GRAPH_ID = 111
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt
index 539817a..458a770 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt
@@ -103,4 +103,4 @@
                 )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt
index 959dc2c..bc54d82 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt
@@ -171,4 +171,4 @@
             )
             .isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt
index bd6c390..5472fd1 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt
@@ -19,4 +19,4 @@
 import android.net.Uri
 
 internal fun NavDestination.matchDeepLink(uri: Uri) =
-    matchDeepLink(NavDeepLinkRequest(uri, null, null))
\ No newline at end of file
+    matchDeepLink(NavDeepLinkRequest(uri, null, null))
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt
index 8032df6..d898cc0 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt
@@ -48,4 +48,4 @@
      * Provides destructuring access to this [NamedNavArgument]'s [argument]
      */
     public operator fun component2(): NavArgument = argument
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavAction.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavAction.kt
index 67ace8f..3eea87f 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavAction.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavAction.kt
@@ -50,4 +50,4 @@
      * @return bundle of default argument values
      */
     public var defaultArguments: Bundle? = null
-)
\ No newline at end of file
+)
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
index 285294d..d8903e8 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
@@ -200,4 +200,4 @@
         } else false
     }.keys
     return requiredArgumentKeys.filter { key -> isArgumentMissing(key) }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt
index 218012d..d370c0e 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt
@@ -256,4 +256,4 @@
     public fun build(): NavArgument {
         return builder.build()
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphNavigator.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphNavigator.kt
index 2eaac12..f1061dd 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphNavigator.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphNavigator.kt
@@ -91,4 +91,4 @@
         )
         navigator.navigate(listOf(startDestinationEntry), navOptions, navigatorExtras)
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/ActionOnlyNavDirectionsTest.kt b/navigation/navigation-common/src/test/java/androidx/navigation/ActionOnlyNavDirectionsTest.kt
index 42a66adc..6c84215 100644
--- a/navigation/navigation-common/src/test/java/androidx/navigation/ActionOnlyNavDirectionsTest.kt
+++ b/navigation/navigation-common/src/test/java/androidx/navigation/ActionOnlyNavDirectionsTest.kt
@@ -39,4 +39,4 @@
         assertThat(ActionOnlyNavDirections(1).hashCode())
             .isNotEqualTo(ActionOnlyNavDirections(2).hashCode())
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/NavigationComposeIssueRegistry.kt b/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/NavigationComposeIssueRegistry.kt
index b6b5d155..ee9cf21 100644
--- a/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/NavigationComposeIssueRegistry.kt
+++ b/navigation/navigation-compose-lint/src/main/java/androidx/navigation/compose/lint/NavigationComposeIssueRegistry.kt
@@ -38,4 +38,4 @@
         vendorName = "Jetpack Navigation Compose",
         identifier = "androidx.navigation.compose"
     )
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NavPopUpToDemo.kt b/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NavPopUpToDemo.kt
index 243a1d1..a39e8ab 100644
--- a/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NavPopUpToDemo.kt
+++ b/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NavPopUpToDemo.kt
@@ -68,4 +68,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NestedNavDemo.kt b/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NestedNavDemo.kt
index 379a5669..205649e 100644
--- a/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NestedNavDemo.kt
+++ b/navigation/navigation-compose/integration-tests/navigation-demos/src/main/java/androidx/navigation/compose/demos/NestedNavDemo.kt
@@ -28,4 +28,4 @@
 @Composable
 fun NestNavInGraphDemo() {
     NestedNavInGraph()
-}
\ No newline at end of file
+}
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 619b7db..2f5ba2f 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
@@ -216,4 +216,4 @@
 
 private const val firstRoute = "first"
 private const val secondRoute = "second"
-private const val thirdRoute = "third"
\ No newline at end of file
+private const val thirdRoute = "third"
diff --git a/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt b/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
index 47687128..81886a7 100644
--- a/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
+++ b/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
@@ -351,4 +351,4 @@
 
 internal val popExitTransitions =
     mutableMapOf<String?,
-        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)?>()
\ No newline at end of file
+        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)?>()
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 b05a6cc..54267a3 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
@@ -93,4 +93,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilderTest.kt b/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilderTest.kt
index d90be5f..cbb10b0 100644
--- a/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilderTest.kt
+++ b/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilderTest.kt
@@ -195,4 +195,4 @@
 private const val GRAPH_ROUTE = "graph"
 private const val MODULE_NAME = "myModule"
 private const val GRAPH_PACKAGE = "com.example.mypackage"
-private const val GRAPH_RESOURCE_NAME = "graphName"
\ No newline at end of file
+private const val GRAPH_RESOURCE_NAME = "graphName"
diff --git a/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilderTest.kt b/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilderTest.kt
index cbbcf25..3d6625b 100644
--- a/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilderTest.kt
+++ b/navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilderTest.kt
@@ -172,4 +172,4 @@
 public fun DynamicNavGraphBuilder.navDestination(
     route: String,
     builder: NavDestinationBuilder<NavDestination>.() -> Unit
-): Unit = destination(NavDestinationBuilder(provider[NoOpNavigator::class], route).apply(builder))
\ No newline at end of file
+): Unit = destination(NavDestinationBuilder(provider[NoOpNavigator::class], route).apply(builder))
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 eb54237..c715a81 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
@@ -146,4 +146,4 @@
         super.onDestroyView()
         destroyViewCountDownLatch.countDown()
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavHostFragmentTest.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavHostFragmentTest.kt
index 7640097..2ea9ec0 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavHostFragmentTest.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavHostFragmentTest.kt
@@ -166,4 +166,4 @@
         assertThat(savedStateHandle)
             .isNotNull()
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/test/NavigationActivity.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/test/NavigationActivity.kt
index a4de7e6..b660a329 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/test/NavigationActivity.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/test/NavigationActivity.kt
@@ -37,4 +37,4 @@
         super.finish()
         finishCountDownLatch.countDown()
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/AbstractListDetailFragment.kt b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/AbstractListDetailFragment.kt
index 44692c6..38f685a 100644
--- a/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/AbstractListDetailFragment.kt
+++ b/navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/AbstractListDetailFragment.kt
@@ -253,4 +253,4 @@
             outState.putInt(NavHostFragment.KEY_GRAPH_ID, graphId)
         }
     }
-}
\ No newline at end of file
+}
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 7722bba..23fa625 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.kt
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavInflater.kt
@@ -348,4 +348,4 @@
             return navType ?: expectedNavType
         }
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/CodeFile.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/CodeFile.kt
index d73ab42..5d4dbae 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/CodeFile.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/CodeFile.kt
@@ -21,4 +21,4 @@
 interface CodeFile {
     fun writeTo(directory: File)
     fun fileName(): String
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Context.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Context.kt
index 2fe9aed..41847ea 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Context.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Context.kt
@@ -34,4 +34,4 @@
     fun createStubIncludedDestination() = IncludedDestination(createStubId())
 
     private fun next() = nextId++
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavLogger.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavLogger.kt
index 0cfeab2..d3c9ed9 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavLogger.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavLogger.kt
@@ -24,4 +24,4 @@
     }
 
     fun allMessages(): List<ErrorMessage> = messages
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParserErrors.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParserErrors.kt
index 9db93e1..c363dae 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParserErrors.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParserErrors.kt
@@ -62,4 +62,4 @@
 
     fun invalidNavReference(value: String) = "Failed to parse '$value' as a navigation reference." +
         " Reference must be in format @[package:]navigation/resource_name"
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavWriter.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavWriter.kt
index 10d046e..2944947 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavWriter.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavWriter.kt
@@ -25,4 +25,4 @@
     ): T
 
     fun generateArgsCodeFile(destination: Destination): T
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt
index 0c9e1eb..c52b8c3 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt
@@ -175,4 +175,4 @@
 
 object NullValue : WritableValue
 
-data class EnumValue(val type: ObjectType, val value: String) : WritableValue
\ No newline at end of file
+data class EnumValue(val type: ObjectType, val value: String) : WritableValue
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPosition.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPosition.kt
index bf92bae..d2f7fb5 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPosition.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/XmlPosition.kt
@@ -16,4 +16,4 @@
 
 package androidx.navigation.safe.args.generator
 
-data class XmlPosition(val name: String, val line: Int, val column: Int)
\ No newline at end of file
+data class XmlPosition(val name: String, val line: Int, val column: Int)
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 d0e29bc..b76b43b 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
@@ -81,4 +81,4 @@
 }
 
 internal fun mandatoryAttrMissingError(tag: String, attr: String) =
-    "Mandatory attribute '$attr' for tag '$tag' is missing."
\ No newline at end of file
+    "Mandatory attribute '$attr' for tag '$tag' is missing."
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/List_ext.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/List_ext.kt
index 2c19c7f..39d1152 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/List_ext.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/List_ext.kt
@@ -26,4 +26,4 @@
     0 -> throw IllegalArgumentException("invalid section size, cannot be zero")
     1 -> this[0].toCamelCaseAsVar()
     else -> get(0).toCamelCaseAsVar() + drop(1).joinToCamelCase()
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaCodeFile.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaCodeFile.kt
index 5d0ebd3..5f7a984 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaCodeFile.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaCodeFile.kt
@@ -33,4 +33,4 @@
     override fun toString() = wrapped.toString()
 }
 
-fun JavaFile.toCodeFile() = JavaCodeFile(this)
\ No newline at end of file
+fun JavaFile.toCodeFile() = JavaCodeFile(this)
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 0ec5e48..d76fabd 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
@@ -300,4 +300,4 @@
 
 internal fun ResReference?.accessor() = this?.let {
     CodeBlock.of("$T.$N", ClassName.get(packageName, "R", resType), javaIdentifier)
-} ?: CodeBlock.of("0")
\ No newline at end of file
+} ?: CodeBlock.of("0")
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinCodeFile.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinCodeFile.kt
index 2bfe1f5..854d1ed 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinCodeFile.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinCodeFile.kt
@@ -33,4 +33,4 @@
     override fun toString() = wrapped.toString()
 }
 
-fun FileSpec.toCodeFile() = KotlinCodeFile(this)
\ No newline at end of file
+fun FileSpec.toCodeFile() = KotlinCodeFile(this)
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinNavWriter.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinNavWriter.kt
index de7bb7b..e2a61cc 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinNavWriter.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinNavWriter.kt
@@ -384,4 +384,4 @@
             .addMember("%S", "CAST_NEVER_SUCCEEDS")
             .build()
     }
-}
\ No newline at end of file
+}
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 4a3a9dd..5d74183 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
@@ -281,4 +281,4 @@
 
 internal fun ResReference?.accessor() = this?.let {
     CodeBlock.of("%T.%N", ClassName(packageName, "R", resType), javaIdentifier)
-} ?: CodeBlock.of("0")
\ No newline at end of file
+} ?: CodeBlock.of("0")
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/Destination.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/Destination.kt
index bde5a88..3bfb234 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/Destination.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/Destination.kt
@@ -44,4 +44,4 @@
             else -> null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/IncludedDestination.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/IncludedDestination.kt
index e28eb81..dface4e 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/IncludedDestination.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/IncludedDestination.kt
@@ -16,4 +16,4 @@
 
 package androidx.navigation.safe.args.generator.models
 
-data class IncludedDestination(val id: ResReference, var actual: Destination? = null)
\ No newline at end of file
+data class IncludedDestination(val id: ResReference, var actual: Destination? = null)
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/ResReference.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/ResReference.kt
index 214a413..e298dee 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/ResReference.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/models/ResReference.kt
@@ -22,4 +22,4 @@
     val javaIdentifier = name.replace("[.\\-]".toRegex(), "_")
 
     fun isId() = resType == "id"
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/DestinationTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/DestinationTest.kt
index 7604be3..a8e795c 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/DestinationTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/DestinationTest.kt
@@ -71,4 +71,4 @@
     }
 }
 
-private fun id(name: String) = ResReference("foo.bar", "id", name)
\ No newline at end of file
+private fun id(name: String) = ResReference("foo.bar", "id", name)
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 9723d49..3c79024 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
@@ -393,4 +393,4 @@
             return super.findClass(name)
         }
     }
-}
\ No newline at end of file
+}
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 29c9fbf..a28cf39 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
@@ -126,4 +126,4 @@
             // expected error
         }
     }
-}
\ No newline at end of file
+}
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 cb2cb9f..6fae4bc 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
@@ -187,4 +187,4 @@
         @Parameterized.Parameters(name = "generateKotlin={0}")
         fun data() = listOf(false, true)
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
index e0c1609..a205ddf6 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
@@ -299,4 +299,4 @@
         assertThat("nameWithHyphens")
             .isEqualTo(Argument("name-with-hyphens", IntType).sanitizedName)
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/TestData.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/TestData.kt
index 8b94484c..4587646 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/TestData.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/TestData.kt
@@ -18,4 +18,4 @@
 
 import java.io.File
 
-fun testData(path: String) = File("src/test/test-data/$path")
\ No newline at end of file
+fun testData(path: String) = File("src/test/test-data/$path")
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/WritableValueTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/WritableValueTest.kt
index 3f7d890..87fcdff 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/WritableValueTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/WritableValueTest.kt
@@ -45,4 +45,4 @@
             `is`("foo.R.id.bla")
         )
     }
-}
\ No newline at end of file
+}
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 47edf23..26f46d6 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
@@ -177,4 +177,4 @@
 ) : SafeArgsPlugin(providerFactory) {
 
     override val generateKotlin = true
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/IncrementalPluginTest.kt b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/IncrementalPluginTest.kt
index 5a32c9d..be2129c 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/IncrementalPluginTest.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/IncrementalPluginTest.kt
@@ -184,4 +184,4 @@
         @Parameterized.Parameters(name = "generateKotlin={0}")
         fun data() = listOf(false) // , true) testing with kotlin is disabled b/165307851
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt
index 4e81b7d..ea6e2bc 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt
@@ -122,4 +122,4 @@
         assertGenerated("foo/debug/$FOO_DYNAMIC_DIRECTIONS.java", "dynamic_feature/")
         assertNotGenerated("notfoo/debug/$FOO_DYNAMIC_DIRECTIONS.java", "dynamic_feature/")
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/KotlinPluginTest.kt b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/KotlinPluginTest.kt
index 489c3d3..962f0e1 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/KotlinPluginTest.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/KotlinPluginTest.kt
@@ -77,4 +77,4 @@
         assertGenerated("debug/$FOO_NEXT_ARGUMENTS.kt")
         assertGenerated("debug/$FOO_MAIN_DIRECTIONS.kt")
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt
index f49daaa..8eb8877 100644
--- a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt
+++ b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavigatorStateTest.kt
@@ -417,4 +417,4 @@
             wasCleared = true
         }
     }
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt b/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt
index 724eeb1..1063256 100644
--- a/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt
+++ b/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUiSaveStateControl.kt
@@ -22,4 +22,4 @@
 @Retention(AnnotationRetention.RUNTIME)
 @Target(AnnotationTarget.FUNCTION)
 @RequiresOptIn(level = RequiresOptIn.Level.WARNING)
-public annotation class NavigationUiSaveStateControl
\ No newline at end of file
+public annotation class NavigationUiSaveStateControl
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 e816c7c..68a89b0 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
@@ -161,4 +161,4 @@
     private enum class RefreshState {
         INITIAL, LOADING, DONE
     }
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/Item.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/Item.kt
index fee8d36..925e550 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/Item.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/Item.kt
@@ -30,4 +30,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/StateItemAdapter.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/StateItemAdapter.kt
index 66f1dfc..3b921a8 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/StateItemAdapter.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/StateItemAdapter.kt
@@ -67,4 +67,4 @@
 
     override fun onBindViewHolder(holder: LoadStateViewHolder, loadState: LoadState) =
         holder.bind(loadState)
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Activity.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Activity.kt
index 787bf63..c85f3f3 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Activity.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Activity.kt
@@ -88,4 +88,4 @@
             button.isEnabled = loadStates.refresh !is Loading
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Adapter.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Adapter.kt
index ad2c82b..4eff329 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Adapter.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/V3Adapter.kt
@@ -46,4 +46,4 @@
             holder.itemView.setBackgroundColor(Color.TRANSPARENT)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RemoteMediator.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RemoteMediator.kt
index 490e234..1f3dac2 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RemoteMediator.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RemoteMediator.kt
@@ -108,4 +108,4 @@
 
         networkSource = newNetworkSource
     }
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomActivity.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomActivity.kt
index 8bad4dc..d248ea5 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomActivity.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomActivity.kt
@@ -49,4 +49,4 @@
         val clearButton = findViewById<Button>(R.id.clearButton)
         clearButton.setOnClickListener { viewModel.clearAllCustomers() }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomAdapter.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomAdapter.kt
index a1e2dfb..56ef134 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomAdapter.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomAdapter.kt
@@ -47,4 +47,4 @@
             holder.itemView.setBackgroundColor(Color.TRANSPARENT)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/CancelableChannelFlow.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/CancelableChannelFlow.kt
index 5c31c25..d84eea1 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/CancelableChannelFlow.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/CancelableChannelFlow.kt
@@ -32,4 +32,4 @@
         }
         this.block()
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/CompatLegacyPagingSource.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/CompatLegacyPagingSource.kt
index 951049d..a655684 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/CompatLegacyPagingSource.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/CompatLegacyPagingSource.kt
@@ -27,4 +27,4 @@
 
     @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
     public fun setPageSize(pageSize: Int)
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/ConflatedEventBus.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/ConflatedEventBus.kt
index 442f451..f58215b 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/ConflatedEventBus.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/ConflatedEventBus.kt
@@ -32,4 +32,4 @@
     fun send(data: T) {
         state.value = Pair(state.value.first + 1, data)
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/ExperimentalPagingApi.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/ExperimentalPagingApi.kt
index f431c33..9f2c625 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/ExperimentalPagingApi.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/ExperimentalPagingApi.kt
@@ -22,4 +22,4 @@
  */
 @RequiresOptIn
 @Retention(AnnotationRetention.BINARY)
-public annotation class ExperimentalPagingApi
\ No newline at end of file
+public annotation class ExperimentalPagingApi
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/FlowExt.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/FlowExt.kt
index bede1e6..beea20a6 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/FlowExt.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/FlowExt.kt
@@ -221,4 +221,4 @@
     INITIAL,
     RECEIVER,
     OTHER,
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintHandler.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintHandler.kt
index 76f77a0..4d35dd4 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintHandler.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintHandler.kt
@@ -164,4 +164,4 @@
             false
         else -> true
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintReceiver.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintReceiver.kt
index 1b1aba7..22dabae 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintReceiver.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/HintReceiver.kt
@@ -21,4 +21,4 @@
  */
 internal interface HintReceiver {
     fun accessHint(viewportHint: ViewportHint)
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidateCallbackTracker.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidateCallbackTracker.kt
index e23d525..fea2249 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidateCallbackTracker.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidateCallbackTracker.kt
@@ -86,4 +86,4 @@
         callbacksToInvoke?.forEach(callbackInvoker)
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidatingPagingSourceFactory.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidatingPagingSourceFactory.kt
index c288fb3..b8cf8c9 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidatingPagingSourceFactory.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/InvalidatingPagingSourceFactory.kt
@@ -56,4 +56,4 @@
 
         pagingSources.removeAll { it.invalid }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/LoadType.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/LoadType.kt
index 02f7e64..a1fc9e6 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/LoadType.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/LoadType.kt
@@ -41,4 +41,4 @@
      * Load at the end of a [PagingData].
      */
     APPEND
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/MutableLoadStateCollection.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/MutableLoadStateCollection.kt
index c4eb9c5..f9884e4 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/MutableLoadStateCollection.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/MutableLoadStateCollection.kt
@@ -46,4 +46,4 @@
         append = states.append
         prepend = states.prepend
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/NullPaddedList.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/NullPaddedList.kt
index 2d0659f..63cc7e2f 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/NullPaddedList.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/NullPaddedList.kt
@@ -32,4 +32,4 @@
     public val placeholdersAfter: Int
     public val size: Int
     public val storageCount: Int
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PageFetcherSnapshot.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PageFetcherSnapshot.kt
index 05d09ef..769adc3 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PageFetcherSnapshot.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PageFetcherSnapshot.kt
@@ -635,4 +635,4 @@
         generationId < previous.generationId -> false
         else -> hint.shouldPrioritizeOver(previous.hint, loadType)
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingConfig.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingConfig.kt
index 1cfb1b4..6dcf0fe 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingConfig.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingConfig.kt
@@ -165,4 +165,4 @@
         public const val MAX_SIZE_UNBOUNDED: Int = Int.MAX_VALUE
         internal const val DEFAULT_INITIAL_PAGE_MULTIPLIER = 3
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingData.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingData.kt
index a493bc3..f4e3a15 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingData.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingData.kt
@@ -167,4 +167,4 @@
     }
 
     internal fun cachedEvent(): PageEvent.Insert<T>? = cachedPageEvent()
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
index 41e3d5f..3ecc556 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
@@ -545,4 +545,4 @@
     ITEM_TO_PLACEHOLDER,
     PLACEHOLDER_TO_ITEM,
     PLACEHOLDER_POSITION_CHANGE
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingSourceFactory.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingSourceFactory.kt
index 4ed3c7f..97be73e 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingSourceFactory.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingSourceFactory.kt
@@ -29,4 +29,4 @@
      * This function can be invoked by calling pagingSourceFactory() or pagingSourceFactory::invoke.
      */
     public override operator fun invoke(): PagingSource<Key, Value>
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingState.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingState.kt
index f599b9bf..2242b6b 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingState.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingState.kt
@@ -148,4 +148,4 @@
 
         return block(pageIndex, index)
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/Separators.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/Separators.kt
index a58c535..00f9e19 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/Separators.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/Separators.kt
@@ -604,4 +604,4 @@
         generator(before, after)
     }
     return map { separatorState.onEvent(it) }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/SimpleChannelFlow.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/SimpleChannelFlow.kt
index 1c8ae24..509cf455 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/SimpleChannelFlow.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/SimpleChannelFlow.kt
@@ -96,4 +96,4 @@
             block()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/Constants.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/Constants.kt
index 7875b70..d10d9db 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/Constants.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/Constants.kt
@@ -20,4 +20,4 @@
 
 import androidx.annotation.RestrictTo
 
-internal const val BUGANIZER_URL = "https://issuetracker.google.com/issues/new?component=413106"
\ No newline at end of file
+internal const val BUGANIZER_URL = "https://issuetracker.google.com/issues/new?component=413106"
diff --git a/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/LogUtil.kt b/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/LogUtil.kt
index b567edd..9a37902 100644
--- a/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/LogUtil.kt
+++ b/paging/paging-common/src/commonMain/kotlin/androidx/paging/internal/LogUtil.kt
@@ -29,4 +29,4 @@
         newLog = newLog.plus("""|   mediatorLoadStates: $mediatorStates${"\n"}""")
     }
     return newLog.plus("|)").trimMargin()
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachedPageEventFlowTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachedPageEventFlowTest.kt
index 598b3e3..40550f8 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachedPageEventFlowTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachedPageEventFlowTest.kt
@@ -355,4 +355,4 @@
         CloseUpstream,
         CloseCachedEventFlow,
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachingTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachingTest.kt
index 91f0b34..b739e28 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachingTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/CachingTest.kt
@@ -822,4 +822,4 @@
     }
 
     private class AbortCollectionException : Throwable()
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt
index 180d74f..02bf478 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlattenedPageEventStorageTest.kt
@@ -537,4 +537,4 @@
     )
 }
 
-private val TEST_EXCEPTION = Exception()
\ No newline at end of file
+private val TEST_EXCEPTION = Exception()
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlowExtTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlowExtTest.kt
index ede582a..89c6e7f 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlowExtTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/FlowExtTest.kt
@@ -405,4 +405,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/HeaderFooterTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/HeaderFooterTest.kt
index 6728d7f..f05f7f8 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/HeaderFooterTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/HeaderFooterTest.kt
@@ -230,4 +230,4 @@
 
         assertThat(actual).isEqualTo(expected)
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/HintHandlerTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/HintHandlerTest.kt
index 6955f53..7e2df94 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/HintHandlerTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/HintHandlerTest.kt
@@ -298,4 +298,4 @@
         originalPageOffsetFirst = originalPageOffsetFirst,
         originalPageOffsetLast = originalPageOffsetLast
     )
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/ItemSnapshotListTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/ItemSnapshotListTest.kt
index 4688ad0..9161c9e 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/ItemSnapshotListTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/ItemSnapshotListTest.kt
@@ -37,4 +37,4 @@
         assertFailsWith<IndexOutOfBoundsException> { snapshot[-1] }
         assertFailsWith<IndexOutOfBoundsException> { snapshot[20] }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/PagePresenterTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/PagePresenterTest.kt
index cf535f0..e9d9556 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/PagePresenterTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/PagePresenterTest.kt
@@ -542,4 +542,4 @@
             CombinedStateEvent(LoadStates.IDLE, null)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt
index ab2437d..2731e76 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/SeparatorsWithRemoteMediatorTest.kt
@@ -382,4 +382,4 @@
     placeholdersAfter = 0,
     source = loadStates.source,
     mediator = loadStates.mediator ?: loadStates()
-)
\ No newline at end of file
+)
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleChannelFlowTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleChannelFlowTest.kt
index 8e22175..156b6ec 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleChannelFlowTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleChannelFlowTest.kt
@@ -322,4 +322,4 @@
         ChannelFlow,
         SimpleChannelFlow,
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleTransformLatestTest.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleTransformLatestTest.kt
index d67da13..a1bf8a3 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleTransformLatestTest.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/SimpleTransformLatestTest.kt
@@ -116,4 +116,4 @@
         TransformLatest,
         SimpleTransformLatest,
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/commonTest/kotlin/androidx/paging/TestUtils.kt b/paging/paging-common/src/commonTest/kotlin/androidx/paging/TestUtils.kt
index 494297e23..32ddbdf 100644
--- a/paging/paging-common/src/commonTest/kotlin/androidx/paging/TestUtils.kt
+++ b/paging/paging-common/src/commonTest/kotlin/androidx/paging/TestUtils.kt
@@ -194,4 +194,4 @@
     val data = toList()
     repeat(data.size) { removeFirst() }
     return data
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PageKeyedDataSource.jvm.kt b/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PageKeyedDataSource.jvm.kt
index 5c98360..e0d393bc 100644
--- a/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PageKeyedDataSource.jvm.kt
+++ b/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PageKeyedDataSource.jvm.kt
@@ -347,4 +347,4 @@
     final override fun <ToValue : Any> map(
         function: (Value) -> ToValue
     ): PageKeyedDataSource<Key, ToValue> = mapByPage(Function { list -> list.map(function) })
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PagingDataTransforms.jvm.kt b/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PagingDataTransforms.jvm.kt
index 0f3be5f..5184f3f 100644
--- a/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PagingDataTransforms.jvm.kt
+++ b/paging/paging-common/src/jvmMain/kotlin/androidx/paging/PagingDataTransforms.jvm.kt
@@ -187,4 +187,4 @@
             generator(before, after)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt
index 8876d5c..9509e2f 100644
--- a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt
+++ b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/CachedPageEventFlowLeakTest.kt
@@ -216,4 +216,4 @@
         )
         collection.cancelAndJoin()
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/GarbageCollectionTestHelper.kt b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/GarbageCollectionTestHelper.kt
index f7ae9c3..940fd38 100644
--- a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/GarbageCollectionTestHelper.kt
+++ b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/GarbageCollectionTestHelper.kt
@@ -83,4 +83,4 @@
             entry.key to entry.value.size
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PageFetcherSnapshotTest.kt b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
index 763a711..3988d0c 100644
--- a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
+++ b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
@@ -3912,4 +3912,4 @@
             stopped.complete(Unit)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PagedStorageTest.kt b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PagedStorageTest.kt
index ea3f566..c278dad 100644
--- a/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PagedStorageTest.kt
+++ b/paging/paging-common/src/jvmTest/kotlin/androidx/paging/PagedStorageTest.kt
@@ -342,4 +342,4 @@
             override fun onPagesSwappedToPlaceholder(startOfDrops: Int, count: Int) {}
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/PagingFoundationDemos.kt b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/PagingFoundationDemos.kt
index c63c4b7..1e3b9af 100644
--- a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/PagingFoundationDemos.kt
+++ b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/PagingFoundationDemos.kt
@@ -31,4 +31,4 @@
         ComposableDemo("Paging with LazyGrid") { PagingWithLazyGrid() },
         ComposableDemo("Paging with LazyColumn") { PagingWithLazyList() },
     )
-)
\ No newline at end of file
+)
diff --git a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/AppDatabase.kt b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/AppDatabase.kt
index 065b1f2..7fa6e40 100644
--- a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/AppDatabase.kt
+++ b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/AppDatabase.kt
@@ -41,4 +41,4 @@
             ).fallbackToDestructiveMigration().build().also { Instance = it }
         }
     }
-}
\ No newline at end of file
+}
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 868b4b3..133aa41 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
@@ -143,4 +143,4 @@
     "Olivia",
     "Emma",
     "Ava"
-)
\ No newline at end of file
+)
diff --git a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/User.kt b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/User.kt
index 9606388..cba31f6 100644
--- a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/User.kt
+++ b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/User.kt
@@ -24,4 +24,4 @@
     @PrimaryKey(autoGenerate = true)
     val id: Int,
     val name: String
-)
\ No newline at end of file
+)
diff --git a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/UserDao.kt b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/UserDao.kt
index c939918..5e46a88 100644
--- a/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/UserDao.kt
+++ b/paging/paging-compose/integration-tests/paging-demos/src/main/java/androidx/paging/compose/demos/room/UserDao.kt
@@ -43,4 +43,4 @@
 
     @Query("SELECT * FROM users ORDER BY RANDOM() LIMIT 1")
     fun getRandomUser(): User?
-}
\ No newline at end of file
+}
diff --git a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingFoundationSample.kt b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingFoundationSample.kt
index ed00f0f..407bb2e 100644
--- a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingFoundationSample.kt
+++ b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingFoundationSample.kt
@@ -154,4 +154,4 @@
             Text(text = "placeholder", fontSize = 32.sp)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingPreviewSample.kt b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingPreviewSample.kt
index c05f075..1c6cb45 100644
--- a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingPreviewSample.kt
+++ b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingPreviewSample.kt
@@ -67,4 +67,4 @@
     val fakeDataFlow = MutableStateFlow(pagingData)
     // pass flow to composable
     DisplayPaging(flow = fakeDataFlow)
-}
\ No newline at end of file
+}
diff --git a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingSample.kt b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingSample.kt
index 382badfc..596cade 100644
--- a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingSample.kt
+++ b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/PagingSample.kt
@@ -104,4 +104,4 @@
             Text("Item at index $index is $item")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/SampleUtils.kt b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/SampleUtils.kt
index 9b6efc64..d13cc3e 100644
--- a/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/SampleUtils.kt
+++ b/paging/paging-compose/samples/src/main/java/androidx/paging/compose/samples/SampleUtils.kt
@@ -85,4 +85,4 @@
                 ?: state.closestPageToPosition(it)?.nextKey?.minus(1)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsPreviewTest.kt b/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsPreviewTest.kt
index 7cfba6e..b6c324ce 100644
--- a/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsPreviewTest.kt
+++ b/paging/paging-compose/src/androidTest/java/androidx/paging/compose/LazyPagingItemsPreviewTest.kt
@@ -101,4 +101,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
index 9cfad87..5574de6 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
@@ -711,4 +711,4 @@
             assertEquals(secondList, onRemovedSnapshot)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCallbackFake.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCallbackFake.kt
index ff71697..7356f61 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCallbackFake.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCallbackFake.kt
@@ -72,4 +72,4 @@
     data class OnRemovedEvent(val position: Int, val count: Int)
     data class OnMovedEvent(val fromPosition: Int, val toPosition: Int)
     data class OnChangedEvent(val position: Int, val count: Int, val payload: Any?)
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCapture.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCapture.kt
index 2e7848c..4e96af0 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCapture.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/ListUpdateCapture.kt
@@ -44,4 +44,4 @@
             lastEventsListIndex = events.lastIndex
         }
     }
-}
\ No newline at end of file
+}
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 5bce270..be3aede 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadFullListTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadFullListTest.kt
@@ -177,4 +177,4 @@
             initialLoadSize = 5
         )
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadStateAdapterTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadStateAdapterTest.kt
index 93616f2..03e4797 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadStateAdapterTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/LoadStateAdapterTest.kt
@@ -172,4 +172,4 @@
         adapter.loadState = NotLoading(endOfPaginationReached = true)
         assertEquals(listOf(REMOVED), eventRecorder.getClearEvents())
     }
-}
\ No newline at end of file
+}
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 edfa92a..445accd6 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
@@ -923,4 +923,4 @@
             // nothing to assert here, it can represent anything in the new list.
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/PagedListListenerFake.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/PagedListListenerFake.kt
index 82ec3d3..9bd09f5 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/PagedListListenerFake.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/PagedListListenerFake.kt
@@ -33,4 +33,4 @@
         val previousList: PagedList<T>?,
         val currentList: PagedList<T>?
     )
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/RecordingCallbackTest.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/RecordingCallbackTest.kt
index 193283a..4af368a 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/RecordingCallbackTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/RecordingCallbackTest.kt
@@ -74,4 +74,4 @@
         // verify recording cleaned up
         recordingCallback.dispatchRecordingTo(failCallback)
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/RunnableFake.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/RunnableFake.kt
index 7378d36..085ce7d 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/RunnableFake.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/RunnableFake.kt
@@ -22,4 +22,4 @@
     override fun run() {
         runEvents.add(Unit)
     }
-}
\ No newline at end of file
+}
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 bfd61c7..11e54c5 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
@@ -488,4 +488,4 @@
         private const val RV_HEIGHT = 200
         private const val RV_WIDTH = 100
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/androidTest/java/androidx/paging/StringPagedList.kt b/paging/paging-runtime/src/androidTest/java/androidx/paging/StringPagedList.kt
index 2f208b5..4f550ff 100644
--- a/paging/paging-runtime/src/androidTest/java/androidx/paging/StringPagedList.kt
+++ b/paging/paging-runtime/src/androidTest/java/androidx/paging/StringPagedList.kt
@@ -70,4 +70,4 @@
         config = Config(1, prefetchDistance = 0),
         key = null
     )
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt b/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
index 81bce0e..8ccf1e7 100644
--- a/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
+++ b/paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
@@ -448,4 +448,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-runtime/src/main/java/androidx/paging/RecordingCallback.kt b/paging/paging-runtime/src/main/java/androidx/paging/RecordingCallback.kt
index c559a72..b9489f5 100644
--- a/paging/paging-runtime/src/main/java/androidx/paging/RecordingCallback.kt
+++ b/paging/paging-runtime/src/main/java/androidx/paging/RecordingCallback.kt
@@ -54,4 +54,4 @@
         private const val Inserted = 1
         private const val Removed = 2
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxPagingSource.kt b/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxPagingSource.kt
index f79e825..89be36b 100644
--- a/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxPagingSource.kt
+++ b/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxPagingSource.kt
@@ -36,4 +36,4 @@
     final override suspend fun load(params: LoadParams<Key>): LoadResult<Key, Value> {
         return loadSingle(params).await()
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxRemoteMediator.kt b/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxRemoteMediator.kt
index b6f6d3e..076d04d 100644
--- a/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxRemoteMediator.kt
+++ b/paging/paging-rxjava2/src/main/java/androidx/paging/rxjava2/RxRemoteMediator.kt
@@ -96,4 +96,4 @@
     final override suspend fun initialize(): InitializeAction {
         return initializeSingle().await()
     }
-}
\ No newline at end of file
+}
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 ca231a9..7ca476d 100644
--- a/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagingSourceTest.kt
+++ b/paging/paging-rxjava2/src/test/java/androidx/paging/RxPagingSourceTest.kt
@@ -69,4 +69,4 @@
             assertFailsWith<NullPointerException> { rxPagingSource.load(params) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxPagingSource.kt b/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxPagingSource.kt
index cb53bfc..1809ff1 100644
--- a/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxPagingSource.kt
+++ b/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxPagingSource.kt
@@ -36,4 +36,4 @@
     final override suspend fun load(params: LoadParams<Key>): LoadResult<Key, Value> {
         return loadSingle(params).await()
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxRemoteMediator.kt b/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxRemoteMediator.kt
index 3d6301f..e359c6c 100644
--- a/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxRemoteMediator.kt
+++ b/paging/paging-rxjava3/src/main/java/androidx/paging/rxjava3/RxRemoteMediator.kt
@@ -95,4 +95,4 @@
     final override suspend fun initialize(): InitializeAction {
         return initializeSingle().await()
     }
-}
\ No newline at end of file
+}
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 9d40b9d..77be184 100644
--- a/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagingSourceTest.kt
+++ b/paging/paging-rxjava3/src/test/java/androidx/paging/RxPagingSourceTest.kt
@@ -69,4 +69,4 @@
             assertFailsWith<NullPointerException> { rxPagingSource.load(params) }
         }
     }
-}
\ No newline at end of file
+}
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 32c7b02..50c2149 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
@@ -68,4 +68,4 @@
      * Returns a snapshot with any data that has been loaded up till the point of error.
      */
     RETURN_CURRENT_SNAPSHOT,
-}
\ No newline at end of file
+}
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 0882b80..0e706ac 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
@@ -217,4 +217,4 @@
             id = currGen.id + 1
         )
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-testing/src/main/java/androidx/paging/testing/SnapshotLoader.kt b/paging/paging-testing/src/main/java/androidx/paging/testing/SnapshotLoader.kt
index 040a7f1..1c3f042 100644
--- a/paging/paging-testing/src/main/java/androidx/paging/testing/SnapshotLoader.kt
+++ b/paging/paging-testing/src/main/java/androidx/paging/testing/SnapshotLoader.kt
@@ -469,4 +469,4 @@
         ON_INSERTED,
         ON_REMOVED,
     }
-}
\ No newline at end of file
+}
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 89bca0e..36496ca 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
@@ -121,4 +121,4 @@
 
     override val jumpingSupported: Boolean
         get() = true
-}
\ No newline at end of file
+}
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 bcecbead..35b14ad 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
@@ -389,4 +389,4 @@
             itemsDropped += pageSize
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/PagerFlowSnapshotTest.kt b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/PagerFlowSnapshotTest.kt
index fd23a2b..b8fcf62 100644
--- a/paging/paging-testing/src/test/kotlin/androidx/paging/testing/PagerFlowSnapshotTest.kt
+++ b/paging/paging-testing/src/test/kotlin/androidx/paging/testing/PagerFlowSnapshotTest.kt
@@ -2445,4 +2445,4 @@
     override fun getRefreshKey(state: PagingState<Int, Int>) = originalSource.getRefreshKey(state)
 
     override val jumpingSupported: Boolean = originalSource.jumpingSupported
-}
\ No newline at end of file
+}
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 c327ff5..b4cc8d1 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
@@ -270,4 +270,4 @@
             listOf(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
         )
     }
-}
\ No newline at end of file
+}
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 e93e9d9..dd4197f 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
@@ -294,4 +294,4 @@
             itemsAfter = if (indexEnd == null) -1 else DATA.lastIndex - indexEnd
         )
     }
-}
\ No newline at end of file
+}
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 6caaea9..477450e 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
@@ -970,4 +970,4 @@
     }
 
     private val ITEM_COUNT = 100
-}
\ No newline at end of file
+}
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 9de9423..9662758 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/BaseViewModel.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/BaseViewModel.kt
@@ -44,4 +44,4 @@
     val pagingFlowable = pager.flowable.cachedIn(viewModelScope)
 
     val pagingLiveData = pager.liveData.cachedIn(viewModelScope)
-}
\ No newline at end of file
+}
diff --git a/paging/samples/src/main/java/androidx/paging/samples/CachedInSample.kt b/paging/samples/src/main/java/androidx/paging/samples/CachedInSample.kt
index 03fb4ee..742eadd 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/CachedInSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/CachedInSample.kt
@@ -76,4 +76,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 ca2df59f..a13a3e6 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/ListenableFuturePagingSourceSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/ListenableFuturePagingSourceSample.kt
@@ -86,4 +86,4 @@
             return state.anchorPosition?.let { state.closestItemToPosition(it)?.id }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/samples/src/main/java/androidx/paging/samples/LoadStateAdapterSample.kt b/paging/samples/src/main/java/androidx/paging/samples/LoadStateAdapterSample.kt
index ce32515..7c5e617 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/LoadStateAdapterSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/LoadStateAdapterSample.kt
@@ -73,4 +73,4 @@
         override fun onBindViewHolder(holder: LoadStateViewHolder, loadState: LoadState) =
             holder.bind(loadState)
     }
-}
\ No newline at end of file
+}
diff --git a/paging/samples/src/main/java/androidx/paging/samples/PagingDataAdapterSample.kt b/paging/samples/src/main/java/androidx/paging/samples/PagingDataAdapterSample.kt
index 4a69f31..91fd531 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/PagingDataAdapterSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/PagingDataAdapterSample.kt
@@ -232,4 +232,4 @@
                 }
         }
     }
-}
\ No newline at end of file
+}
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 efaee82..273996e 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/PagingSourceSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/PagingSourceSample.kt
@@ -181,4 +181,4 @@
             nextKey = if (items.isNotEmpty()) pageNumber + 1 else null
         )
     }
-}
\ No newline at end of file
+}
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 2e6ce22..6665998 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/RxPagingSourceSample.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/RxPagingSourceSample.kt
@@ -78,4 +78,4 @@
             return state.anchorPosition?.let { state.closestItemToPosition(it)?.id }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/paging/samples/src/main/java/androidx/paging/samples/shared/ExampleBackendService.kt b/paging/samples/src/main/java/androidx/paging/samples/shared/ExampleBackendService.kt
index 15fefb7..a4be314eb 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/shared/ExampleBackendService.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/shared/ExampleBackendService.kt
@@ -24,4 +24,4 @@
     val users: List<User>,
     val nextKey: String?,
     val nextPageNumber: Int?,
-)
\ No newline at end of file
+)
diff --git a/paging/samples/src/main/java/androidx/paging/samples/shared/UserDao.kt b/paging/samples/src/main/java/androidx/paging/samples/shared/UserDao.kt
index a90bf2c..b5aca9f 100644
--- a/paging/samples/src/main/java/androidx/paging/samples/shared/UserDao.kt
+++ b/paging/samples/src/main/java/androidx/paging/samples/shared/UserDao.kt
@@ -43,4 +43,4 @@
     fun lastUpdatedFuture(): ListenableFuture<Long>
 
     fun lastUpdatedSingle(): Single<Long>
-}
\ No newline at end of file
+}
diff --git a/preference/preference/src/androidTest/java/androidx/preference/tests/PreferenceDialogFragmentCompatTest.kt b/preference/preference/src/androidTest/java/androidx/preference/tests/PreferenceDialogFragmentCompatTest.kt
index bb5e2be..b458e54 100644
--- a/preference/preference/src/androidTest/java/androidx/preference/tests/PreferenceDialogFragmentCompatTest.kt
+++ b/preference/preference/src/androidTest/java/androidx/preference/tests/PreferenceDialogFragmentCompatTest.kt
@@ -120,4 +120,4 @@
         return inflater.inflate(R.layout.simple_layout, container, false)
     }
     override fun onDialogClosed(positiveResult: Boolean) {}
-}
\ No newline at end of file
+}
diff --git a/preference/preference/src/main/java/androidx/preference/PreferenceHeaderFragmentCompat.kt b/preference/preference/src/main/java/androidx/preference/PreferenceHeaderFragmentCompat.kt
index 86020ce..2207983 100644
--- a/preference/preference/src/main/java/androidx/preference/PreferenceHeaderFragmentCompat.kt
+++ b/preference/preference/src/main/java/androidx/preference/PreferenceHeaderFragmentCompat.kt
@@ -312,4 +312,4 @@
         // TODO: Change to use WindowManager ActivityView API
         startActivity(intent)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFuturesTest.kt b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFuturesTest.kt
index 590eff6..5f20ba7 100644
--- a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFuturesTest.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/adid/AdIdManagerFuturesTest.kt
@@ -111,4 +111,4 @@
             Assert.assertEquals(false, adId.isLimitAdTrackingEnabled)
         }
     }
-}
\ No newline at end of file
+}
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 e0c2574..af4ef91 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
@@ -233,4 +233,4 @@
             Assert.assertEquals(expectedRequest.adSelectionConfig, request.adSelectionConfig)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFuturesTest.kt b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFuturesTest.kt
index f94bc9d..a540f73 100644
--- a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFuturesTest.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/appsetid/AppSetIdManagerFuturesTest.kt
@@ -122,4 +122,4 @@
             Assert.assertEquals(AppSetId.SCOPE_APP, appSetId.scope)
         }
     }
-}
\ No newline at end of file
+}
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 d2f5802..31b287d 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
@@ -229,4 +229,4 @@
             Truth.assertThat(expectedRequest == leaveCustomAudienceRequest).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFuturesTest.kt b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFuturesTest.kt
index dbdb25e..6e1752b 100644
--- a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFuturesTest.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFuturesTest.kt
@@ -304,4 +304,4 @@
             assertThat(HashSet(request.originUris) == HashSet(expectedRequest.originUris))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFuturesTest.kt b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFuturesTest.kt
index c4c3be1..c44c32f 100644
--- a/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFuturesTest.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/androidTest/java/androidx/privacysandbox/ads/adservices/java/topics/TopicsManagerFuturesTest.kt
@@ -189,4 +189,4 @@
             Assert.assertEquals(2, topic2.taxonomyVersion)
         }
     }
-}
\ No newline at end of file
+}
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 860cccf..96544ec 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
@@ -68,4 +68,4 @@
             return AdIdManager.obtain(context)?.let { Api33Ext4JavaImpl(it) }
         }
     }
-}
\ No newline at end of file
+}
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 0dc0c4c..d5c4ed3 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
@@ -118,4 +118,4 @@
             return obtain(context)?.let { Api33Ext4JavaImpl(it) }
         }
     }
-}
\ No newline at end of file
+}
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 5c003dd..775548f 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
@@ -64,4 +64,4 @@
             return AppSetIdManager.obtain(context)?.let { Api33Ext4JavaImpl(it) }
         }
     }
-}
\ No newline at end of file
+}
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 f74372d..4aac7df 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
@@ -137,4 +137,4 @@
             return obtain(context)?.let { Api33Ext4JavaImpl(it) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.kt b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.kt
index e748f1b..b04eb21 100644
--- a/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.kt
+++ b/privacysandbox/ads/ads-adservices-java/src/main/java/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures.kt
@@ -183,4 +183,4 @@
             return obtain(context)?.let { Api33Ext5JavaImpl(it) }
         }
     }
-}
\ No newline at end of file
+}
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 00fa709..db6542d 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
@@ -70,4 +70,4 @@
             return obtain(context)?.let { Api33Ext4JavaImpl(it) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdManagerTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdManagerTest.kt
index 8d71955..197f46b 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdManagerTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdManagerTest.kt
@@ -113,4 +113,4 @@
             Assert.assertEquals(false, adId.isLimitAdTrackingEnabled)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdTest.kt
index 516d3fe..86a8477 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adid/AdIdTest.kt
@@ -41,4 +41,4 @@
         val adId3 = AdId("1234", true)
         Truth.assertThat(adId1 == adId3).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfigTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfigTest.kt
index 61d15e4..c151692 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfigTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfigTest.kt
@@ -73,4 +73,4 @@
             trustedScoringSignalsUri)
         Truth.assertThat(adSelectionConfig == adSelectionConfig2).isTrue()
     }
-}
\ No newline at end of file
+}
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 5c658d3..8d71ea2 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
@@ -230,4 +230,4 @@
             Assert.assertEquals(expectedRequest.adSelectionConfig, request.adSelectionConfig)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManagerTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManagerTest.kt
index 863e9a7..f3f3e99 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManagerTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManagerTest.kt
@@ -119,4 +119,4 @@
             Assert.assertEquals(AppSetId.SCOPE_APP, appSetId.scope)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdTest.kt
index 49aa2db..d37494a 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdTest.kt
@@ -53,4 +53,4 @@
             AppSetId("1234", 3 /* Invalid scope */)
         }.hasMessageThat().contains("Scope undefined.")
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdDataTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdDataTest.kt
index c548abb..cc86a64 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdDataTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdDataTest.kt
@@ -55,4 +55,4 @@
             .setMetadata(metadata)
         Truth.assertThat(builder.build()).isEqualTo(constructed)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdSelectionSignalsTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdSelectionSignalsTest.kt
index 21cdcd13..8d69dc3 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdSelectionSignalsTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdSelectionSignalsTest.kt
@@ -40,4 +40,4 @@
         var id2 = AdSelectionSignals("signals")
         Truth.assertThat(id1 == id2).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdTechIdentifierTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdTechIdentifierTest.kt
index 229df56..4133dbd 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdTechIdentifierTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/common/AdTechIdentifierTest.kt
@@ -40,4 +40,4 @@
         var id2 = AdTechIdentifier("ad-tech-identifier")
         Truth.assertThat(id1 == id2).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManagerTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManagerTest.kt
index 67037d3..a107e7d 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManagerTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceManagerTest.kt
@@ -230,4 +230,4 @@
             Truth.assertThat(expectedRequest == leaveCustomAudienceRequest).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceTest.kt
index fa5c6ce..7d5bed0 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/CustomAudienceTest.kt
@@ -78,4 +78,4 @@
         customAudienceBuilder2.setName("newName")
         Truth.assertThat(customAudience == customAudienceBuilder2.build()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/JoinCustomAudienceRequestTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/JoinCustomAudienceRequestTest.kt
index 7638a70..3ce38c7 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/JoinCustomAudienceRequestTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/JoinCustomAudienceRequestTest.kt
@@ -58,4 +58,4 @@
         val joinCustomAudienceRequest = JoinCustomAudienceRequest(customAudience)
         Truth.assertThat(joinCustomAudienceRequest.toString()).isEqualTo(result)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/LeaveCustomAudienceTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/LeaveCustomAudienceTest.kt
index dc39bcd..ab733ca 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/LeaveCustomAudienceTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/LeaveCustomAudienceTest.kt
@@ -34,4 +34,4 @@
         val leaveCustomAudienceRequest = LeaveCustomAudienceRequest(adTechIdentifier, name)
         Truth.assertThat(leaveCustomAudienceRequest.toString()).isEqualTo(result)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingDataTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingDataTest.kt
index d26ffe5..5b74ef1 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingDataTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingDataTest.kt
@@ -48,4 +48,4 @@
             .setTrustedBiddingKeys(keys)
         Truth.assertThat(builder.build()).isEqualTo(constructed)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequestTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequestTest.kt
index c8d6395..74e57812 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequestTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequestTest.kt
@@ -64,4 +64,4 @@
             .build()
         Truth.assertThat(deletionRequest1 == deletionRequest2).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/MeasurementManagerTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/MeasurementManagerTest.kt
index d489862..191e2d8 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/MeasurementManagerTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/MeasurementManagerTest.kt
@@ -333,4 +333,4 @@
             assertThat(HashSet(request.originUris) == HashSet(expectedRequest.originUris))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParamsTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParamsTest.kt
index 4850355..c2e3e18 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParamsTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParamsTest.kt
@@ -45,4 +45,4 @@
         Truth.assertThat(request1 == request2).isTrue()
         Truth.assertThat(request1 == request3).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequestTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequestTest.kt
index a404850..cfb6a16 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequestTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequestTest.kt
@@ -76,4 +76,4 @@
         Truth.assertThat(request1 == request2).isTrue()
         Truth.assertThat(request1 != request3).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerParamsTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerParamsTest.kt
index 677e163..0862558 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerParamsTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerParamsTest.kt
@@ -45,4 +45,4 @@
         Truth.assertThat(request1 == request2).isTrue()
         Truth.assertThat(request1 == request3).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequestTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequestTest.kt
index 2f64489..ae2173b 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequestTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequestTest.kt
@@ -53,4 +53,4 @@
         Truth.assertThat(request1 == request2).isTrue()
         Truth.assertThat(request1 != request3).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequestTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequestTest.kt
index 297e54c..e76c23e 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequestTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequestTest.kt
@@ -41,4 +41,4 @@
         // Verify equality.
         Truth.assertThat(request == request2).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponseTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponseTest.kt
index 1078022..25c0699 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponseTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponseTest.kt
@@ -45,4 +45,4 @@
         val response2 = GetTopicsResponse(listOf(topic2, topic1))
         Truth.assertThat(response1 == response2).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicTest.kt
index baac9ff..3baf4c1 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicTest.kt
@@ -38,4 +38,4 @@
         val topic2 = Topic(/* taxonomyVersion= */ 1, /* modelVersion= */ 10, /* topicId= */ 100)
         Truth.assertThat(topic1 == topic2).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerTest.kt b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerTest.kt
index 20736fb..d79e94e 100644
--- a/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerTest.kt
+++ b/privacysandbox/ads/ads-adservices/src/androidTest/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerTest.kt
@@ -186,4 +186,4 @@
             Assert.assertEquals(2, topic2.taxonomyVersion)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdId.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdId.kt
index ad9ba22..22a9271 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdId.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adid/AdId.kt
@@ -47,4 +47,4 @@
     override fun toString(): String {
         return "AdId: adId=$adId, isLimitAdTrackingEnabled=$isLimitAdTrackingEnabled"
     }
-}
\ No newline at end of file
+}
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 129d17b..17431a8 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
@@ -95,4 +95,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfig.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfig.kt
index 839b734..c3630f1 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfig.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/AdSelectionConfig.kt
@@ -84,4 +84,4 @@
             "sellerSignals=$sellerSignals, perBuyerSignals=$perBuyerSignals, " +
             "trustedScoringSignalsUri=$trustedScoringSignalsUri"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/ReportImpressionRequest.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/ReportImpressionRequest.kt
index 3740b5d..836899d 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/ReportImpressionRequest.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/adselection/ReportImpressionRequest.kt
@@ -49,4 +49,4 @@
         return "ReportImpressionRequest: adSelectionId=$adSelectionId, " +
             "adSelectionConfig=$adSelectionConfig"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetId.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetId.kt
index 516ba9e..508da63 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetId.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetId.kt
@@ -67,4 +67,4 @@
          */
         public const val SCOPE_DEVELOPER = 2
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManager.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManager.kt
index 7c57149..d780956 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManager.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/appsetid/AppSetIdManager.kt
@@ -91,4 +91,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/common/AdData.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/common/AdData.kt
index 7685d0b..a274659 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/common/AdData.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/common/AdData.kt
@@ -87,4 +87,4 @@
             return AdData(renderUri, metadata)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingData.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingData.kt
index 86b4672..077c397 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingData.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/customaudience/TrustedBiddingData.kt
@@ -89,4 +89,4 @@
             return TrustedBiddingData(trustedBiddingUri, trustedBiddingKeys)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/internal/AdServicesInfo.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/internal/AdServicesInfo.kt
index 5f8544d..91ec283 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/internal/AdServicesInfo.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/internal/AdServicesInfo.kt
@@ -43,4 +43,4 @@
         fun getAdServicesVersion() =
             SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequest.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequest.kt
index 8529c36..957e1bf 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequest.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/DeletionRequest.kt
@@ -210,4 +210,4 @@
                 originUris)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParams.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParams.kt
index b37465a..5ad22a2 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParams.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceParams.kt
@@ -51,4 +51,4 @@
         return "WebSourceParams { RegistrationUri=$registrationUri, " +
             "DebugKeyAllowed=$debugKeyAllowed }"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequest.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequest.kt
index c85be19..e058ae8 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequest.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebSourceRegistrationRequest.kt
@@ -159,4 +159,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequest.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequest.kt
index 6cbd612..4ed18c0 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequest.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/measurement/WebTriggerRegistrationRequest.kt
@@ -48,4 +48,4 @@
         return "WebTriggerRegistrationRequest { WebTriggerParams=$webTriggerParams, " +
             "Destination=$destination"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequest.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequest.kt
index af07f77..d8f4a81 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequest.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsRequest.kt
@@ -84,4 +84,4 @@
             return GetTopicsRequest(adsSdkName, shouldRecordObservation)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponse.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponse.kt
index 78e871b..f6f828a 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponse.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/GetTopicsResponse.kt
@@ -34,4 +34,4 @@
     override fun toString(): String {
         return "Topics=$topics"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/Topic.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/Topic.kt
index 69ab3ec..30958de 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/Topic.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/Topic.kt
@@ -50,4 +50,4 @@
         hash = 31 * hash + topicId.hashCode()
         return hash
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManager.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManager.kt
index 4bccf85..828fdf9 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManager.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManager.kt
@@ -59,4 +59,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerImplCommon.kt b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerImplCommon.kt
index 5632655..7dc5752 100644
--- a/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerImplCommon.kt
+++ b/privacysandbox/ads/ads-adservices/src/main/java/androidx/privacysandbox/ads/adservices/topics/TopicsManagerImplCommon.kt
@@ -51,4 +51,4 @@
         }
         return GetTopicsResponse(topics)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/AidlExecutableInputs.kt b/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/AidlExecutableInputs.kt
index b7ce1a6..851177f 100644
--- a/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/AidlExecutableInputs.kt
+++ b/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/AidlExecutableInputs.kt
@@ -42,4 +42,4 @@
             "aidl_compiler_path=$aidlExecutablePath"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/FrameworkAidlInputs.kt b/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/FrameworkAidlInputs.kt
index 4f9dfbf..bb41498 100644
--- a/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/FrameworkAidlInputs.kt
+++ b/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/FrameworkAidlInputs.kt
@@ -39,4 +39,4 @@
         }
         return listOf("framework_aidl_path=$frameworkAidlPath")
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPlugin.kt b/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPlugin.kt
index a7ecb4f..ea94188 100644
--- a/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPlugin.kt
+++ b/privacysandbox/plugins/plugins-privacysandbox-library/src/main/java/androidx/privacysandboxlibraryplugin/PrivacySandboxLibraryPlugin.kt
@@ -116,4 +116,4 @@
         // From build.gradle
         const val pluginId = "androidx.privacysandbox.plugins.privacysandbox-library"
     }
-}
\ No newline at end of file
+}
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 fe72161..b616b20 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
@@ -98,4 +98,4 @@
         val build = File(projectSetup.rootDir, "build")
         assertTrue(File(build, "generated/ksp/debug").exists())
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/EmptyActivity.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/EmptyActivity.kt
index f7d19b4..1dfed64 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/EmptyActivity.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/EmptyActivity.kt
@@ -23,4 +23,4 @@
  * [androidx.privacysandbox.sdkruntime.client.activity.SdkActivity] can't be used for most tests as
  * it will be moved to finished state during creation when no valid token provided.
  */
-class EmptyActivity : ComponentActivity()
\ No newline at end of file
+class EmptyActivity : ComponentActivity()
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerAppOwnedInterfacesTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerAppOwnedInterfacesTest.kt
index bac6861..30d5c07 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerAppOwnedInterfacesTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerAppOwnedInterfacesTest.kt
@@ -186,4 +186,4 @@
 
     private fun isAppOwnedInterfacesApiAvailable() =
         AdServicesInfo.isDeveloperPreview()
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatSandboxedTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatSandboxedTest.kt
index a56a801..af839829 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatSandboxedTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatSandboxedTest.kt
@@ -348,4 +348,4 @@
                 )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatTest.kt
index 8db037e..faec8df 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxManagerCompatTest.kt
@@ -371,4 +371,4 @@
 
     private fun isSandboxApiNotAvailable() =
         !AdServicesInfo.isAtLeastV4()
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/TestActivityHolder.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/TestActivityHolder.kt
index 66a8470..bfc47b7 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/TestActivityHolder.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/TestActivityHolder.kt
@@ -34,4 +34,4 @@
 
     override val lifecycle: Lifecycle
         get() = lifecycleRegistry
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParserTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParserTest.kt
index f7e20ea..42f370a 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParserTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParserTest.kt
@@ -250,4 +250,4 @@
             return parse(inputStream, packageName, versionMajor)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolderTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolderTest.kt
index 21c0016..1f0ccf4 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolderTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolderTest.kt
@@ -68,4 +68,4 @@
 
         assertThat(result).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParserTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParserTest.kt
index bc2c9d5..e8fe29b 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParserTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParserTest.kt
@@ -199,4 +199,4 @@
             return parse(inputStream)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/LocalControllerTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/LocalControllerTest.kt
index 92b7a74..e7e0b13 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/LocalControllerTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/LocalControllerTest.kt
@@ -129,4 +129,4 @@
         override fun getAppOwnedSdkSandboxInterfaces(): List<AppOwnedSdkSandboxInterfaceCompat> =
             appOwnedSdks
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistryTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistryTest.kt
index 71563bc..8bbddbf 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistryTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistryTest.kt
@@ -91,4 +91,4 @@
         val registeredInterfaces = sdkRegistry.getAppOwnedSdkSandboxInterfaces()
         assertThat(registeredInterfaces).isEmpty()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistryTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistryTest.kt
index 23ed22f..819055d 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistryTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistryTest.kt
@@ -139,4 +139,4 @@
 
         appOwnedInterfaces.forEach { unregisterMethod.invoke(sandboxManager, it.getName()) }
     }
-}
\ No newline at end of file
+}
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 22d795b..32d2773a 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
@@ -142,4 +142,4 @@
 
         return testStorage.dexFilesFor(testSdkConfig)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactoryTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactoryTest.kt
index 1f3762f..c4d0ef1 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactoryTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactoryTest.kt
@@ -113,4 +113,4 @@
             .hasMessageThat()
             .isEqualTo("Can't use InMemoryDexClassLoader")
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactoryTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactoryTest.kt
index 3da2c8b..b426788 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactoryTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactoryTest.kt
@@ -111,4 +111,4 @@
         assertThat(appResources.hasMoreElements()).isTrue()
         assertThat(resources.hasMoreElements()).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProviderTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProviderTest.kt
index 6a42d95..4149ac0 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProviderTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProviderTest.kt
@@ -443,4 +443,4 @@
             sdkActivityHandlers.values.remove(handlerCompat)
         }
     }
-}
\ No newline at end of file
+}
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 3b48bc8..ab7f918 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
@@ -287,4 +287,4 @@
         extractSdkProviderClassloader()
     )
     return versionsClass.getDeclaredField(versionFieldName).get(null) as Int
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SandboxedSdkContextCompatTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SandboxedSdkContextCompatTest.kt
index fea2d59..8a318c7 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SandboxedSdkContextCompatTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SandboxedSdkContextCompatTest.kt
@@ -481,4 +481,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoaderTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoaderTest.kt
index a473b05..09812407 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoaderTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoaderTest.kt
@@ -185,4 +185,4 @@
             throw UnsupportedOperationException("NoOp")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtilsTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtilsTest.kt
index 2972d47..50c1153 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtilsTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtilsTest.kt
@@ -168,4 +168,4 @@
         assertThat(resultFile1.exists()).isTrue()
         assertThat(resultFile2.exists()).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactoryTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactoryTest.kt
index 4aad685..70b4abe 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactoryTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactoryTest.kt
@@ -132,4 +132,4 @@
             count++
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapperTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapperTest.kt
index a4622db..a9ead92 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapperTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapperTest.kt
@@ -66,4 +66,4 @@
             result = activityHolder
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorageTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorageTest.kt
index 428c85f..3e5ba24 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorageTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorageTest.kt
@@ -189,4 +189,4 @@
         val availableBlocks = stat.availableBlocks.toLong()
         return availableBlocks * blockSize
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProviderTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProviderTest.kt
index a91734c..715f0bc 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProviderTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProviderTest.kt
@@ -185,4 +185,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/TestLocalSdkStorage.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/TestLocalSdkStorage.kt
index 22cf607..af73bcc 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/TestLocalSdkStorage.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/androidTest/java/androidx/privacysandbox/sdkruntime/client/loader/storage/TestLocalSdkStorage.kt
@@ -48,4 +48,4 @@
 
         return LocalSdkDexFiles(fileList)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxProcessDeathCallbackCompat.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxProcessDeathCallbackCompat.kt
index 32c5b15..00a7771 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxProcessDeathCallbackCompat.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/SdkSandboxProcessDeathCallbackCompat.kt
@@ -37,4 +37,4 @@
      * @see [android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback.onSdkSandboxDied]
      */
     fun onSdkSandboxDied()
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/ComponentActivityHolder.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/ComponentActivityHolder.kt
index f47279e..0f54d4b 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/ComponentActivityHolder.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/ComponentActivityHolder.kt
@@ -35,4 +35,4 @@
 
     override val lifecycle: Lifecycle
         get() = activity.lifecycle
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityHandlerRegistry.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityHandlerRegistry.kt
index 2f9bf53..7b2b726 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityHandlerRegistry.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityHandlerRegistry.kt
@@ -80,4 +80,4 @@
             ?: throw IllegalStateException("There is no registered handler to notify")
         handler.onActivityCreated(activityHolder)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityStarter.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityStarter.kt
index 64fc30a..2eca2e6 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityStarter.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/LocalSdkActivityStarter.kt
@@ -67,4 +67,4 @@
         val params = intent.extras ?: return null
         return BundleCompat.getBinder(params, EXTRA_ACTIVITY_TOKEN)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/SdkActivity.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/SdkActivity.kt
index 2689fee..6fa9dd0 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/SdkActivity.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/activity/SdkActivity.kt
@@ -67,4 +67,4 @@
     private companion object {
         private const val LOG_TAG = "SdkActivity"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfig.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfig.kt
index 1276a7e..2c87c2e 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfig.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfig.kt
@@ -31,4 +31,4 @@
 internal data class ResourceRemappingConfig(
     val rPackageClassName: String,
     val packageId: Int
-)
\ No newline at end of file
+)
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParser.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParser.kt
index 5558336..097bf78 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParser.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigParser.kt
@@ -185,4 +185,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolder.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolder.kt
index 0db3714e..c97df47 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolder.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/LocalSdkConfigsHolder.kt
@@ -71,4 +71,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParser.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParser.kt
index 6bea778..0b64d5a 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParser.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/config/SdkTableConfigParser.kt
@@ -157,4 +157,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/AppOwnedSdkRegistry.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/AppOwnedSdkRegistry.kt
index e89a059..269fbb7 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/AppOwnedSdkRegistry.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/AppOwnedSdkRegistry.kt
@@ -28,4 +28,4 @@
     fun unregisterAppOwnedSdkSandboxInterface(sdkName: String)
 
     fun getAppOwnedSdkSandboxInterfaces(): List<AppOwnedSdkSandboxInterfaceCompat>
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocalController.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocalController.kt
index c2ec13d..59cc703 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocalController.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocalController.kt
@@ -49,4 +49,4 @@
     ) {
         LocalSdkActivityHandlerRegistry.unregister(handlerCompat)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocallyLoadedSdks.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocallyLoadedSdks.kt
index 1f2856d..73c3248 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocallyLoadedSdks.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/LocallyLoadedSdks.kt
@@ -53,4 +53,4 @@
         val sdkProvider: LocalSdkProvider,
         val sdk: SandboxedSdkCompat
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistry.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistry.kt
index 3322247..b497b70 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistry.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/LocalAppOwnedSdkRegistry.kt
@@ -46,4 +46,4 @@
         synchronized(appOwnedInterfaces) {
             return appOwnedInterfaces.values.toList()
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistry.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistry.kt
index e2c7abf..1510a87 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistry.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/controller/impl/PlatformAppOwnedSdkRegistry.kt
@@ -82,4 +82,4 @@
         val apiResult = getAppOwnedSdksMethod.invoke(sdkSandboxManager) as List<*>
         return apiResult.map { converter.toCompat(it!!) }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactory.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactory.kt
index e6d8eb6..54678be 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactory.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/FileClassLoaderFactory.kt
@@ -83,4 +83,4 @@
         const val LOG_TAG =
             "FileClassLoaderFactory"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactory.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactory.kt
index 28b5823..2d7ff1b 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactory.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/InMemorySdkClassLoaderFactory.kt
@@ -124,4 +124,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactory.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactory.kt
index b669af8..55da921 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactory.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/JavaResourcesLoadingClassLoaderFactory.kt
@@ -82,4 +82,4 @@
     companion object {
         const val ASSETS_DIR = "assets/"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProvider.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProvider.kt
index 56af6b0..08cfb5c 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProvider.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/LocalSdkProvider.kt
@@ -34,4 +34,4 @@
     abstract fun onLoadSdk(params: Bundle): SandboxedSdkCompat
 
     abstract fun beforeUnloadSdk()
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemapping.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemapping.kt
index 711d7b1..d45305d 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemapping.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemapping.kt
@@ -45,4 +45,4 @@
 
         field.setInt(null, remappingConfig.packageId)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoader.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoader.kt
index f8b08ed..596830e 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoader.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/SdkLoader.kt
@@ -137,4 +137,4 @@
             return SdkLoader(classLoaderFactory, context, controller)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/VersionHandshake.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/VersionHandshake.kt
index 21a6a17..a233a52 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/VersionHandshake.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/VersionHandshake.kt
@@ -36,4 +36,4 @@
         val handShakeMethod = versionsClass.getMethod("handShake", Int::class.javaPrimitiveType)
         return handShakeMethod.invoke(null, Versions.API_VERSION) as Int
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtils.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtils.kt
index 6cd5caa..05cbea5 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtils.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/MigrationUtils.kt
@@ -102,4 +102,4 @@
         fun copy(from: InputStream, to: OutputStream): Long =
             FileUtils.copy(from, to)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxControllerInjector.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxControllerInjector.kt
index e22a12d..5ab475c 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxControllerInjector.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxControllerInjector.kt
@@ -225,4 +225,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxedSdkContextCompat.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxedSdkContextCompat.kt
index e054674..e08530e 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxedSdkContextCompat.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SandboxedSdkContextCompat.kt
@@ -312,4 +312,4 @@
         private const val SDK_ROOT_FOLDER = "RuntimeEnabledSdksData"
         private const val SDK_SHARED_PREFERENCES_PREFIX = "RuntimeEnabledSdk"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SdkProviderV1.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SdkProviderV1.kt
index 4a6d959..2860872 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SdkProviderV1.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/SdkProviderV1.kt
@@ -191,4 +191,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactory.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactory.kt
index ed9d37e..9c027b7 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactory.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/ActivityHolderProxyFactory.kt
@@ -104,4 +104,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/AppOwnedSdkInterfaceProxyFactory.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/AppOwnedSdkInterfaceProxyFactory.kt
index 113b176..56028dc 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/AppOwnedSdkInterfaceProxyFactory.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/AppOwnedSdkInterfaceProxyFactory.kt
@@ -57,4 +57,4 @@
             return AppOwnedSdkInterfaceProxyFactory(appOwnedSdkSandboxInterfaceCompatConstructor)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapper.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapper.kt
index d9549f9..cdc7fb3 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapper.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/impl/injector/SdkActivityHandlerWrapper.kt
@@ -72,4 +72,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorage.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorage.kt
index 82251fc..6ed726b 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorage.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/CachedLocalSdkStorage.kt
@@ -145,4 +145,4 @@
             return CachedLocalSdkStorage(context, localSdkFolderProvider, lowSpaceThreshold)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProvider.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProvider.kt
index 2b9e08e..7057870 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProvider.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkFolderProvider.kt
@@ -146,4 +146,4 @@
                 PackageManager.PackageInfoFlags.of(0)
             ).lastUpdateTime
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkStorage.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkStorage.kt
index 66fdab7..371c6bb 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkStorage.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/main/java/androidx/privacysandbox/sdkruntime/client/loader/storage/LocalSdkStorage.kt
@@ -29,4 +29,4 @@
      * @return [LocalSdkDexFiles] if DEX files available or null if not.
      */
     fun dexFilesFor(sdkConfig: LocalSdkConfig): LocalSdkDexFiles?
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/src/test/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemappingTest.kt b/privacysandbox/sdkruntime/sdkruntime-client/src/test/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemappingTest.kt
index cb17a81..87e152f 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/src/test/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemappingTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-client/src/test/java/androidx/privacysandbox/sdkruntime/client/loader/ResourceRemappingTest.kt
@@ -146,4 +146,4 @@
             /* parent = */ null
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompatTest.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompatTest.kt
index 22d69b5..968a3c4 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompatTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompatTest.kt
@@ -49,4 +49,4 @@
         assertThat(convertedCompatObj.getVersion()).isEqualTo(compatObj.getVersion())
         assertThat(convertedCompatObj.getInterface()).isEqualTo(compatObj.getInterface())
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatExceptionTest.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatExceptionTest.kt
index 1386c41..ca2302d 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatExceptionTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatExceptionTest.kt
@@ -75,4 +75,4 @@
 
     private fun isSandboxApiAvailable() =
         AdServicesInfo.isAtLeastV4()
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapterTest.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapterTest.kt
index 1cda2cb..cc2e07c 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapterTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapterTest.kt
@@ -257,4 +257,4 @@
 
     private fun isSandboxApiAvailable() =
         AdServicesInfo.isAtLeastV4()
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompatLocalTest.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompatLocalTest.kt
index a37f3f2..7cbf999 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompatLocalTest.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/androidTest/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompatLocalTest.kt
@@ -210,4 +210,4 @@
             token = null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AdServicesInfo.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AdServicesInfo.kt
index 3cc4ee9..4a5d739 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AdServicesInfo.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AdServicesInfo.kt
@@ -56,4 +56,4 @@
         fun isAtLeastV5() =
             SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 5
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedInterfaceConverter.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedInterfaceConverter.kt
index b28e5e3..667f0cb 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedInterfaceConverter.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedInterfaceConverter.kt
@@ -63,4 +63,4 @@
             compatObject.getInterface()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompat.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompat.kt
index 8a4b4cd..5de206f 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompat.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/AppOwnedSdkSandboxInterfaceCompat.kt
@@ -62,4 +62,4 @@
      * the agreed upon interface before using it.
      */
     fun getInterface(): IBinder = binder
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatException.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatException.kt
index 2222ada..9f4640e 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatException.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/LoadSdkCompatException.kt
@@ -221,4 +221,4 @@
             return ApiAdServicesV4Impl.toLoadCompatSdkException(ex)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkInfo.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkInfo.kt
index b2caca8..656ced2 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkInfo.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkInfo.kt
@@ -50,4 +50,4 @@
         result = 31 * result + version.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapter.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapter.kt
index 7ece46d..8dfde4a 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapter.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderAdapter.kt
@@ -91,4 +91,4 @@
         private const val COMPAT_SDK_PROVIDER_CLASS_ASSET_NAME =
             "SandboxedSdkProviderCompatClassName.txt"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderCompat.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderCompat.kt
index 8882d6f..4c27e96 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderCompat.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/SandboxedSdkProviderCompat.kt
@@ -103,4 +103,4 @@
         width: Int,
         height: Int
     ): View
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/Versions.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/Versions.kt
index e124d2e3..b8818b2 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/Versions.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/Versions.kt
@@ -47,4 +47,4 @@
     fun resetClientVersion() {
         CLIENT_VERSION = null
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/ActivityHolder.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/ActivityHolder.kt
index 8832f0e..e438f75 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/ActivityHolder.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/ActivityHolder.kt
@@ -39,4 +39,4 @@
      * The [OnBackPressedDispatcher] for the created [Activity].
      */
     fun getOnBackPressedDispatcher(): OnBackPressedDispatcher
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/SdkSandboxActivityHandlerCompat.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/SdkSandboxActivityHandlerCompat.kt
index b41250a..87b2448 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/SdkSandboxActivityHandlerCompat.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/activity/SdkSandboxActivityHandlerCompat.kt
@@ -49,4 +49,4 @@
      * @see SdkSandboxActivityHandler.onActivityCreated
      */
     fun onActivityCreated(activityHolder: ActivityHolder)
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompat.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompat.kt
index 31494d2..4a2abbe 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompat.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/SdkSandboxControllerCompat.kt
@@ -175,4 +175,4 @@
             return NoOpImpl()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/AppOwnedSdkProvider.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/AppOwnedSdkProvider.kt
index bef25e8..313db26 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/AppOwnedSdkProvider.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/AppOwnedSdkProvider.kt
@@ -76,4 +76,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/LocalImpl.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/LocalImpl.kt
index f90237c2..2c8beda 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/LocalImpl.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/LocalImpl.kt
@@ -63,4 +63,4 @@
         }
         implFromClient.unregisterSdkSandboxActivityHandler(handlerCompat)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/NoOpImpl.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/NoOpImpl.kt
index cbe53ec..ab53064 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/NoOpImpl.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/NoOpImpl.kt
@@ -43,4 +43,4 @@
     ) {
         throw UnsupportedOperationException("Not supported")
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/PlatformUDCImpl.kt b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/PlatformUDCImpl.kt
index fcae673..1ccf8de5 100644
--- a/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/PlatformUDCImpl.kt
+++ b/privacysandbox/sdkruntime/sdkruntime-core/src/main/java/androidx/privacysandbox/sdkruntime/core/controller/impl/PlatformUDCImpl.kt
@@ -134,4 +134,4 @@
             return PlatformUDCImpl(sdkSandboxController)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompiler.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompiler.kt
index 99e696c..f9d560c 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompiler.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompiler.kt
@@ -91,4 +91,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/AbstractSdkProviderGenerator.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/AbstractSdkProviderGenerator.kt
index 96d33b9..540f146 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/AbstractSdkProviderGenerator.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/AbstractSdkProviderGenerator.kt
@@ -81,4 +81,4 @@
             .returns(service.type.poetTypeName())
             .build()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/Api33SdkProviderGenerator.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/Api33SdkProviderGenerator.kt
index e4dd4bd..5639123 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/Api33SdkProviderGenerator.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/Api33SdkProviderGenerator.kt
@@ -62,4 +62,4 @@
             api.getOnlyService().stubDelegateNameSpec(),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/CompatSdkProviderGenerator.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/CompatSdkProviderGenerator.kt
index 5c2e0ed..5053460f 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/CompatSdkProviderGenerator.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/CompatSdkProviderGenerator.kt
@@ -62,4 +62,4 @@
             api.getOnlyService().stubDelegateNameSpec(),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/SdkCodeGenerator.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/SdkCodeGenerator.kt
index d3332ac..0892dbb 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/SdkCodeGenerator.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/generator/SdkCodeGenerator.kt
@@ -165,4 +165,4 @@
     }
 
     private fun basePackageName() = api.getOnlyService().type.packageName
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ApiParser.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ApiParser.kt
index 5782e08..67ac55f 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ApiParser.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ApiParser.kt
@@ -102,4 +102,4 @@
             logger.error(error)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParser.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParser.kt
index f1c766a..080e840 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParser.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/InterfaceParser.kt
@@ -149,4 +149,4 @@
             type = typeParser.parseFromTypeReference(parameter.type, name),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/TypeParser.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/TypeParser.kt
index 6b2387a..156094a 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/TypeParser.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/TypeParser.kt
@@ -51,4 +51,4 @@
             isNullable = resolvedType.isMarkedNullable,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParser.kt b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParser.kt
index 64f9c6b..ff37a6d 100644
--- a/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParser.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/main/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParser.kt
@@ -76,4 +76,4 @@
             type = typeParser.parseFromTypeReference(property.type, name),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/AbstractApiCompilerDiffTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/AbstractApiCompilerDiffTest.kt
index cd0f1b0..0086931 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/AbstractApiCompilerDiffTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/AbstractApiCompilerDiffTest.kt
@@ -47,4 +47,4 @@
         }
         return sources
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/FullFeaturedSdkApiCompilerDiffTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/FullFeaturedSdkApiCompilerDiffTest.kt
index 75b6cd0..88c2b52 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/FullFeaturedSdkApiCompilerDiffTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/FullFeaturedSdkApiCompilerDiffTest.kt
@@ -53,4 +53,4 @@
         "com/mysdk/ParcelableInnerValue.java",
         "com/mysdk/PrivacySandboxThrowableParcel.java",
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompilerTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompilerTest.kt
index 0eccb02..6f4b716 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompilerTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/PrivacySandboxKspCompilerTest.kt
@@ -84,4 +84,4 @@
             )
         assertThat(compileWithPrivacySandboxKspCompiler(listOf(source))).fails()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/SdkWithPackagesApiCompilerDiffTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/SdkWithPackagesApiCompilerDiffTest.kt
index d9558f0..2102122 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/SdkWithPackagesApiCompilerDiffTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/SdkWithPackagesApiCompilerDiffTest.kt
@@ -40,4 +40,4 @@
         "com/mysdk/IMyMainPackageInterface.java",
         "com/mysdk/PrivacySandboxThrowableParcel.java"
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/WithoutRuntimeLibrarySdkApiCompilerDiffTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/WithoutRuntimeLibrarySdkApiCompilerDiffTest.kt
index 8fcee4c..3cceb9a 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/WithoutRuntimeLibrarySdkApiCompilerDiffTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/WithoutRuntimeLibrarySdkApiCompilerDiffTest.kt
@@ -30,4 +30,4 @@
         "com/mysdk/ParcelableStackFrame.java",
         "com/mysdk/PrivacySandboxThrowableParcel.java",
     )
-}
\ No newline at end of file
+}
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 4648597..548b00b 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
@@ -563,4 +563,4 @@
             }
         """
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParserTest.kt b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParserTest.kt
index ce1d8f2..4b8f7a9 100644
--- a/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParserTest.kt
+++ b/privacysandbox/tools/tools-apicompiler/src/test/java/androidx/privacysandbox/tools/apicompiler/parser/ValueParserTest.kt
@@ -184,4 +184,4 @@
             $declaration
         """
     )
-}
\ No newline at end of file
+}
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 19d9baf..3c43900 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
@@ -52,4 +52,4 @@
             addParameters(method.parameters.map { it.poetSpec() })
             returns(method.returnType.poetTypeName())
         }
-}
\ No newline at end of file
+}
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 49a34e2..096aed8 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
@@ -254,4 +254,4 @@
         PrivacySandboxExceptionFileGenerator(basePackageName).generate().writeTo(output)
         PrivacySandboxCancellationExceptionFileGenerator(basePackageName).generate().writeTo(output)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/parser/AnnotatedClassReader.kt b/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/parser/AnnotatedClassReader.kt
index d655f8d..ef6c9994 100644
--- a/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/parser/AnnotatedClassReader.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/main/java/androidx/privacysandbox/tools/apigenerator/parser/AnnotatedClassReader.kt
@@ -132,4 +132,4 @@
             }
             return attributes
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/AbstractApiGeneratorDiffTest.kt b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/AbstractApiGeneratorDiffTest.kt
index feb81d0..415aa55 100644
--- a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/AbstractApiGeneratorDiffTest.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/AbstractApiGeneratorDiffTest.kt
@@ -51,4 +51,4 @@
     fun generatedSourcesCompile() {
         assertCompiles(generatedSources)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/CallbacksApiGeneratorDiffTest.kt b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/CallbacksApiGeneratorDiffTest.kt
index 81ec136..7907500 100644
--- a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/CallbacksApiGeneratorDiffTest.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/CallbacksApiGeneratorDiffTest.kt
@@ -30,4 +30,4 @@
         "com/sdkwithcallbacks/IMyUiInterface.java",
         "com/sdkwithcallbacks/IMyUiInterfaceCoreLibInfoAndBinderWrapper.java"
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/InterfaceApiGeneratorDiffTest.kt b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/InterfaceApiGeneratorDiffTest.kt
index e77fda56..7558126 100644
--- a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/InterfaceApiGeneratorDiffTest.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/InterfaceApiGeneratorDiffTest.kt
@@ -34,4 +34,4 @@
         "com/sdk/ParcelableStackFrame.java",
         "com/sdk/PrivacySandboxThrowableParcel.java",
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/PrimitivesApiGeneratorDiffTest.kt b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/PrimitivesApiGeneratorDiffTest.kt
index bf87924..832baa1 100644
--- a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/PrimitivesApiGeneratorDiffTest.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/PrimitivesApiGeneratorDiffTest.kt
@@ -38,4 +38,4 @@
         "com/mysdk/ParcelableStackFrame.java",
         "com/mysdk/PrivacySandboxThrowableParcel.java",
     )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/VersionCompatibilityCheckTest.kt b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/VersionCompatibilityCheckTest.kt
index 9d04ca2..ffed244 100644
--- a/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/VersionCompatibilityCheckTest.kt
+++ b/privacysandbox/tools/tools-apigenerator/src/test/java/androidx/privacysandbox/tools/apigenerator/VersionCompatibilityCheckTest.kt
@@ -101,4 +101,4 @@
         val outputDir = Files.createTempDirectory("output").also { it.toFile().deleteOnExit() }
         generator.generate(descriptors, aidlCompilerPath, frameworkAidlPath, outputDir)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/Metadata.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/Metadata.kt
index 75f5057..3fd042f 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/Metadata.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/Metadata.kt
@@ -29,4 +29,4 @@
 
     /** Relative path to metadata file in SDK API descriptor jar. */
     val filePath = Path("META-INF/privacysandbox/tool-metadata.pb")
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/AidlCompiler.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/AidlCompiler.kt
index 36dbb1b..a4f989d 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/AidlCompiler.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/AidlCompiler.kt
@@ -79,4 +79,4 @@
             return "Error when printing output of command: ${e.message}"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/BinderCodeConverter.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/BinderCodeConverter.kt
index fbcc1f1..fd91bd1 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/BinderCodeConverter.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/BinderCodeConverter.kt
@@ -243,4 +243,4 @@
             else -> ClassName("kotlin", "Array")
                 .parameterizedBy(convertToBinderType(type))
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverter.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverter.kt
index 414d1cd..e95204a 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverter.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverter.kt
@@ -115,4 +115,4 @@
             MemberName(activityLauncherConverterClass, "getLocalOrProxyLauncher"),
             expression,
         )
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientProxyTypeGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientProxyTypeGenerator.kt
index e82bafb..ec4f236 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientProxyTypeGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ClientProxyTypeGenerator.kt
@@ -232,4 +232,4 @@
         get() {
             return returnType.qualifiedName == Unit::class.qualifiedName
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/CoreLibInfoAndBinderWrapperConverterGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/CoreLibInfoAndBinderWrapperConverterGenerator.kt
index 7bc2df7..7473dc3 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/CoreLibInfoAndBinderWrapperConverterGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/CoreLibInfoAndBinderWrapperConverterGenerator.kt
@@ -47,4 +47,4 @@
                 addStatement("return parcelable")
             })
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/KotlinPoetSpecs.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/KotlinPoetSpecs.kt
index 123a0f6..f5a716d 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/KotlinPoetSpecs.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/KotlinPoetSpecs.kt
@@ -172,4 +172,4 @@
 
     // Privacy Sandbox UI
     val toCoreLibInfoMethod = MemberName("androidx.privacysandbox.ui.provider", "toCoreLibInfo")
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxCancellationExceptionFileGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxCancellationExceptionFileGenerator.kt
index fe8888f..dadcb7d5 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxCancellationExceptionFileGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxCancellationExceptionFileGenerator.kt
@@ -53,4 +53,4 @@
             addType(classSpec)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxExceptionFileGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxExceptionFileGenerator.kt
index f587725..fdb9242 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxExceptionFileGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/PrivacySandboxExceptionFileGenerator.kt
@@ -53,4 +53,4 @@
             addType(classSpec)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverter.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverter.kt
index 27eb1e3..f31c8ab 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverter.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverter.kt
@@ -116,4 +116,4 @@
 
     override fun convertToActivityLauncherModelCode(expression: String): CodeBlock =
         CodeBlock.of("%T(%L)", activityLauncherWrapperClass, expression)
-}
\ No newline at end of file
+}
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 99979ab..7b569a2 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
@@ -60,4 +60,4 @@
         }
 
     private fun factoryName(service: AnnotatedInterface) = "${service.type.simpleName}Factory"
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ThrowableParcelConverterFileGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ThrowableParcelConverterFileGenerator.kt
index 647ca84..ab32014 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ThrowableParcelConverterFileGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ThrowableParcelConverterFileGenerator.kt
@@ -135,4 +135,4 @@
                 )
             }
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/TransportCancellationGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/TransportCancellationGenerator.kt
index 4167b4d..8920889 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/TransportCancellationGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/TransportCancellationGenerator.kt
@@ -65,4 +65,4 @@
 
         return FileSpec.builder(packageName, className).addType(classSpec).build()
     }
-}
\ No newline at end of file
+}
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 e2d5768..0b487b4 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
@@ -112,4 +112,4 @@
                 )
             )
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueFileGenerator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueFileGenerator.kt
index 79055e7..4eac9ed 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueFileGenerator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/ValueFileGenerator.kt
@@ -41,4 +41,4 @@
                     .build()
             })
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlFileSpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlFileSpec.kt
index 19ea909..ed51fbb 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlFileSpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlFileSpec.kt
@@ -36,4 +36,4 @@
 
         add(innerContent)
     }.joinToString(separator = "\n\n")
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlInterfaceSpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlInterfaceSpec.kt
index b166ba3..133c51a 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlInterfaceSpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlInterfaceSpec.kt
@@ -73,4 +73,4 @@
 
         fun build() = AidlInterfaceSpec(type, methods)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlMethodSpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlMethodSpec.kt
index edac2d2..5dc0dda 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlMethodSpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlMethodSpec.kt
@@ -85,4 +85,4 @@
 
 // This method must remain backwards-compatible to ensure SDK compatibility.
 private fun AidlTypeSpec.signature(): String =
-    innerType.qualifiedName + (if (isList) "[]" else "")
\ No newline at end of file
+    innerType.qualifiedName + (if (isList) "[]" else "")
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParameterSpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParameterSpec.kt
index 39fb6a6..c550772 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParameterSpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParameterSpec.kt
@@ -23,4 +23,4 @@
 ) {
 
     override fun toString() = "${if (isIn) "in " else ""}$type $name"
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParcelableSpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParcelableSpec.kt
index 94906d5..3fff06c 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParcelableSpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlParcelableSpec.kt
@@ -62,4 +62,4 @@
 
         fun build() = AidlParcelableSpec(type, properties)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlPropertySpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlPropertySpec.kt
index b78ad94..cf999dd 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlPropertySpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlPropertySpec.kt
@@ -22,4 +22,4 @@
     val isNullable: Boolean = false,
 ) {
     override fun toString() = "${if (isNullable) "@nullable(heap=true) " else ""}$type $name;"
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlTypeSpec.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlTypeSpec.kt
index 4aeb180..25c4c15 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlTypeSpec.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/generator/poet/AidlTypeSpec.kt
@@ -42,4 +42,4 @@
 
     val requiresImport = kind != AidlTypeKind.PRIMITIVE
     val isParcelable = kind == AidlTypeKind.PARCELABLE
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/AnnotatedInterface.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/AnnotatedInterface.kt
index dc289c6..b88e754 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/AnnotatedInterface.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/AnnotatedInterface.kt
@@ -28,4 +28,4 @@
     val methods: List<Method> = emptyList(),
 ) {
     val inheritsSandboxedUiAdapter = superTypes.contains(Types.sandboxedUiAdapter)
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Method.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Method.kt
index f53bdd7..7c41509 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Method.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Method.kt
@@ -21,4 +21,4 @@
     val parameters: List<Parameter>,
     val returnType: Type,
     val isSuspend: Boolean,
-)
\ No newline at end of file
+)
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Models.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Models.kt
index 15d0e4b..afc79843 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Models.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Models.kt
@@ -85,4 +85,4 @@
             return copy(isNullable = false)
         return this
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Parameter.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Parameter.kt
index 0d52aa9..625d41c 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Parameter.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Parameter.kt
@@ -19,4 +19,4 @@
 data class Parameter(
     val name: String,
     val type: Type,
-)
\ No newline at end of file
+)
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Type.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Type.kt
index 843127b..70bf1b0 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Type.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/model/Type.kt
@@ -29,4 +29,4 @@
       }
       return "$packageName.$simpleName"
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/validator/ModelValidator.kt b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/validator/ModelValidator.kt
index 2d75370..86a0127 100644
--- a/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/validator/ModelValidator.kt
+++ b/privacysandbox/tools/tools-core/src/main/java/androidx/privacysandbox/tools/core/validator/ModelValidator.kt
@@ -188,4 +188,4 @@
 data class ValidationResult(val errors: List<String>) {
     val isSuccess = errors.isEmpty()
     val isFailure = !isSuccess
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlCallbackGeneratorTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlCallbackGeneratorTest.kt
index 60fdadb..c371493 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlCallbackGeneratorTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlCallbackGeneratorTest.kt
@@ -81,4 +81,4 @@
         Truth.assertThat(aidlGeneratedSources.map { it.relativePath to it.content })
             .containsExactlyElementsIn(expectedSources)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlInterfaceGeneratorTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlInterfaceGeneratorTest.kt
index a536da8..e3d1714 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlInterfaceGeneratorTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlInterfaceGeneratorTest.kt
@@ -103,4 +103,4 @@
         assertThat(aidlGeneratedSources.map { it.relativePath to it.content })
             .containsExactlyElementsIn(expectedSources)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlServiceGeneratorTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlServiceGeneratorTest.kt
index 32fd000..b437088 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlServiceGeneratorTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlServiceGeneratorTest.kt
@@ -100,4 +100,4 @@
         assertThat(aidlGeneratedSources.map { it.relativePath to it.content })
             .containsExactlyElementsIn(expectedSources)
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlTestHelper.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlTestHelper.kt
index e3aa546..6c47c92 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlTestHelper.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/AidlTestHelper.kt
@@ -58,4 +58,4 @@
 data class AidlGenerationOutput(
     val aidlSources: List<AidlSource>,
     val javaSources: List<GeneratedSource>,
-)
\ No newline at end of file
+)
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverterTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverterTest.kt
index 6838c85..8215aae 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverterTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ClientBinderCodeConverterTest.kt
@@ -75,4 +75,4 @@
             ).toString()
         ).isEqualTo("com.mysdk.CallbackClientProxy(callback, context)")
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/FrameworkAidlFallbackTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/FrameworkAidlFallbackTest.kt
index d544d519..15f4570 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/FrameworkAidlFallbackTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/FrameworkAidlFallbackTest.kt
@@ -41,4 +41,4 @@
         AidlServiceGeneratorTest().generate()
         AidlValueGeneratorTest().generate()
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverterTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverterTest.kt
index 233528d..e0cdf51 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverterTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/generator/ServerBinderCodeConverterTest.kt
@@ -75,4 +75,4 @@
             ).toString()
         ).isEqualTo("com.mysdk.CallbackStubDelegate(callback)")
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/validator/ModelValidatorTest.kt b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/validator/ModelValidatorTest.kt
index 4c7181a..55c23cc 100644
--- a/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/validator/ModelValidatorTest.kt
+++ b/privacysandbox/tools/tools-core/src/test/java/androidx/privacysandbox/tools/core/validator/ModelValidatorTest.kt
@@ -396,4 +396,4 @@
                 "parameter types."
         )
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/AbstractDiffTest.kt b/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/AbstractDiffTest.kt
index 6f1a95d..7c71899 100644
--- a/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/AbstractDiffTest.kt
+++ b/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/AbstractDiffTest.kt
@@ -87,4 +87,4 @@
             "test_output_dir not set for diff test."
         }.let { Path(it).resolve(subdirectoryName) }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/TestEnvironment.kt b/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/TestEnvironment.kt
index 2a65ddd..6fc122f 100644
--- a/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/TestEnvironment.kt
+++ b/privacysandbox/tools/tools-testing/src/main/java/androidx/privacysandbox/tools/testing/TestEnvironment.kt
@@ -26,4 +26,4 @@
     val frameworkAidlPath = requireNotNull(System.getProperty("framework_aidl_path")) {
         "framework_aidl_path flag not set."
     }.let(::Path)
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxCallback.kt b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxCallback.kt
index ea4c5e2..606914e 100644
--- a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxCallback.kt
+++ b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxCallback.kt
@@ -38,4 +38,4 @@
  */
 @Retention(AnnotationRetention.RUNTIME)
 @Target(AnnotationTarget.CLASS)
-public annotation class PrivacySandboxCallback
\ No newline at end of file
+public annotation class PrivacySandboxCallback
diff --git a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxInterface.kt b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxInterface.kt
index 1971378..618796a 100644
--- a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxInterface.kt
+++ b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxInterface.kt
@@ -57,4 +57,4 @@
  */
 @Retention(AnnotationRetention.RUNTIME)
 @Target(AnnotationTarget.CLASS)
-public annotation class PrivacySandboxInterface
\ No newline at end of file
+public annotation class PrivacySandboxInterface
diff --git a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxService.kt b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxService.kt
index 02a9792..c458af4 100644
--- a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxService.kt
+++ b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/PrivacySandboxService.kt
@@ -54,4 +54,4 @@
  */
 @Retention(AnnotationRetention.RUNTIME)
 @Target(AnnotationTarget.CLASS)
-public annotation class PrivacySandboxService
\ No newline at end of file
+public annotation class PrivacySandboxService
diff --git a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/internal/GeneratedPublicApi.kt b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/internal/GeneratedPublicApi.kt
index 71e15e1..98f8cf8 100644
--- a/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/internal/GeneratedPublicApi.kt
+++ b/privacysandbox/tools/tools/src/main/java/androidx/privacysandbox/tools/internal/GeneratedPublicApi.kt
@@ -31,4 +31,4 @@
 @Retention(AnnotationRetention.BINARY)
 @Target(AnnotationTarget.CLASS)
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
-public annotation class GeneratedPublicApi
\ No newline at end of file
+public annotation class GeneratedPublicApi
diff --git a/privacysandbox/ui/ui-client/src/androidTest/java/androidx/privacysandbox/ui/client/test/CreateSdkActivityLauncherTest.kt b/privacysandbox/ui/ui-client/src/androidTest/java/androidx/privacysandbox/ui/client/test/CreateSdkActivityLauncherTest.kt
index 3b50998..55c5a54 100644
--- a/privacysandbox/ui/ui-client/src/androidTest/java/androidx/privacysandbox/ui/client/test/CreateSdkActivityLauncherTest.kt
+++ b/privacysandbox/ui/ui-client/src/androidTest/java/androidx/privacysandbox/ui/client/test/CreateSdkActivityLauncherTest.kt
@@ -128,4 +128,4 @@
             assertThat(result).isFalse()
             intended(sdkSandboxActivityMatcher, times(0))
         }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-client/src/main/java/androidx/privacysandbox/ui/client/SdkActivityLaunchers.kt b/privacysandbox/ui/ui-client/src/main/java/androidx/privacysandbox/ui/client/SdkActivityLaunchers.kt
index 2d4e082..d8a6f94 100644
--- a/privacysandbox/ui/ui-client/src/main/java/androidx/privacysandbox/ui/client/SdkActivityLaunchers.kt
+++ b/privacysandbox/ui/ui-client/src/main/java/androidx/privacysandbox/ui/client/SdkActivityLaunchers.kt
@@ -160,4 +160,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/ProtocolConstants.kt b/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/ProtocolConstants.kt
index 5bff1c9..f46c1a2 100644
--- a/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/ProtocolConstants.kt
+++ b/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/ProtocolConstants.kt
@@ -28,4 +28,4 @@
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
 object ProtocolConstants {
     const val sdkActivityLauncherBinderKey = "sdkActivityLauncherBinderKey"
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkActivityLauncher.kt b/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkActivityLauncher.kt
index edd3008..9134f7e 100644
--- a/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkActivityLauncher.kt
+++ b/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkActivityLauncher.kt
@@ -42,4 +42,4 @@
      * reason.
      */
     suspend fun launchSdkActivity(sdkActivityHandlerToken: IBinder): Boolean
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkRuntimeUiLibVersions.kt b/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkRuntimeUiLibVersions.kt
index 0a68ce9..be664d5 100644
--- a/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkRuntimeUiLibVersions.kt
+++ b/privacysandbox/ui/ui-core/src/main/java/androidx/privacysandbox/ui/core/SdkRuntimeUiLibVersions.kt
@@ -24,4 +24,4 @@
         set
 
     const val apiVersion: Int = 1
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/BinderAdapterDelegate.kt b/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/BinderAdapterDelegate.kt
index 4f7d04e..12ce517 100644
--- a/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/BinderAdapterDelegate.kt
+++ b/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/BinderAdapterDelegate.kt
@@ -151,4 +151,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/SdkActivityLauncherFactory.kt b/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/SdkActivityLauncherFactory.kt
index 9d73f49..5e72d7a 100644
--- a/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/SdkActivityLauncherFactory.kt
+++ b/privacysandbox/ui/ui-provider/src/main/java/androidx/privacysandbox/ui/provider/SdkActivityLauncherFactory.kt
@@ -67,4 +67,4 @@
                     })
             }
     }
-}
\ No newline at end of file
+}
diff --git a/privacysandbox/ui/ui-tests/src/androidTest/java/androidx/privacysandbox/ui/tests/activity/SdkActivityLauncherBundlingTest.kt b/privacysandbox/ui/ui-tests/src/androidTest/java/androidx/privacysandbox/ui/tests/activity/SdkActivityLauncherBundlingTest.kt
index 6971f7c..66fdcdf 100644
--- a/privacysandbox/ui/ui-tests/src/androidTest/java/androidx/privacysandbox/ui/tests/activity/SdkActivityLauncherBundlingTest.kt
+++ b/privacysandbox/ui/ui-tests/src/androidTest/java/androidx/privacysandbox/ui/tests/activity/SdkActivityLauncherBundlingTest.kt
@@ -70,4 +70,4 @@
             return allowActivityLaunches
         }
     }
-}
\ No newline at end of file
+}
diff --git a/profileinstaller/integration-tests/init-macrobenchmark/src/main/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt b/profileinstaller/integration-tests/init-macrobenchmark/src/main/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt
index 83d0a926..67edd72 100644
--- a/profileinstaller/integration-tests/init-macrobenchmark/src/main/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt
+++ b/profileinstaller/integration-tests/init-macrobenchmark/src/main/java/androidx/profileinstaller/integration/macrobenchmark/ProfileinstallerStartupBenchmark.kt
@@ -50,4 +50,4 @@
         @JvmStatic
         fun parameters() = createStartupCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationOnUnsupportedApiVersions.kt b/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationOnUnsupportedApiVersions.kt
index 6e3fae7..817d4a4 100644
--- a/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationOnUnsupportedApiVersions.kt
+++ b/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationOnUnsupportedApiVersions.kt
@@ -66,4 +66,4 @@
             hasCurrentProfile(false)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/TestManager.kt b/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/TestManager.kt
index 8757017..211f83e 100644
--- a/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/TestManager.kt
+++ b/profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/TestManager.kt
@@ -321,4 +321,4 @@
 const val APK_WITH_INITIALIZER_V3 = "profile-verification-sample-v3-release.apk"
 const val APK_WITHOUT_INITIALIZER_V1 = "profile-verification-sample-no-initializer-v1-release.apk"
 const val APK_WITHOUT_INITIALIZER_V2 = "profile-verification-sample-no-initializer-v2-release.apk"
-const val APK_WITHOUT_INITIALIZER_V3 = "profile-verification-sample-no-initializer-v3-release.apk"
\ No newline at end of file
+const val APK_WITHOUT_INITIALIZER_V3 = "profile-verification-sample-no-initializer-v3-release.apk"
diff --git a/recyclerview/recyclerview-benchmark/src/androidTest/java/androidx/recyclerview/benchmark/DiffBenchmark.kt b/recyclerview/recyclerview-benchmark/src/androidTest/java/androidx/recyclerview/benchmark/DiffBenchmark.kt
index 1f997a5..ebec416 100644
--- a/recyclerview/recyclerview-benchmark/src/androidTest/java/androidx/recyclerview/benchmark/DiffBenchmark.kt
+++ b/recyclerview/recyclerview-benchmark/src/androidTest/java/androidx/recyclerview/benchmark/DiffBenchmark.kt
@@ -140,4 +140,4 @@
             "_detectMoves_$detectMoves" +
             "_size_[${before.size}_${after.size}]"
     }
-}
\ No newline at end of file
+}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/test/TestRunner.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/test/TestRunner.kt
index 05f598a..7cd0f62 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/test/TestRunner.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/test/TestRunner.kt
@@ -30,4 +30,4 @@
         RecyclerView.setDebugAssertionsEnabled(false)
         super.onDestroy()
     }
-}
\ No newline at end of file
+}
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 eac39fc..4b246eb 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/BaseSnapHelperCenterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/BaseSnapHelperCenterTest.kt
@@ -181,4 +181,4 @@
     override fun getItemCount() = itemCount
 }
 
-private class TestViewHolder constructor(itemView: View) : RecyclerView.ViewHolder(itemView)
\ No newline at end of file
+private class TestViewHolder constructor(itemView: View) : RecyclerView.ViewHolder(itemView)
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterSubject.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterSubject.kt
index e18b094..014e3e9 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterSubject.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterSubject.kt
@@ -153,4 +153,4 @@
                 }
         }
     }
-}
\ No newline at end of file
+}
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 89330ac..2f1a212 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
@@ -1782,4 +1782,4 @@
             bindingAdapterPosition = viewHolder.bindingAdapterPosition
         )
     }
-}
\ No newline at end of file
+}
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 841555c..d00e110 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LazyStateRestorationTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LazyStateRestorationTest.kt
@@ -319,4 +319,4 @@
         }
         return items
     }
-}
\ No newline at end of file
+}
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 e05e6c00..a81f9d1 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearSnapHelperCenterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearSnapHelperCenterTest.kt
@@ -38,4 +38,4 @@
     clipToPadding
 ) {
     override val snapHelper = LinearSnapHelper()
-}
\ No newline at end of file
+}
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 1d62973..3c3002c 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/PagerSnapHelperCenterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/PagerSnapHelperCenterTest.kt
@@ -35,4 +35,4 @@
     clipToPadding: Boolean
 ) : BaseSnapHelperCenterTest(vertical, startPadded, endPadded, clipToPadding) {
     override val snapHelper = PagerSnapHelper()
-}
\ No newline at end of file
+}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecycledViewPoolInstrumentedTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecycledViewPoolInstrumentedTest.kt
index 04758c1..5d38966 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecycledViewPoolInstrumentedTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecycledViewPoolInstrumentedTest.kt
@@ -219,4 +219,4 @@
 
     private val RecyclerView.attachCount: Int
         get() = this.recycledViewPool.mAttachedAdaptersForPoolingContainer.size
-}
\ No newline at end of file
+}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewKeyEventTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewKeyEventTest.kt
index 45cc5f8..45848e9 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewKeyEventTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewKeyEventTest.kt
@@ -280,4 +280,4 @@
         MatcherAssert.assertThat(layoutManager.findFirstCompletelyVisibleItemPosition(),
             CoreMatchers.`is`(0))
     }
-}
\ No newline at end of file
+}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewMeasureTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewMeasureTest.kt
index 473da05..dc636f5 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewMeasureTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewMeasureTest.kt
@@ -344,4 +344,4 @@
     }
 
     internal class MockViewHolder(itemView: View?) : RecyclerView.ViewHolder(itemView!!)
-}
\ No newline at end of file
+}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewOnItemTouchListenerTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewOnItemTouchListenerTest.kt
index 1fc175c..dc68f07 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewOnItemTouchListenerTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewOnItemTouchListenerTest.kt
@@ -291,4 +291,4 @@
         super.onInterceptTouchEvent(ev)
         return ev!!.toMotionEventItem() == motionEventItemToStartIntecepting
     }
-}
\ No newline at end of file
+}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewPrefetchTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewPrefetchTest.kt
index 626cb53..4b22f28 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewPrefetchTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewPrefetchTest.kt
@@ -107,4 +107,4 @@
             assertThat(cachedViews()[0].absoluteAdapterPosition, `is`(6))
         }
     }
-}
\ No newline at end of file
+}
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 fcfce45..c3cab50 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewSmoothScrollToPositionTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewSmoothScrollToPositionTest.kt
@@ -218,4 +218,4 @@
     }
 
     override fun getItemCount() = numItems
-}
\ No newline at end of file
+}
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 7146b50..0e67ac0 100644
--- a/recyclerview/recyclerview/src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt
+++ b/recyclerview/recyclerview/src/test/java/androidx/recyclerview/widget/DiffUtilTest.kt
@@ -734,4 +734,4 @@
     companion object {
         private val sRand = Random(System.nanoTime())
     }
-}
\ No newline at end of file
+}
diff --git a/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/InspectionCompanionGeneration.kt b/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/InspectionCompanionGeneration.kt
index 40f8dd5..a7bef96 100644
--- a/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/InspectionCompanionGeneration.kt
+++ b/resourceinspection/resourceinspection-processor/src/main/kotlin/androidx/resourceinspection/processor/InspectionCompanionGeneration.kt
@@ -243,4 +243,4 @@
             "\$T.LIBRARY",
             ClassName.get("androidx.annotation", "RestrictTo", "Scope")
         )
-        .build()
\ No newline at end of file
+        .build()
diff --git a/room/benchmark/src/androidTest/java/androidx/room/benchmark/AmbiguousColumnResolverBenchmark.kt b/room/benchmark/src/androidTest/java/androidx/room/benchmark/AmbiguousColumnResolverBenchmark.kt
index 55c79da..a60af6b 100644
--- a/room/benchmark/src/androidTest/java/androidx/room/benchmark/AmbiguousColumnResolverBenchmark.kt
+++ b/room/benchmark/src/androidTest/java/androidx/room/benchmark/AmbiguousColumnResolverBenchmark.kt
@@ -112,4 +112,4 @@
             listOf(2, 4)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/benchmark/src/androidTest/java/androidx/room/benchmark/RelationBenchmark.kt b/room/benchmark/src/androidTest/java/androidx/room/benchmark/RelationBenchmark.kt
index 55b193e..53c9fe0 100644
--- a/room/benchmark/src/androidTest/java/androidx/room/benchmark/RelationBenchmark.kt
+++ b/room/benchmark/src/androidTest/java/androidx/room/benchmark/RelationBenchmark.kt
@@ -127,4 +127,4 @@
         @Query("SELECT * FROM User")
         fun getUserWithItems(): List<UserWithItems>
     }
-}
\ No newline at end of file
+}
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 e61991e..24eb650 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
@@ -42,4 +42,4 @@
             block.run()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/RoomTestConfig.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/RoomTestConfig.kt
index fb04b08..a40f9f4 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/RoomTestConfig.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/RoomTestConfig.kt
@@ -38,4 +38,4 @@
     if (!RoomTestConfig.isKsp) {
         throw AssumptionViolatedException("test is supported only in KSP")
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/AbstractDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/AbstractDao.kt
index 37b9011..26a6418 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/AbstractDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/AbstractDao.kt
@@ -40,4 +40,4 @@
         addBooks(book)
         addAuthors(author)
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BaseDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BaseDao.kt
index 3419b5b..7574064 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BaseDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BaseDao.kt
@@ -57,4 +57,4 @@
 
     @RawQuery
     suspend fun rawQuery(query: SupportSQLiteQuery): List<T>
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/CounterDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/CounterDao.kt
index b4d769c..6bbc4ec 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/CounterDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/CounterDao.kt
@@ -28,4 +28,4 @@
 
     @Query("SELECT * FROM Counter WHERE id = :id")
     suspend fun getCounter(id: Long): Counter
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/MusicDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/MusicDao.kt
index 4a8fea8..a7ef64d 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/MusicDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/MusicDao.kt
@@ -355,4 +355,4 @@
     @MapInfo(keyColumn = "mImageYear", valueColumn = "mTitle")
     @RewriteQueriesToDropUnusedColumns
     fun getNestedMapWithMapInfoKeyAndValue(): Map<Long, Map<Artist, Map<Album, List<String>>>>
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/PetDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/PetDao.kt
index c45bc5b..3d091dd 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/PetDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/PetDao.kt
@@ -79,4 +79,4 @@
         }
         insertOrReplace(newPet)
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/RobotsDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/RobotsDao.kt
index 183ca2d..9449716 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/RobotsDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/RobotsDao.kt
@@ -43,4 +43,4 @@
     @Query("SELECT * FROM Robot")
     @Transaction
     fun robotsWithHivemind(): List<RobotAndHivemind>
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/ToyDao.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/ToyDao.kt
index fbbd6c5..d67ea92 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/ToyDao.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/ToyDao.kt
@@ -42,4 +42,4 @@
 
     @Update(onConflict = OnConflictStrategy.IGNORE)
     fun updateOrIgnore(toy: Toy): Int
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationDb.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationDb.kt
index e5df42c..6494139 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationDb.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationDb.kt
@@ -580,4 +580,4 @@
     companion object {
         const val LATEST_VERSION = 3
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationTest.kt
index cb76b27..186154a 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/AutoMigrationTest.kt
@@ -110,4 +110,4 @@
     companion object {
         private const val TEST_DB = "auto-migration-test"
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/EmbeddedAutoMigrationDb.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/EmbeddedAutoMigrationDb.kt
index cd17c62..2367464 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/EmbeddedAutoMigrationDb.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/EmbeddedAutoMigrationDb.kt
@@ -90,4 +90,4 @@
     companion object {
         const val LATEST_VERSION = 2
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/ProvidedAutoMigrationSpecTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/ProvidedAutoMigrationSpecTest.kt
index d67604a..3d8dc4b 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/ProvidedAutoMigrationSpecTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/migration/ProvidedAutoMigrationSpecTest.kt
@@ -174,4 +174,4 @@
     companion object {
         private const val TEST_DB = "auto-migration-test"
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AlteredTableColumnOrderTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AlteredTableColumnOrderTest.kt
index 0cccf07..771826d 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AlteredTableColumnOrderTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AlteredTableColumnOrderTest.kt
@@ -121,4 +121,4 @@
         @Query("SELECT * FROM Foo LIMIT 1")
         fun getOneFoo(): Foo
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AmbiguousColumnResolverTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AmbiguousColumnResolverTest.kt
index 93a76b0..3647b62 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AmbiguousColumnResolverTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/AmbiguousColumnResolverTest.kt
@@ -281,4 +281,4 @@
         @ColumnInfo(name = "comment_id") val commentId: Int,
         @ColumnInfo(name = "text") val text: String,
     )
-}
\ No newline at end of file
+}
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 9679239..5f9a4cff 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
@@ -265,4 +265,4 @@
         @Insert
         fun insert(vararg entities: MyNullableEntity)
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoBoxedPrimitiveDelegateTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoBoxedPrimitiveDelegateTest.kt
index 5fe6257..457b874 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoBoxedPrimitiveDelegateTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoBoxedPrimitiveDelegateTest.kt
@@ -168,4 +168,4 @@
         db.byteArrayFooDao().insert(foo)
         assertThat(db.byteArrayFooDao().getByteArray()).isEqualTo(ByteArray(16))
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoConflictStrategyTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoConflictStrategyTest.kt
index ea4619d..83898b3 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoConflictStrategyTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoConflictStrategyTest.kt
@@ -100,4 +100,4 @@
         assertThat(output).isNotNull()
         assertThat(output!!.mName).isEqualTo(newToy.mName)
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoNameConflictTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoNameConflictTest.kt
index 21e7ca9..4907803 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoNameConflictTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DaoNameConflictTest.kt
@@ -121,4 +121,4 @@
         abstract fun item1Dao(): Item1.Store
         abstract fun item2Dao(): Item2.Store
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DeferredBooksDaoTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DeferredBooksDaoTest.kt
index 24ddfac..6485f92 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DeferredBooksDaoTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/DeferredBooksDaoTest.kt
@@ -229,4 +229,4 @@
         val rowid = booksDao.insertPublisherFuture("ph3", "publisher 3").get()
         assertThat(booksDao.getPublisher(rowid), notNullValue())
     }
-}
\ No newline at end of file
+}
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 6653b7f..4a23ca5 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
@@ -318,4 +318,4 @@
 
         job.cancelAndJoin()
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InvalidationTrackerFlowTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InvalidationTrackerFlowTest.kt
index 7c0345f..f399023 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InvalidationTrackerFlowTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InvalidationTrackerFlowTest.kt
@@ -330,4 +330,4 @@
 
         channel.cancel()
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ItemWithNullableConstructor.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ItemWithNullableConstructor.kt
index 30a25fa..cc2472f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ItemWithNullableConstructor.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ItemWithNullableConstructor.kt
@@ -82,4 +82,4 @@
     abstract class Db : RoomDatabase() {
         abstract fun getDao(): TestDao
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/JvmNameInDaoTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/JvmNameInDaoTest.kt
index 315ecf6..be4878cf 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/JvmNameInDaoTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/JvmNameInDaoTest.kt
@@ -124,4 +124,4 @@
         @JvmName("jvmDao")
         abstract fun getDao(): JvmNameDao
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/MultimapQueryTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/MultimapQueryTest.kt
index 75797da..c44486f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/MultimapQueryTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/MultimapQueryTest.kt
@@ -1384,4 +1384,4 @@
         )
         assertThat(artistToSongsMap[mAcDc]).containsExactly(mAcdcSong1)
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/NullableCollectionQueryParamTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/NullableCollectionQueryParamTest.kt
index 80e204b..0c25ba7 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/NullableCollectionQueryParamTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/NullableCollectionQueryParamTest.kt
@@ -140,4 +140,4 @@
     abstract class TestDatabase : RoomDatabase() {
         abstract fun getDao(): SongDao
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ProvidedTypeConverterTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ProvidedTypeConverterTest.kt
index df85ab8..fbd1286 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ProvidedTypeConverterTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/ProvidedTypeConverterTest.kt
@@ -258,4 +258,4 @@
             return input.lastName + "-" + input.name
         }
     }
-}
\ No newline at end of file
+}
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 977ba54..3f92348 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
@@ -43,4 +43,4 @@
             // no-op on purpose
         }
     }
-}
\ No newline at end of file
+}
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 10770bc..fb08a64 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
@@ -58,4 +58,4 @@
             assertThat(executeCount.get(), `is`(1))
         }
     }
-}
\ No newline at end of file
+}
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 f92825f..793f147 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
@@ -174,4 +174,4 @@
             booksDao.getBookSuspend(TestUtil.BOOK_1.bookId)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SyncTriggersConcurrencyTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SyncTriggersConcurrencyTest.kt
index 6f4b575..f56e7c7 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SyncTriggersConcurrencyTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/SyncTriggersConcurrencyTest.kt
@@ -174,4 +174,4 @@
         private const val CONCURRENCY = 4
         private const val CHECK_ITERATIONS = 200
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/TestObserver.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/TestObserver.kt
index 9bb6653..a73aff3 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/TestObserver.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/TestObserver.kt
@@ -47,4 +47,4 @@
 
     @Throws(TimeoutException::class, InterruptedException::class)
     protected abstract fun drain()
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UsersDaoTest.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UsersDaoTest.kt
index b6b9c9e..31fd3b2 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UsersDaoTest.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/UsersDaoTest.kt
@@ -45,4 +45,4 @@
 
         assertThat(database.usersDao().getUsers()).containsExactlyElementsIn(expectedList)
     }
-}
\ No newline at end of file
+}
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 4bd0c4f..ea7bfa0 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
@@ -332,4 +332,4 @@
             return text.replaceFirst('8', '5')
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/testutil/TestObserver.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/testutil/TestObserver.kt
index e437951..00842d5 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/testutil/TestObserver.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/testutil/TestObserver.kt
@@ -43,4 +43,4 @@
     }
 
     protected abstract fun drain()
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Album.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Album.kt
index 412e855..26bd5d9 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Album.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Album.kt
@@ -25,4 +25,4 @@
     val mAlbumArtist: String?,
     val mAlbumReleaseYear: Int,
     val mFeaturedArtist: String?
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumNameAndBandName.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumNameAndBandName.kt
index 492913c..d9b76a1 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumNameAndBandName.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumNameAndBandName.kt
@@ -15,4 +15,4 @@
  */
 package androidx.room.integration.kotlintestapp.vo
 
-data class AlbumNameAndBandName(val mAlbumName: String?, val mBandName: String?)
\ No newline at end of file
+data class AlbumNameAndBandName(val mAlbumName: String?, val mBandName: String?)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumWithSongs.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumWithSongs.kt
index 713fb9a..506db0c 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumWithSongs.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AlbumWithSongs.kt
@@ -21,4 +21,4 @@
 class AlbumWithSongs(
     @field:Embedded val album: Album,
     @field:Relation(parentColumn = "mAlbumName", entityColumn = "mAlbum") val songs: List<Song>
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AnswerConverter.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AnswerConverter.kt
index 2fd788d..9d33711 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AnswerConverter.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/AnswerConverter.kt
@@ -30,4 +30,4 @@
 
     @TypeConverter
     fun fromAnswer(value: Answer?) = value?.name
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Artist.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Artist.kt
index b8e0922..c0152a5 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Artist.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Artist.kt
@@ -23,4 +23,4 @@
     @field:PrimaryKey val mArtistId: Int,
     val mArtistName: String?,
     val mIsActive: Boolean
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/BookWithJavaEntity.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/BookWithJavaEntity.kt
index 5870b84..e92a138 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/BookWithJavaEntity.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/BookWithJavaEntity.kt
@@ -25,4 +25,4 @@
     var book: Book? = null
     @Relation(parentColumn = "bookId", entityColumn = "bookId", entity = JavaEntity::class)
     var javaEntities: List<JavaEntity>? = null
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Cluster.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Cluster.kt
index d9350c0..12b2767 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Cluster.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Cluster.kt
@@ -25,4 +25,4 @@
         entity = Robot::class,
         entityColumn = "mHiveId"
     ) val mRobotList: List<Robot>
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Counter.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Counter.kt
index a47bfc1..d574dbf 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Counter.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Counter.kt
@@ -23,4 +23,4 @@
 data class Counter(
     @PrimaryKey val id: Long,
     val value: Int
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Day.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Day.kt
index d71dcc5..20596c6 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Day.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Day.kt
@@ -17,4 +17,4 @@
 
 enum class Day {
     MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Experiment.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Experiment.kt
index 99a7600..c73a71f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Experiment.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Experiment.kt
@@ -24,4 +24,4 @@
 
 data class Experiment(val isCatAlive: String)
 
-data class CatStatus(val isCatAlive: String)
\ No newline at end of file
+data class CatStatus(val isCatAlive: String)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Hivemind.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Hivemind.kt
index ef44469..f1ac708 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Hivemind.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Hivemind.kt
@@ -20,4 +20,4 @@
 import java.util.UUID
 
 @Entity
-class Hivemind(@field:PrimaryKey val mId: UUID)
\ No newline at end of file
+class Hivemind(@field:PrimaryKey val mId: UUID)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Image.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Image.kt
index d4cf95c..3979e14 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Image.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Image.kt
@@ -48,4 +48,4 @@
         result = 31 * result + mArtistInImage.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ImageFormat.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ImageFormat.kt
index 9fcdb1c..e580dca 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ImageFormat.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ImageFormat.kt
@@ -17,4 +17,4 @@
 
 enum class ImageFormat {
     JPG, GIF, MPEG
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/JavaPojoConverter.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/JavaPojoConverter.kt
index 0d1d3b3..ee46ea5 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/JavaPojoConverter.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/JavaPojoConverter.kt
@@ -45,4 +45,4 @@
     fun toString(pojoList: List<JavaPojo>?): String {
         return ""
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Lang.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Lang.kt
index 473f566..75c77f9 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Lang.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Lang.kt
@@ -43,4 +43,4 @@
             }.toSet()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/MiniBook.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/MiniBook.kt
index 42d013a..aab7f2b 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/MiniBook.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/MiniBook.kt
@@ -22,4 +22,4 @@
     @PrimaryKey val bookId: String,
     val title: String,
     val bookPublisherId: String
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/NoArgClass.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/NoArgClass.kt
index 335de5b..bf031c5 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/NoArgClass.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/NoArgClass.kt
@@ -23,4 +23,4 @@
  * just here to ensure that we handle no-arg constructors fine from kotlin.
  */
 @Entity
-data class NoArgClass(@PrimaryKey var id: Long = 0, var class_name: String = "")
\ No newline at end of file
+data class NoArgClass(@PrimaryKey var id: Long = 0, var class_name: String = "")
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Pet.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Pet.kt
index 1f4836885..dc35e67 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Pet.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Pet.kt
@@ -57,4 +57,4 @@
             ", mAdoptionDate=" + mAdoptionDate +
             '}')
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetAndOwner.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetAndOwner.kt
index 566ad1d..f35f493 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetAndOwner.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetAndOwner.kt
@@ -24,4 +24,4 @@
         parentColumn = "mUserId",
         entityColumn = "mId"
     ) val mUser: PetUser
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetUser.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetUser.kt
index d0e5261..773428c 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetUser.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetUser.kt
@@ -89,4 +89,4 @@
             ", mWorkDays=" + mWorkDays +
             '}')
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithToyIds.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithToyIds.kt
index f78770c..45942b7 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithToyIds.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithToyIds.kt
@@ -62,4 +62,4 @@
             ", toyIds=" + mToyIds +
             '}')
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithUser.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithUser.kt
index 91c347e..d73d961 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithUser.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PetWithUser.kt
@@ -26,4 +26,4 @@
     var mPet: Pet,
     @Embedded
     var mUser: PetUser
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Playlist.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Playlist.kt
index 4ab5cfd..0070de9 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Playlist.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Playlist.kt
@@ -19,4 +19,4 @@
 import androidx.room.PrimaryKey
 
 @Entity
-data class Playlist(@field:PrimaryKey val mPlaylistId: Int)
\ No newline at end of file
+data class Playlist(@field:PrimaryKey val mPlaylistId: Int)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistMultiSongXRefView.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistMultiSongXRefView.kt
index 770db72..dc4e122 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistMultiSongXRefView.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistMultiSongXRefView.kt
@@ -22,4 +22,4 @@
     "SELECT * FROM PlaylistSongXRef WHERE mPlaylistId IN (SELECT mPlaylistId FROM" +
         " PlaylistSongXRef GROUP BY mPlaylistId HAVING COUNT(mSongId) > 1)"
 )
-class PlaylistMultiSongXRefView(val mPlaylistId: Int, val mSongId: Int)
\ No newline at end of file
+class PlaylistMultiSongXRefView(val mPlaylistId: Int, val mSongId: Int)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistSongXRef.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistSongXRef.kt
index 64f939a..eeeaa54 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistSongXRef.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistSongXRef.kt
@@ -34,4 +34,4 @@
     )],
     indices = [Index("mPlaylistId"), Index("mSongId")]
 )
-data class PlaylistSongXRef(val mPlaylistId: Int, val mSongId: Int)
\ No newline at end of file
+data class PlaylistSongXRef(val mPlaylistId: Int, val mSongId: Int)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongTitles.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongTitles.kt
index a0194e2..878f11e 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongTitles.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongTitles.kt
@@ -32,4 +32,4 @@
         projection = ["mTitle"]
     )
     var titles: List<String>
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongs.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongs.kt
index ee43929..5c417cf 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongs.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PlaylistWithSongs.kt
@@ -32,4 +32,4 @@
         )
     )
     var songs: List<Song>
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PublisherWithBookSales.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PublisherWithBookSales.kt
index 55e50b2..600f26f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PublisherWithBookSales.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/PublisherWithBookSales.kt
@@ -29,4 +29,4 @@
         projection = ["salesCnt"]
     )
     var sales: List<Int>? = emptyList()
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ReleasedAlbum.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ReleasedAlbum.kt
index 0642cf6..02a2e6a 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ReleasedAlbum.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/ReleasedAlbum.kt
@@ -15,4 +15,4 @@
  */
 package androidx.room.integration.kotlintestapp.vo
 
-data class ReleasedAlbum(val mReleaseYear: Int, val mAlbumName: String?)
\ No newline at end of file
+data class ReleasedAlbum(val mReleaseYear: Int, val mAlbumName: String?)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Robot.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Robot.kt
index ba8d353e..7595a88 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Robot.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Robot.kt
@@ -20,4 +20,4 @@
 import java.util.UUID
 
 @Entity
-class Robot(@field:PrimaryKey val mId: UUID, val mHiveId: UUID)
\ No newline at end of file
+class Robot(@field:PrimaryKey val mId: UUID, val mHiveId: UUID)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/RobotAndHivemind.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/RobotAndHivemind.kt
index 91bc351..28e5e1e 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/RobotAndHivemind.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/RobotAndHivemind.kt
@@ -24,4 +24,4 @@
         parentColumn = "mHiveId",
         entityColumn = "mId"
     ) val mHivemind: Hivemind
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Song.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Song.kt
index 2b6cd04..48eaa11 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Song.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Song.kt
@@ -26,4 +26,4 @@
     val mAlbum: String?, // in seconds
     val mLength: Int,
     val mReleasedYear: Int
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Toy.kt b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Toy.kt
index 56cf4b7..10cec7f 100644
--- a/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Toy.kt
+++ b/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/vo/Toy.kt
@@ -53,4 +53,4 @@
         result = 31 * result + mPetId
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/DataClassFromDependency.kt b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/DataClassFromDependency.kt
index 14fc63f..e5702ec 100644
--- a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/DataClassFromDependency.kt
+++ b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/DataClassFromDependency.kt
@@ -27,4 +27,4 @@
     @PrimaryKey(autoGenerate = true)
     val id: Int,
     val name: String
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/EmbeddedFromDependency.kt b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/EmbeddedFromDependency.kt
index f373d4b..9bd0bfa 100644
--- a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/EmbeddedFromDependency.kt
+++ b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/EmbeddedFromDependency.kt
@@ -20,4 +20,4 @@
 data class EmbeddedFromDependency(
     @Embedded
     val data: DataClassFromDependency
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/PojoFromDependency.kt b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/PojoFromDependency.kt
index aa4c3b8..4165f11 100644
--- a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/PojoFromDependency.kt
+++ b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/PojoFromDependency.kt
@@ -18,4 +18,4 @@
 data class PojoFromDependency(
     val id: Int,
     val name: String
-)
\ No newline at end of file
+)
diff --git a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/RelationFromDependency.kt b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/RelationFromDependency.kt
index 7d3a0d0..90d6be4 100644
--- a/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/RelationFromDependency.kt
+++ b/room/integration-tests/kotlintestapp/src/main/java/androidx/room/integration/kotlintestapp/vo/RelationFromDependency.kt
@@ -23,4 +23,4 @@
         entityColumn = "name"
     )
     lateinit var dataItems: List<DataClassFromDependency>
-}
\ No newline at end of file
+}
diff --git a/room/room-common/src/main/java/androidx/room/AmbiguousColumnResolver.kt b/room/room-common/src/main/java/androidx/room/AmbiguousColumnResolver.kt
index 11448f6..ed818bf 100644
--- a/room/room-common/src/main/java/androidx/room/AmbiguousColumnResolver.kt
+++ b/room/room-common/src/main/java/androidx/room/AmbiguousColumnResolver.kt
@@ -249,4 +249,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-common/src/main/java/androidx/room/ColumnInfo.kt b/room/room-common/src/main/java/androidx/room/ColumnInfo.kt
index 9134c14..0c4561f 100644
--- a/room/room-common/src/main/java/androidx/room/ColumnInfo.kt
+++ b/room/room-common/src/main/java/androidx/room/ColumnInfo.kt
@@ -213,4 +213,4 @@
          */
         public const val VALUE_UNSPECIFIED: String = "[value-unspecified]"
     }
-}
\ No newline at end of file
+}
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 65dc715..403b226 100644
--- a/room/room-common/src/test/java/androidx/room/AmbiguousColumnResolverTest.kt
+++ b/room/room-common/src/test/java/androidx/room/AmbiguousColumnResolverTest.kt
@@ -436,4 +436,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 025fe3b..598169e 100644
--- a/room/room-common/src/test/java/androidx/room/AnnotationRetentionPolicyTest.kt
+++ b/room/room-common/src/test/java/androidx/room/AnnotationRetentionPolicyTest.kt
@@ -40,4 +40,4 @@
             assertThat(retentionPolicy).isEqualTo(RetentionPolicy.CLASS)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/SyntheticJavacProcessor.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/SyntheticJavacProcessor.kt
index 50847b3..bd8d38c 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/SyntheticJavacProcessor.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/SyntheticJavacProcessor.kt
@@ -44,4 +44,4 @@
     }
 
     override fun getSupportedSourceVersion() = SourceVersion.latest()
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/XProcessingEnvironmentTestConfigProvider.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/XProcessingEnvironmentTestConfigProvider.kt
index fa0b02c..7d455e6 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/XProcessingEnvironmentTestConfigProvider.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/XProcessingEnvironmentTestConfigProvider.kt
@@ -49,4 +49,4 @@
             return instance?.configure(options) ?: XProcessingEnvConfig.DEFAULT
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationResultSubject.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationResultSubject.kt
index ce2cf62..e38371a 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationResultSubject.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/CompilationResultSubject.kt
@@ -519,4 +519,4 @@
             it.toString()
         }
     }
-}
\ No newline at end of file
+}
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 ba27129..4d431ee 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
@@ -88,4 +88,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessage.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessage.kt
index 438396e..7eded8f 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessage.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessage.kt
@@ -35,4 +35,4 @@
 data class DiagnosticLocation(
     val source: Source?,
     val line: Int,
-)
\ No newline at end of file
+)
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessagesSubject.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessagesSubject.kt
index 6aee6db..de1f737 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessagesSubject.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/DiagnosticMessagesSubject.kt
@@ -110,4 +110,4 @@
         ): DiagnosticMessagesSubject =
             assertAbout(::DiagnosticMessagesSubject).that(diagnosticMessages)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/ProcessorTestExt.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/ProcessorTestExt.kt
index a352c22..bcef38b 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/ProcessorTestExt.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/ProcessorTestExt.kt
@@ -560,4 +560,4 @@
     } finally {
         tmpDir.deleteRecursively()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/TestUilts.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/TestUilts.kt
index e912ce9..300c4cd 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/TestUilts.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/TestUilts.kt
@@ -64,4 +64,4 @@
             location = location,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/XTestInvocation.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/XTestInvocation.kt
index a38b04b1..959e75e 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/XTestInvocation.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/XTestInvocation.kt
@@ -104,4 +104,4 @@
             .that(disposed)
             .isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DelegatingTestRegistrar.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DelegatingTestRegistrar.kt
index 2cc1938..735ca3c 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DelegatingTestRegistrar.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DelegatingTestRegistrar.kt
@@ -107,4 +107,4 @@
             pluginClasspaths = (pluginClasspaths ?: arrayOf()) + resourcePathForSelfClassLoader
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DiagnosticsMessageCollector.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DiagnosticsMessageCollector.kt
index 2ea0c14..0728758 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DiagnosticsMessageCollector.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/DiagnosticsMessageCollector.kt
@@ -198,4 +198,4 @@
         private const val KSP_ADDITIONAL_ERROR_MESSAGE =
             "Error occurred in KSP, check log for detail"
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/KotlinCliRunner.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/KotlinCliRunner.kt
index 5b591f0f..b4428a5 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/KotlinCliRunner.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/KotlinCliRunner.kt
@@ -177,4 +177,4 @@
         }
         return classpaths.map { File(it) }.filter { it.exists() }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/SourceSet.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/SourceSet.kt
index 39a87cd..c010286 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/SourceSet.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/SourceSet.kt
@@ -116,4 +116,4 @@
     SourceSet.fromExistingFiles(this)
 } else {
     null
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKapt3Registrar.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKapt3Registrar.kt
index 8dca55a..c815d4b 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKapt3Registrar.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKapt3Registrar.kt
@@ -128,4 +128,4 @@
             container.useInstance(KaptAnonymousTypeTransformer(analysisExtension))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKotlinCompiler.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKotlinCompiler.kt
index 8287cfd..37746b0 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKotlinCompiler.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/TestKotlinCompiler.kt
@@ -231,4 +231,4 @@
             "failed to create working directory ($this)"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/JavaSourceCompilationStep.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/JavaSourceCompilationStep.kt
index 57185d2..951a56e 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/JavaSourceCompilationStep.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/JavaSourceCompilationStep.kt
@@ -93,4 +93,4 @@
     }
 
     private const val GEN_CLASS_OUT = "classOut"
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KaptCompilationStep.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KaptCompilationStep.kt
index 2b8bc91..2665543 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KaptCompilationStep.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KaptCompilationStep.kt
@@ -141,4 +141,4 @@
             return filteredOptionsMap
         }
     }
-}
\ No newline at end of file
+}
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 940b4e6..a90900f9 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
@@ -62,4 +62,4 @@
     }
 
     private const val CLASS_OUT_FOLDER_NAME = "class-out"
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KspCompilationStep.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KspCompilationStep.kt
index 5a9069a..745df00 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KspCompilationStep.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/compiler/steps/KspCompilationStep.kt
@@ -94,4 +94,4 @@
         private const val KOTLIN_OUT_DIR = "generatedKotlin"
         private const val CLASS_OUT_FOLDER_NAME = "class-out"
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/JavacCompilationTestRunner.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/JavacCompilationTestRunner.kt
index ecdfd66..d025f34 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/JavacCompilationTestRunner.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/JavacCompilationTestRunner.kt
@@ -97,4 +97,4 @@
             generatedSources = generatedSources.values.toList()
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KaptCompilationTestRunner.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KaptCompilationTestRunner.kt
index 7f8bc31..917c724 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KaptCompilationTestRunner.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KaptCompilationTestRunner.kt
@@ -56,4 +56,4 @@
             delegate = result
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KspCompilationTestRunner.kt b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KspCompilationTestRunner.kt
index 1042367..2e7bc22 100644
--- a/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KspCompilationTestRunner.kt
+++ b/room/room-compiler-processing-testing/src/main/java/androidx/room/compiler/processing/util/runner/KspCompilationTestRunner.kt
@@ -68,4 +68,4 @@
             delegate = result
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticMessageCollectorTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticMessageCollectorTest.kt
index e27cc44..1c5c650 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticMessageCollectorTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/DiagnosticMessageCollectorTest.kt
@@ -202,4 +202,4 @@
             ),
         )
     }
-}
\ No newline at end of file
+}
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 99d6e15..d211727 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
@@ -275,4 +275,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/LoadFromDefaultEnvironmentConfigurationProviderTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/LoadFromDefaultEnvironmentConfigurationProviderTest.kt
index 4e577796..773c6cd 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/LoadFromDefaultEnvironmentConfigurationProviderTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/LoadFromDefaultEnvironmentConfigurationProviderTest.kt
@@ -29,4 +29,4 @@
         assertThat(TestDefaultEnvironmentConfigProvider.invoked)
             .isTrue()
     }
-}
\ No newline at end of file
+}
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 cfee829e..f05bf87 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
@@ -197,4 +197,4 @@
             result.exceptionOrNull()?.cause
         ).hasMessageThat().contains("i failed")
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestConfigTest.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestConfigTest.kt
index 86a6951..cde233d 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestConfigTest.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestConfigTest.kt
@@ -61,4 +61,4 @@
             ).canEnableKsp()
         ).isTrue()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestDefaultEnvironmentConfigProvider.kt b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestDefaultEnvironmentConfigProvider.kt
index fb42b59..6920a15 100644
--- a/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestDefaultEnvironmentConfigProvider.kt
+++ b/room/room-compiler-processing-testing/src/test/java/androidx/room/compiler/processing/util/TestDefaultEnvironmentConfigProvider.kt
@@ -38,4 +38,4 @@
         internal var invoked: Boolean = false
             private set
     }
-}
\ No newline at end of file
+}
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 4d057ca..10cf032 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
@@ -560,4 +560,4 @@
         assertThat(javacStep.rounds).isEqualTo(3) // 2 rounds + final
         assertThat(kspStep.rounds).isEqualTo(3) // 2 rounds + final
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/CodeLanguage.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/CodeLanguage.kt
index e3d3836..122ef32 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/CodeLanguage.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/CodeLanguage.kt
@@ -22,4 +22,4 @@
 
 enum class CodeLanguage {
     JAVA, KOTLIN
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/VisibilityModifier.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/VisibilityModifier.kt
index c391c42..ec44eb4 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/VisibilityModifier.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/VisibilityModifier.kt
@@ -21,4 +21,4 @@
     PROTECTED,
     INTERNAL,
     PRIVATE
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XAnnotationSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XAnnotationSpec.kt
index cafc0f0..17518ce 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XAnnotationSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XAnnotationSpec.kt
@@ -50,4 +50,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
index 28bb824..a731401 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XCodeBlock.kt
@@ -213,4 +213,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XFunSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XFunSpec.kt
index 3a1a2ec..07f4ef1 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XFunSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XFunSpec.kt
@@ -167,4 +167,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XMemberName.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XMemberName.kt
index 8573ba6..aeb09f8 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XMemberName.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XMemberName.kt
@@ -68,4 +68,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XPropertySpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XPropertySpec.kt
index 50ecd53..520f3cd 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XPropertySpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XPropertySpec.kt
@@ -90,4 +90,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 522d97d..f4a145b 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
@@ -440,4 +440,4 @@
 fun XTypeName.unbox() = XTypeName(java.unbox(), kotlin.copy(nullable = false), XNullability.NONNULL)
 
 fun XTypeName.toJavaPoet(): JTypeName = this.java
-fun XClassName.toJavaPoet(): JClassName = this.java
\ No newline at end of file
+fun XClassName.toJavaPoet(): JClassName = this.java
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeSpec.kt
index 344481a..e21247f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/XTypeSpec.kt
@@ -162,4 +162,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/ClassNames.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/ClassNames.kt
index b4637ca..7366225 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/ClassNames.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/ClassNames.kt
@@ -19,4 +19,4 @@
 import com.squareup.javapoet.ClassName
 
 internal val NULLABLE_ANNOTATION = ClassName.get("androidx.annotation", "Nullable")
-internal val NONNULL_ANNOTATION = ClassName.get("androidx.annotation", "NonNull")
\ No newline at end of file
+internal val NONNULL_ANNOTATION = ClassName.get("androidx.annotation", "NonNull")
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaAnnotationSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaAnnotationSpec.kt
index 2a3e25f..ed81957 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaAnnotationSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaAnnotationSpec.kt
@@ -37,4 +37,4 @@
             return JavaAnnotationSpec(actual.build())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaFunSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaFunSpec.kt
index 453ad85..8d03934 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaFunSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaFunSpec.kt
@@ -109,4 +109,4 @@
     VisibilityModifier.PROTECTED -> Modifier.PROTECTED
     VisibilityModifier.INTERNAL -> Modifier.PUBLIC
     VisibilityModifier.PRIVATE -> Modifier.PRIVATE
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaLang.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaLang.kt
index 7ec00c3..adf21a5 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaLang.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaLang.kt
@@ -21,4 +21,4 @@
 
 internal abstract class JavaLang : TargetLanguage {
     override val language = CodeLanguage.JAVA
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaPropertySpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaPropertySpec.kt
index 9b2a707..e0490e0 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaPropertySpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaPropertySpec.kt
@@ -45,4 +45,4 @@
             return JavaPropertySpec(name, actual.build())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaTypeSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaTypeSpec.kt
index 37d576c..b0fb822 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaTypeSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/java/JavaTypeSpec.kt
@@ -85,4 +85,4 @@
             actual.addModifiers(Modifier.ABSTRACT)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinAnnotationSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinAnnotationSpec.kt
index 50222ca..b1eb63f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinAnnotationSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinAnnotationSpec.kt
@@ -38,4 +38,4 @@
             return KotlinAnnotationSpec(actual.build())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinFunSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinFunSpec.kt
index 1a3c0c4..d1feaa5 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinFunSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinFunSpec.kt
@@ -84,4 +84,4 @@
     VisibilityModifier.PROTECTED -> KModifier.PROTECTED
     VisibilityModifier.INTERNAL -> KModifier.INTERNAL
     VisibilityModifier.PRIVATE -> KModifier.PRIVATE
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinLang.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinLang.kt
index eeed52d..8c3bd99 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinLang.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinLang.kt
@@ -21,4 +21,4 @@
 
 internal abstract class KotlinLang : TargetLanguage {
     override val language = CodeLanguage.KOTLIN
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinPropertySpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinPropertySpec.kt
index 66348a5..59d4c51 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinPropertySpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinPropertySpec.kt
@@ -45,4 +45,4 @@
             return KotlinPropertySpec(name, actual.build())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinTypeSpec.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinTypeSpec.kt
index a819dd9..c0c888e 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinTypeSpec.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/codegen/kotlin/KotlinTypeSpec.kt
@@ -91,4 +91,4 @@
             return KotlinTypeSpec(className, actual.build())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ExperimentalProcessingApi.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ExperimentalProcessingApi.kt
index 00a7604..c341ea4 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ExperimentalProcessingApi.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ExperimentalProcessingApi.kt
@@ -23,4 +23,4 @@
  */
 @RequiresOptIn
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalProcessingApi
\ No newline at end of file
+annotation class ExperimentalProcessingApi
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotated.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotated.kt
index c671acc..8f8ae9f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotated.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotated.kt
@@ -70,4 +70,4 @@
         annotation: KClass<out Annotation>,
         containerAnnotation: KClass<out Annotation>? = annotation.containerAnnotation
     ): Boolean
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotation.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotation.kt
index 40d6a093..55ff7b7 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotation.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotation.kt
@@ -70,4 +70,4 @@
         // above code will throw.
         null
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotationValue.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotationValue.kt
index 12c6f0ef..9e16ff7 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotationValue.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/InternalXAnnotationValue.kt
@@ -136,4 +136,4 @@
         val CLASS: TypeName = TypeName.get(Class::class.java)
         val KCLASS: TypeName = TypeName.get(kotlin.reflect.KClass::class.java)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XAnnotationValue.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XAnnotationValue.kt
index 8ca6c46..5faaa08 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XAnnotationValue.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XAnnotationValue.kt
@@ -197,4 +197,4 @@
     /**Returns the value a list of [XAnnotationValue]. */
     @Suppress("UNCHECKED_CAST") // Values in a list are always wrapped in XAnnotationValue
     fun asAnnotationValueList(): List<XAnnotationValue> = value as List<XAnnotationValue>
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XArrayType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XArrayType.kt
index e46da1a..39a3f2f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XArrayType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XArrayType.kt
@@ -26,4 +26,4 @@
      * The type of elements in the Array
      */
     val componentType: XType
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XBasicAnnotationProcessor.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XBasicAnnotationProcessor.kt
index bb7e7dc..00178f7 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XBasicAnnotationProcessor.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XBasicAnnotationProcessor.kt
@@ -225,4 +225,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XConstructorType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XConstructorType.kt
index 3c8332d..2e444fb 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XConstructorType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XConstructorType.kt
@@ -21,4 +21,4 @@
  *
  * It is not an XType as it does not represent a class or primitive.
  */
-interface XConstructorType : XExecutableType
\ No newline at end of file
+interface XConstructorType : XExecutableType
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XEnumEntry.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XEnumEntry.kt
index a0503db..5a14828 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XEnumEntry.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XEnumEntry.kt
@@ -42,4 +42,4 @@
         returns(true) implies (this@isEnumEntry is XEnumEntry)
     }
     return this is XEnumEntry
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableType.kt
index 32a61dd..a41f658 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XExecutableType.kt
@@ -35,4 +35,4 @@
      * TODO: decide on how we want to handle nullability here.
      */
     fun isSameType(other: XExecutableType): Boolean
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XParameterizable.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XParameterizable.kt
index 06d653f..07bdf41 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XParameterizable.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XParameterizable.kt
@@ -23,4 +23,4 @@
 interface XParameterizable {
     /** The type parameters of this element. */
     val typeParameters: List<XTypeParameterElement>
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingConfig.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingConfig.kt
index 25fed28..8ceb61c 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingConfig.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingConfig.kt
@@ -29,4 +29,4 @@
     }
 
     private const val PROP_PREFIX = "androidx.room.compiler.processing"
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingEnvConfig.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingEnvConfig.kt
index e6b21cb..97639d5 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingEnvConfig.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XProcessingEnvConfig.kt
@@ -91,4 +91,4 @@
          */
         val DEFAULT = Builder().build()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XRawType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XRawType.kt
index 38f719c..d2340f3 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XRawType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XRawType.kt
@@ -54,4 +54,4 @@
      * Returns `true` if this raw type can be assigned from [other].
      */
     fun isAssignableFrom(other: XType) = isAssignableFrom(other.rawType)
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XSuspendMethodType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XSuspendMethodType.kt
index 028c724..47e8418 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XSuspendMethodType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XSuspendMethodType.kt
@@ -21,4 +21,4 @@
      * Returns the real suspend function return type as seen by Kotlin.
      */
     fun getSuspendFunctionReturnType(): XType
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeParameterElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeParameterElement.kt
index e6bc9ca..ae36c30 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeParameterElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeParameterElement.kt
@@ -35,4 +35,4 @@
     // TODO(b/259091615): Migrate to XTypeName
     /** Returns the [TypeVariableName] for this type parameter) */
     val typeVariableName: TypeVariableName
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeVariableType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeVariableType.kt
index d061e3f..98c3c7f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeVariableType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XTypeVariableType.kt
@@ -33,4 +33,4 @@
      * type exists rather than representing the intersection type as a unique type in the model.
      */
     val upperBounds: List<XType>
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XVariableElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XVariableElement.kt
index 018fdd3..de438d4 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XVariableElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XVariableElement.kt
@@ -31,4 +31,4 @@
      * specified in [other]. (e.g. Bar<T> vs Foo : Bar<String>)
      */
     fun asMemberOf(other: XType): XType
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/DefaultJavacType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/DefaultJavacType.kt
index 1427653..f829a4b 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/DefaultJavacType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/DefaultJavacType.kt
@@ -84,4 +84,4 @@
             nullability = nullability
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/ElementExt.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/ElementExt.kt
index cdc6107d..c836753 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/ElementExt.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/ElementExt.kt
@@ -148,4 +148,4 @@
             }
     }
     return true
-}
\ No newline at end of file
+}
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 05e031a..a1cd205 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
@@ -59,4 +59,4 @@
     override fun <T : Annotation> asAnnotationBox(annotationClass: Class<T>): XAnnotationBox<T> {
         return mirror.box(env, annotationClass)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationBox.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationBox.kt
index d739910..9fcb636 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationBox.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationBox.kt
@@ -446,4 +446,4 @@
                 .invoke(null, value!!.simpleName.toString()) as T
         }
     }.visit(this)
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationValue.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationValue.kt
index 9e58a58..c4eb412 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationValue.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacAnnotationValue.kt
@@ -96,4 +96,4 @@
             JavacAnnotationValue(data.env, data.method, it, valueType) { it.accept(this, data) }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacArrayType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacArrayType.kt
index 5d0ba49..e48dd79 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacArrayType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacArrayType.kt
@@ -112,4 +112,4 @@
             kotlinType = kotlinType
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacBasicAnnotationProcessor.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacBasicAnnotationProcessor.kt
index 715e356..99a3d95 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacBasicAnnotationProcessor.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacBasicAnnotationProcessor.kt
@@ -77,4 +77,4 @@
 
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacEnumEntry.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacEnumEntry.kt
index 47da07e..aebeee9 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacEnumEntry.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacEnumEntry.kt
@@ -35,4 +35,4 @@
 
     override val closestMemberContainer: XEnumTypeElement
         get() = enclosingElement
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacProcessingEnvMessager.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacProcessingEnvMessager.kt
index 8021645..ea25003 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacProcessingEnvMessager.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacProcessingEnvMessager.kt
@@ -90,4 +90,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacRawType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacRawType.kt
index 88f31cc..eeab7cc 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacRawType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacRawType.kt
@@ -57,4 +57,4 @@
     override fun toString(): String {
         return xTypeName.java.toString()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeParameterElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeParameterElement.kt
index ad42e32..b7842bb 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeParameterElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeParameterElement.kt
@@ -50,4 +50,4 @@
 
     override val closestMemberContainer: XMemberContainer
         get() = enclosingElement.closestMemberContainer
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeVariableType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeVariableType.kt
index f8c3f78..98a3703 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeVariableType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacTypeVariableType.kt
@@ -100,4 +100,4 @@
             nullability = nullability
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/XTypeElementStore.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/XTypeElementStore.kt
index a93e43f..b464019 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/XTypeElementStore.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/XTypeElementStore.kt
@@ -63,4 +63,4 @@
     internal fun clear() {
         typeCache.clear()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmAbi.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmAbi.kt
index c8a32b9..3b11c47 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmAbi.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmAbi.kt
@@ -67,4 +67,4 @@
             this
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtils.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtils.kt
index 4453eb7..f7dae3e 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtils.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/JvmDescriptorUtils.kt
@@ -177,4 +177,4 @@
             is QualifiedNameable -> qualifiedName.toString().replace('.', '/')
             else -> simpleName.toString()
         }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/DefaultKspType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/DefaultKspType.kt
index 1f34238..5c1bbaf 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/DefaultKspType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/DefaultKspType.kt
@@ -51,4 +51,4 @@
         scope: KSTypeVarianceResolverScope?,
         typeAlias: KSType?
     ) = DefaultKspType(env, ksType, originalKSAnnotations, scope, typeAlias)
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt
index 83e3f36..9cce0e0 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeExt.kt
@@ -202,4 +202,4 @@
     }
     val parent = parent ?: return false
     return parent.hasSuppressWildcardsAnnotationInHierarchy()
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeJavaPoetExt.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeJavaPoetExt.kt
index 70a827c..442930d 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeJavaPoetExt.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeJavaPoetExt.kt
@@ -230,4 +230,4 @@
 ): JTypeVariableName = typeVarNameConstructor.newInstance(
     name,
     bounds
-) as JTypeVariableName
\ No newline at end of file
+) as JTypeVariableName
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt
index 2ce3985..3cb9473 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KSTypeReferenceExt.kt
@@ -73,4 +73,4 @@
     }
 
     override fun resolve(): KSType = resolved
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt
index a961218..994ab5f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotated.kt
@@ -227,4 +227,4 @@
             return qualifiedName == annotationClass.qualifiedName
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt
index db2a069..d997e57 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspAnnotationBox.kt
@@ -201,4 +201,4 @@
     @Suppress("UNCHECKED_CAST", "BanUncheckedReflection")
     return enumClass.getDeclaredMethod("valueOf", String::class.java)
         .invoke(null, enumValue) as R?
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt
index 030d950..db7d512 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspArrayType.kt
@@ -188,4 +188,4 @@
     companion object {
         const val KOTLIN_ARRAY_Q_NAME = "kotlin.Array"
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspBasicAnnotationProcessor.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspBasicAnnotationProcessor.kt
index dd842c2..c625ec1 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspBasicAnnotationProcessor.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspBasicAnnotationProcessor.kt
@@ -93,4 +93,4 @@
             delegate.exception(e)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt
index 077063f..d04c89c 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspElement.kt
@@ -64,4 +64,4 @@
     override fun validate(): Boolean {
         return declaration.validate()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspEnumEntry.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspEnumEntry.kt
index 1ba62df..4552925 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspEnumEntry.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspEnumEntry.kt
@@ -65,4 +65,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFileMemberContainer.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFileMemberContainer.kt
index 370d338..58171da 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFileMemberContainer.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFileMemberContainer.kt
@@ -103,4 +103,4 @@
             }?.value?.toString() ?: fileName.replace(".kt", "Kt")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMemberContainer.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMemberContainer.kt
index a6d0a79..15605fa 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMemberContainer.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMemberContainer.kt
@@ -22,4 +22,4 @@
 internal interface KspMemberContainer : XMemberContainer {
     override val type: KspType?
     val declaration: KSDeclaration?
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
index 3c865c3..472435f 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
@@ -197,4 +197,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBox.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBox.kt
index d07a36e..3984598 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBox.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspReflectiveAnnotationBox.kt
@@ -119,4 +119,4 @@
             }.toTypedArray()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeParameterElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeParameterElement.kt
index fe3f77e..64e518b 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeParameterElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeParameterElement.kt
@@ -53,4 +53,4 @@
 
     override val closestMemberContainer: XMemberContainer
         get() = enclosingElement.closestMemberContainer
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeVariableType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeVariableType.kt
index 754d529..04ea9f7 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeVariableType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspTypeVariableType.kt
@@ -60,4 +60,4 @@
         scope: KSTypeVarianceResolverScope?,
         typeAlias: KSType?
     ) = KspTypeVariableType(env, ksType, originalKSAnnotations, scope)
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/OriginatingElementWrappers.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/OriginatingElementWrappers.kt
index 30aaa85..c0aac20 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/OriginatingElementWrappers.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/OriginatingElementWrappers.kt
@@ -97,4 +97,4 @@
             return str == cs.toString()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainer.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainer.kt
index d584266..2f47522 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainer.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainer.kt
@@ -118,4 +118,4 @@
     override fun hasAnnotationWithPackage(pkg: String): Boolean {
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticNoArgConstructorElement.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticNoArgConstructorElement.kt
index d01431e..037953e 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticNoArgConstructorElement.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticNoArgConstructorElement.kt
@@ -72,4 +72,4 @@
             containing = other
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodType.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodType.kt
index d1bd312..7341b8a 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodType.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodType.kt
@@ -118,4 +118,4 @@
             // setters always return Unit, no need to get it as type of
             get() = origin.returnType
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/ErrorMessages.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/ErrorMessages.kt
index 1386a08..6393e6c 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/ErrorMessages.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/ErrorMessages.kt
@@ -19,4 +19,4 @@
 /**
  * Link to the issue tracker to report bugs.
  */
-internal val ISSUE_TRACKER_LINK = "https://issuetracker.google.com/issues/new?component=413107"
\ No newline at end of file
+internal val ISSUE_TRACKER_LINK = "https://issuetracker.google.com/issues/new?component=413107"
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/NamingUtils.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/NamingUtils.kt
index dff43f4..0c4f87d 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/NamingUtils.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/NamingUtils.kt
@@ -33,4 +33,4 @@
 /**
  * Returns true if the given name can be used in generated java sources.
  */
-internal fun String.isValidJavaSourceName() = SourceVersion.isName(this)
\ No newline at end of file
+internal fun String.isValidJavaSourceName() = SourceVersion.isName(this)
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/codegen/XTypeNameTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/codegen/XTypeNameTest.kt
index b505fd7..e93dfd6 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/codegen/XTypeNameTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/codegen/XTypeNameTest.kt
@@ -176,4 +176,4 @@
         assertThat(XTypeName.getProducerExtendsName(typeName).kotlin)
             .isEqualTo(XTypeName.UNAVAILABLE_KTYPE_NAME)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
index c27bf96..fd831e9 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
@@ -179,4 +179,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/InternalModifierTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/InternalModifierTest.kt
index 37045ee..7a380e5 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/InternalModifierTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/InternalModifierTest.kt
@@ -167,4 +167,4 @@
         val ksp: List<String>,
         val kapt: List<String>
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KspClassFileUtilityTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KspClassFileUtilityTest.kt
index edabcf3..88e08ca 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KspClassFileUtilityTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KspClassFileUtilityTest.kt
@@ -208,4 +208,4 @@
         @Parameterized.Parameters(name = "preCompile_{0}")
         fun params() = arrayOf(false, true)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MemoizedSequenceTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MemoizedSequenceTest.kt
index 00698c5..704fd1d 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MemoizedSequenceTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MemoizedSequenceTest.kt
@@ -91,4 +91,4 @@
         assertThat(result.exceptionOrNull()).isInstanceOf<NoSuchElementException>()
         assertThat(collected).containsExactly(1, 2, 3)
     }
-}
\ No newline at end of file
+}
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 37e581f..0d4d22f 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
@@ -179,4 +179,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TopLevelMembersTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TopLevelMembersTest.kt
index e38cfbf2..754142b 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TopLevelMembersTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TopLevelMembersTest.kt
@@ -94,4 +94,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeAliasTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeAliasTest.kt
index 9fb3c69..9639527 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeAliasTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeAliasTest.kt
@@ -100,4 +100,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeInheritanceTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeInheritanceTest.kt
index e478234..79977bf 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeInheritanceTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeInheritanceTest.kt
@@ -803,4 +803,4 @@
             invocation.assertReturnType("methodReturnT2", "Foo<Bar<? extends Baz>>")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XFilerTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XFilerTest.kt
index 42194fb..8029095 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XFilerTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XFilerTest.kt
@@ -56,4 +56,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingEnvConfigTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingEnvConfigTest.kt
index 17db4a1..65972b9 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingEnvConfigTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingEnvConfigTest.kt
@@ -60,4 +60,4 @@
             ).isTrue()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingStepTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingStepTest.kt
index 412b8a0..d956499 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingStepTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingStepTest.kt
@@ -1533,4 +1533,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XRawTypeTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XRawTypeTest.kt
index b10e555..f507ee8 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XRawTypeTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XRawTypeTest.kt
@@ -112,4 +112,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt
index 3c7a35c..d229610 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt
@@ -714,4 +714,4 @@
     private fun XTestInvocation.getKspTypeElement(fqn: String) =
         (this.processingEnv as KspProcessingEnv).resolver.getClassDeclarationByName(
             KSNameImpl.getCached(fqn))!!
-}
\ No newline at end of file
+}
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 0a926be..86d3822 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
@@ -440,4 +440,4 @@
                 }
             }).compilesWithoutError()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElementTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElementTest.kt
index 465c89b..eb676b6 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElementTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElementTest.kt
@@ -941,4 +941,4 @@
         @Parameterized.Parameters(name = "preCompiled_{0}")
         fun params() = arrayOf(false, true)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeVarianceResolverWithTypeParametersTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeVarianceResolverWithTypeParametersTest.kt
index 6579008..3053d5e 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeVarianceResolverWithTypeParametersTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSTypeVarianceResolverWithTypeParametersTest.kt
@@ -171,4 +171,4 @@
             val kspSignaturesMap: Map<String, List<String>>,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspJvmDescriptorUtilsTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspJvmDescriptorUtilsTest.kt
index 3334403..a0781bf 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspJvmDescriptorUtilsTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspJvmDescriptorUtilsTest.kt
@@ -560,4 +560,4 @@
             return listOf(arrayOf(false), arrayOf(true))
         }
     }
-}
\ No newline at end of file
+}
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 236565a..c4e1e87 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
@@ -86,4 +86,4 @@
                 it is TestAnnotation
             } as T
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeNamesGoldenTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeNamesGoldenTest.kt
index 2e4ada9..f421d26 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeNamesGoldenTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeNamesGoldenTest.kt
@@ -1125,4 +1125,4 @@
             subjects = subjects + other.subjects
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
index a62a731..1808bb1 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
@@ -620,4 +620,4 @@
             assertParamType(asMember.parameterTypes.first())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainerTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainerTest.kt
index 9a98a35..134aed5 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainerTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticFileMemberContainerTest.kt
@@ -153,4 +153,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/GetMethodsScenarioTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/GetMethodsScenarioTest.kt
index ec1b072..09ef22f 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/GetMethodsScenarioTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/GetMethodsScenarioTest.kt
@@ -126,4 +126,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 b14ba17..7c66f69 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
@@ -142,4 +142,4 @@
             System.getenv("ANDROIDX_ROOM_ENABLE_PROFILE_TESTS") != null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/RawTypeCreationScenarioTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/RawTypeCreationScenarioTest.kt
index 83dabc8..2016f60 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/RawTypeCreationScenarioTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/profiling/RawTypeCreationScenarioTest.kt
@@ -55,4 +55,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/util/XTestInvocationExt.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/util/XTestInvocationExt.kt
index b98e232..c4ecf62 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/util/XTestInvocationExt.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/util/XTestInvocationExt.kt
@@ -32,4 +32,4 @@
     get() = (processingEnv as JavacProcessingEnv).elementUtils
 
 val XTestInvocation.javaTypeUtils: Types
-    get() = (processingEnv as JavacProcessingEnv).typeUtils
\ No newline at end of file
+    get() = (processingEnv as JavacProcessingEnv).typeUtils
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/DatabaseProcessingStep.kt b/room/room-compiler/src/main/kotlin/androidx/room/DatabaseProcessingStep.kt
index 62a4e01..fc37117 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/DatabaseProcessingStep.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/DatabaseProcessingStep.kt
@@ -188,4 +188,4 @@
                 excludeMethodsWithInvalidJvmSourceNames = !GENERATE_KOTLIN.getValue(options)
             )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/RoomKspProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/RoomKspProcessor.kt
index e2f9e3f..f6cf1fa 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/RoomKspProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/RoomKspProcessor.kt
@@ -67,4 +67,4 @@
             return RoomKspProcessor(environment)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt b/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
index 0312a38..e79616a 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/ext/xpoet_ext.kt
@@ -553,4 +553,4 @@
         CodeLanguage.KOTLIN -> "%L.keys" // kotlin.collections.Map.keys
     },
     varName
-)
\ No newline at end of file
+)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/parser/ParsedQuery.kt b/room/room-compiler/src/main/kotlin/androidx/room/parser/ParsedQuery.kt
index 7aac0ef..feb772b 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/parser/ParsedQuery.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/parser/ParsedQuery.kt
@@ -150,4 +150,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/parser/SingleQuerySqlParser.kt b/room/room-compiler/src/main/kotlin/androidx/room/parser/SingleQuerySqlParser.kt
index 18457bb..8b4a8be 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/parser/SingleQuerySqlParser.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/parser/SingleQuerySqlParser.kt
@@ -66,4 +66,4 @@
             return fallback(syntaxErrors)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/parser/expansion/ExpandableSqlParser.kt b/room/room-compiler/src/main/kotlin/androidx/room/parser/expansion/ExpandableSqlParser.kt
index 25dc722..19c9d87 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/parser/expansion/ExpandableSqlParser.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/parser/expansion/ExpandableSqlParser.kt
@@ -227,4 +227,4 @@
             }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/DaoProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/DaoProcessor.kt
index 52e5e67..cd1602c 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/DaoProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/DaoProcessor.kt
@@ -306,4 +306,4 @@
             return@firstOrNull true
         }?.let { matchingMethod -> KotlinBoxedPrimitiveMethodDelegate(unannotated, matchingMethod) }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
index 752a356..bb0f3c3 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
@@ -114,4 +114,4 @@
     } else {
         TableEntityProcessor(context, element, referenceStack)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/FtsTableEntityProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/FtsTableEntityProcessor.kt
index 787cacf..ef45d53c 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/FtsTableEntityProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/FtsTableEntityProcessor.kt
@@ -286,4 +286,4 @@
         )
         return LanguageId(languageIdField.element, languageIdField)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/PojoMethodProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/PojoMethodProcessor.kt
index cec9a9d..ea0beac 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/PojoMethodProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/PojoMethodProcessor.kt
@@ -35,4 +35,4 @@
             resolvedType = asMember
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
index bb1e0bd..86990ae 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
@@ -1168,4 +1168,4 @@
         "option `room.schemaLocation`, please remove the configuration of the option and " +
         "configure the schema location via the plugin project extension: " +
         "`room { schemaDirectory(...) }`."
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/QueryRewriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/QueryRewriter.kt
index 7ca2a47..6fd3ac9 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/QueryRewriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/QueryRewriter.kt
@@ -34,4 +34,4 @@
             override fun rewrite(query: ParsedQuery, resultAdapter: QueryResultAdapter) = query
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
index 6682188..f51988f 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
@@ -169,4 +169,4 @@
         context.logger.e(executableElement, ProcessorErrors.RAW_QUERY_BAD_PARAMS)
         return null
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/UpsertionMethodProcessor.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/UpsertionMethodProcessor.kt
index 4b4a363..eabff2f 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/UpsertionMethodProcessor.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/UpsertionMethodProcessor.kt
@@ -92,4 +92,4 @@
             methodBinder = methodBinder
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt b/room/room-compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
index 35b8dcd..f275eff 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
@@ -117,4 +117,4 @@
             return "$pkg${if (pkg.isEmpty()) "" else "."}AutoValue_$name"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinBoxedPrimitiveMethodDelegateBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinBoxedPrimitiveMethodDelegateBinder.kt
index 3318d56..75dd0cc 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinBoxedPrimitiveMethodDelegateBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinBoxedPrimitiveMethodDelegateBinder.kt
@@ -65,4 +65,4 @@
             addStatement(format, *params.toTypedArray())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinDefaultMethodDelegateBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinDefaultMethodDelegateBinder.kt
index f4787ca..5642c1d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinDefaultMethodDelegateBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/KotlinDefaultMethodDelegateBinder.kt
@@ -59,4 +59,4 @@
             addStatement(format, *params.toTypedArray())
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/NullAwareTypeConverterStore.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/NullAwareTypeConverterStore.kt
index 0aac808..fbddfd2 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/NullAwareTypeConverterStore.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/NullAwareTypeConverterStore.kt
@@ -488,4 +488,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/ObservableQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/ObservableQueryResultBinderProvider.kt
index 5dacce9..0f70775 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/ObservableQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/ObservableQueryResultBinderProvider.kt
@@ -61,4 +61,4 @@
     }
 
     data class OriginalTypeArg(val original: XType)
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/QueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/QueryResultBinderProvider.kt
index cd5bc03..985ffc7 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/QueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/QueryResultBinderProvider.kt
@@ -28,4 +28,4 @@
     ): QueryResultBinder
 
     fun matches(declared: XType): Boolean
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/RxTypes.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/RxTypes.kt
index 176238e..468cadc 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/RxTypes.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/RxTypes.kt
@@ -96,4 +96,4 @@
         emptyResultExceptionClassName = RoomRxJava3TypeNames.RX_EMPTY_RESULT_SET_EXCEPTION,
         missingArtifactMessage = ProcessorErrors.MISSING_ROOM_RXJAVA3_ARTIFACT
     );
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeAdapterExtras.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeAdapterExtras.kt
index c485ff5..8e30735 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeAdapterExtras.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeAdapterExtras.kt
@@ -32,4 +32,4 @@
     fun <T : Any> putData(key: KClass<T>, value: T) {
         data[key] = value
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStore.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStore.kt
index 0b7d0af..e710f72 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStore.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStore.kt
@@ -101,4 +101,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStoreImpl.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStoreImpl.kt
index 848addf..4d508958 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStoreImpl.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/TypeConverterStoreImpl.kt
@@ -149,4 +149,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CoroutineFlowResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CoroutineFlowResultBinderProvider.kt
index 862511c..ddd7285 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CoroutineFlowResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CoroutineFlowResultBinderProvider.kt
@@ -80,4 +80,4 @@
         }
         return typeName == KotlinTypeNames.FLOW
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CursorQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CursorQueryResultBinderProvider.kt
index cf1fdb7..1db2f0d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CursorQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/CursorQueryResultBinderProvider.kt
@@ -36,4 +36,4 @@
 
     override fun matches(declared: XType): Boolean =
         declared.typeArguments.isEmpty() && declared.asTypeName() == AndroidTypeNames.CURSOR
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/InstantQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/InstantQueryResultBinderProvider.kt
index f799fd3..08d63d9 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/InstantQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/InstantQueryResultBinderProvider.kt
@@ -36,4 +36,4 @@
     }
 
     override fun matches(declared: XType): Boolean = true
-}
\ No newline at end of file
+}
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 3bd2cda..5607b05 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
@@ -55,4 +55,4 @@
         }
         return declared.rawType.isAssignableFrom(liveDataType!!)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/MultiTypedPagingSourceQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/MultiTypedPagingSourceQueryResultBinderProvider.kt
index 27b8783..7da8bda 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/MultiTypedPagingSourceQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/MultiTypedPagingSourceQueryResultBinderProvider.kt
@@ -88,4 +88,4 @@
 
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/QueryResultBinderProviderWithRequiredArtifact.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/QueryResultBinderProviderWithRequiredArtifact.kt
index b21cda3..6a3682f 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/QueryResultBinderProviderWithRequiredArtifact.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/QueryResultBinderProviderWithRequiredArtifact.kt
@@ -62,4 +62,4 @@
         }
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava2PagingSourceQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava2PagingSourceQueryResultBinderProvider.kt
index 4a8dd7aa..d1802c4 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava2PagingSourceQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava2PagingSourceQueryResultBinderProvider.kt
@@ -36,4 +36,4 @@
         requiredType = rxjava2PagingSource,
         missingArtifactErrorMsg = MISSING_ROOM_PAGING_RXJAVA2_ARTIFACT
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava3PagingSourceQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava3PagingSourceQueryResultBinderProvider.kt
index f17c20d..de3582d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava3PagingSourceQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxJava3PagingSourceQueryResultBinderProvider.kt
@@ -36,4 +36,4 @@
         requiredType = rxjava3PagingSource,
         missingArtifactErrorMsg = MISSING_ROOM_PAGING_RXJAVA3_ARTIFACT
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxQueryResultBinderProvider.kt
index 359d81e..94aed66 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/binderprovider/RxQueryResultBinderProvider.kt
@@ -72,4 +72,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/CallablePreparedQueryResultBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/CallablePreparedQueryResultBinder.kt
index dc4c4c6..0a06709 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/CallablePreparedQueryResultBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/CallablePreparedQueryResultBinder.kt
@@ -72,4 +72,4 @@
             addStmntBlock(callableImpl, dbProperty)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/InstantPreparedQueryResultBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/InstantPreparedQueryResultBinder.kt
index 41b29f0..7cf78d5 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/InstantPreparedQueryResultBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/InstantPreparedQueryResultBinder.kt
@@ -42,4 +42,4 @@
             scope = scope
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/PreparedQueryResultBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/PreparedQueryResultBinder.kt
index 73b521a..0f32876 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/PreparedQueryResultBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binder/PreparedQueryResultBinder.kt
@@ -38,4 +38,4 @@
         dbProperty: XPropertySpec,
         scope: CodeGenScope
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/GuavaListenableFuturePreparedQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/GuavaListenableFuturePreparedQueryResultBinderProvider.kt
index e6d78cd..1b54b55 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/GuavaListenableFuturePreparedQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/GuavaListenableFuturePreparedQueryResultBinderProvider.kt
@@ -60,4 +60,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/InstantPreparedQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/InstantPreparedQueryResultBinderProvider.kt
index 190f99b..e2b156a 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/InstantPreparedQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/InstantPreparedQueryResultBinderProvider.kt
@@ -33,4 +33,4 @@
     ) = InstantPreparedQueryResultBinder(
         context.typeAdapterStore.findPreparedQueryResultAdapter(declared, query)
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/PreparedQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/PreparedQueryResultBinderProvider.kt
index f3756d7..86e97d0 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/PreparedQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/PreparedQueryResultBinderProvider.kt
@@ -35,4 +35,4 @@
      * Provides a [PreparedQueryResultBinder]
      */
     fun provide(declared: XType, query: ParsedQuery): PreparedQueryResultBinder
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/RxPreparedQueryResultBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/RxPreparedQueryResultBinderProvider.kt
index 24ab2bb..466e5b9 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/RxPreparedQueryResultBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/binderprovider/RxPreparedQueryResultBinderProvider.kt
@@ -101,4 +101,4 @@
      */
     override fun extractTypeArg(declared: XType): XType =
         declared.typeArguments.first().makeNullable()
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/result/PreparedQueryResultAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/result/PreparedQueryResultAdapter.kt
index 18406e2..89be9b7 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/result/PreparedQueryResultAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/prepared/result/PreparedQueryResultAdapter.kt
@@ -109,4 +109,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineFlowResultBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineFlowResultBinder.kt
index 1d42950..fc5e066 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineFlowResultBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineFlowResultBinder.kt
@@ -76,4 +76,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineResultBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineResultBinder.kt
index 8c8fd83..4838434 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineResultBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/CoroutineResultBinder.kt
@@ -135,4 +135,4 @@
         endControlFlow()
         transactionWrapper?.endTransactionWithControlFlow()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/GuavaImmutableMultimapQueryResultAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/GuavaImmutableMultimapQueryResultAdapter.kt
index e517dc6..3872ac8 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/GuavaImmutableMultimapQueryResultAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/GuavaImmutableMultimapQueryResultAdapter.kt
@@ -136,4 +136,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableListQueryResultAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableListQueryResultAdapter.kt
index 053a5d5..765a991 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableListQueryResultAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableListQueryResultAdapter.kt
@@ -67,4 +67,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableMapQueryResultAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableMapQueryResultAdapter.kt
index dd58f92..45b6b8b 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableMapQueryResultAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/ImmutableMapQueryResultAdapter.kt
@@ -49,4 +49,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/IndexAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/IndexAdapter.kt
index 09d9dda..5e51fc5 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/IndexAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/IndexAdapter.kt
@@ -33,4 +33,4 @@
     fun onCursorReady(cursorVarName: String, scope: CodeGenScope)
 
     fun getIndexVars(): List<ColumnIndexVar>
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoIndexAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoIndexAdapter.kt
index 0e695f3..e868677 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoIndexAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/PojoIndexAdapter.kt
@@ -88,4 +88,4 @@
     }
 
     override fun getIndexVars() = columnIndexVars
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/QueryMappedRowAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/QueryMappedRowAdapter.kt
index e43f629..234af49 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/QueryMappedRowAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/query/result/QueryMappedRowAdapter.kt
@@ -30,4 +30,4 @@
     abstract class Mapping {
         abstract val usedColumns: List<String>
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableDeleteOrUpdateMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableDeleteOrUpdateMethodBinder.kt
index b9ab806..7d3af7d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableDeleteOrUpdateMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableDeleteOrUpdateMethodBinder.kt
@@ -70,4 +70,4 @@
             addStmntBlock(callableImpl, dbProperty)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableInsertMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableInsertMethodBinder.kt
index fc1a242..8152905 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableInsertMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableInsertMethodBinder.kt
@@ -74,4 +74,4 @@
             addStmntBlock(callableImpl, dbProperty)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableUpsertMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableUpsertMethodBinder.kt
index 60f2654..ae0acfd 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableUpsertMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/CallableUpsertMethodBinder.kt
@@ -77,4 +77,4 @@
             addStmntBlock(callableImpl, dbProperty)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
index 2fcce7c..b1e85c7 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
@@ -59,4 +59,4 @@
         dbProperty: XPropertySpec,
         scope: CodeGenScope
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InsertOrUpsertMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InsertOrUpsertMethodBinder.kt
index a112e27..addc576 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InsertOrUpsertMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InsertOrUpsertMethodBinder.kt
@@ -54,4 +54,4 @@
         dbProperty: XPropertySpec,
         scope: CodeGenScope
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
index 7c74c77..7b6580d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
@@ -45,4 +45,4 @@
             scope = scope
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantInsertMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantInsertMethodBinder.kt
index d0109cf..28d8e63 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantInsertMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantInsertMethodBinder.kt
@@ -43,4 +43,4 @@
             scope = scope
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantUpsertMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantUpsertMethodBinder.kt
index 2fad367..46a42f8 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantUpsertMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantUpsertMethodBinder.kt
@@ -43,4 +43,4 @@
             scope = scope
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
index fe35054..42c1a8d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
@@ -34,4 +34,4 @@
      * Provider of [DeleteOrUpdateMethodAdapter], based on the [XType]
      */
     fun provide(declared: XType): DeleteOrUpdateMethodBinder
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureDeleteOrUpdateMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureDeleteOrUpdateMethodBinderProvider.kt
index aaeb354..cb0a21f 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureDeleteOrUpdateMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureDeleteOrUpdateMethodBinderProvider.kt
@@ -62,4 +62,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureInsertMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureInsertMethodBinderProvider.kt
index 767a163..5a03387 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureInsertMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureInsertMethodBinderProvider.kt
@@ -66,4 +66,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureUpsertMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureUpsertMethodBinderProvider.kt
index 660010c..2b807da 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureUpsertMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureUpsertMethodBinderProvider.kt
@@ -66,4 +66,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertOrUpsertMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertOrUpsertMethodBinderProvider.kt
index e9ab381..a5cbbcb 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertOrUpsertMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertOrUpsertMethodBinderProvider.kt
@@ -34,4 +34,4 @@
      * Provider of [InsertOrUpsertMethodBinder], based on the [XType] and the list of parameters
      */
     fun provide(declared: XType, params: List<ShortcutQueryParameter>): InsertOrUpsertMethodBinder
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
index 139589d..e9afb06 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
@@ -34,4 +34,4 @@
         val adapter = context.typeAdapterStore.findDeleteOrUpdateAdapter(declared)
         return InstantDeleteOrUpdateMethodBinder(adapter)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
index 37e14d9..517a136 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
@@ -38,4 +38,4 @@
             context.typeAdapterStore.findInsertAdapter(declared, params)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantUpsertMethodBinderProvider.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantUpsertMethodBinderProvider.kt
index 6f4e8c9..d4e819d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantUpsertMethodBinderProvider.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantUpsertMethodBinderProvider.kt
@@ -38,4 +38,4 @@
             context.typeAdapterStore.findUpsertAdapter(declared, params)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
index e754baa..69fc2c3 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
@@ -106,4 +106,4 @@
             returnType.isNotVoidObject() &&
             returnType.isNotKotlinUnit()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertOrUpsertMethodAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertOrUpsertMethodAdapter.kt
index e5a111b..4c5f47e 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertOrUpsertMethodAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertOrUpsertMethodAdapter.kt
@@ -287,4 +287,4 @@
             CommonTypeNames.LIST.parametrizedBy(XTypeName.BOXED_LONG)
         ), // return List<Long>
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/CoroutineTransactionMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/CoroutineTransactionMethodBinder.kt
index 46c348e..e5a376a 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/CoroutineTransactionMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/CoroutineTransactionMethodBinder.kt
@@ -128,4 +128,4 @@
             endControlFlow()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/InstantTransactionMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/InstantTransactionMethodBinder.kt
index 4a8cae4..20c32d6 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/InstantTransactionMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/InstantTransactionMethodBinder.kt
@@ -80,4 +80,4 @@
             endControlFlow()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/TransactionMethodBinder.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/TransactionMethodBinder.kt
index 7b32d8c..6d34c4d 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/TransactionMethodBinder.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/binder/TransactionMethodBinder.kt
@@ -43,4 +43,4 @@
         dbProperty: XPropertySpec,
         scope: CodeGenScope
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/result/TransactionMethodAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/result/TransactionMethodAdapter.kt
index 9c21f73..7384632 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/result/TransactionMethodAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/transaction/result/TransactionMethodAdapter.kt
@@ -115,4 +115,4 @@
         "super@%T.%N(",
         daoImplName, methodName
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt
index 4bf5397..7d2196e 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/NullAwareTypeConverters.kt
@@ -111,4 +111,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/SingleStatementTypeConverter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/SingleStatementTypeConverter.kt
index 6efbe4b..cf2e960 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/SingleStatementTypeConverter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/SingleStatementTypeConverter.kt
@@ -52,4 +52,4 @@
         inputVarName: String,
         scope: CodeGenScope
     ): XCodeBlock
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UpCastTypeConverter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UpCastTypeConverter.kt
index e478031..edc1d8c 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UpCastTypeConverter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UpCastTypeConverter.kt
@@ -46,4 +46,4 @@
             inputVarName
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UuidColumnTypeAdapter.kt b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UuidColumnTypeAdapter.kt
index adc3525..93c587c 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UuidColumnTypeAdapter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/solver/types/UuidColumnTypeAdapter.kt
@@ -85,4 +85,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaFileResolver.kt b/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaFileResolver.kt
index 6cd884e..2fabfd0 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaFileResolver.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/util/SchemaFileResolver.kt
@@ -51,4 +51,4 @@
             override fun getFile(path: Path) = path.toFile()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/util/SimpleJavaVersion.kt b/room/room-compiler/src/main/kotlin/androidx/room/util/SimpleJavaVersion.kt
index 5655d9b..5ea67e2 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/util/SimpleJavaVersion.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/util/SimpleJavaVersion.kt
@@ -122,4 +122,4 @@
                 ?: throw IllegalArgumentException("Unable to parse Java version $version")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/BuiltInConverterFlags.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/BuiltInConverterFlags.kt
index 3bbeaab..a345d57 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/BuiltInConverterFlags.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/BuiltInConverterFlags.kt
@@ -52,4 +52,4 @@
         BuiltInTypeConverters.State.INHERITED -> this
         else -> other
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/ColumnIndexVar.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/ColumnIndexVar.kt
index c1b780f..d3a4341 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/ColumnIndexVar.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/ColumnIndexVar.kt
@@ -20,4 +20,4 @@
  * A value object that associates a column with a generated local variable containing the result
  * index.
  */
-data class ColumnIndexVar(val column: String?, val indexVar: String)
\ No newline at end of file
+data class ColumnIndexVar(val column: String?, val indexVar: String)
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 7295095..5a8a9a9 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
@@ -137,4 +137,4 @@
         ftsOptions.toBundle(),
         contentSyncTriggerCreateQueries
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
index 5f9f48f..8f43cb4 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/FtsOptions.kt
@@ -105,4 +105,4 @@
             androidx.room.FtsOptions.TOKENIZER_UNICODE61
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/HasFields.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/HasFields.kt
index cfa129d..ca3d387 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/HasFields.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/HasFields.kt
@@ -31,4 +31,4 @@
     get() = fields.columnNames
 
 fun HasFields.findFieldByColumnName(columnName: String) =
-    fields.find { it.columnName == columnName }
\ No newline at end of file
+    fields.find { it.columnName == columnName }
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/InsertOrUpsertShortcutMethod.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/InsertOrUpsertShortcutMethod.kt
index b4ae888..bebb8c5 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/InsertOrUpsertShortcutMethod.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/InsertOrUpsertShortcutMethod.kt
@@ -28,4 +28,4 @@
     val returnType: XType,
     val parameters: List<ShortcutQueryParameter>,
     val methodBinder: InsertOrUpsertMethodBinder?
-)
\ No newline at end of file
+)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/Junction.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/Junction.kt
index d07bc1d..a2ecdaf 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/Junction.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/Junction.kt
@@ -23,4 +23,4 @@
     val entity: EntityOrView,
     val parentField: Field,
     val entityField: Field
-)
\ No newline at end of file
+)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinBoxedPrimitiveMethodDelegate.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinBoxedPrimitiveMethodDelegate.kt
index 46ba1a3..0a7ed24 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinBoxedPrimitiveMethodDelegate.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinBoxedPrimitiveMethodDelegate.kt
@@ -26,4 +26,4 @@
 data class KotlinBoxedPrimitiveMethodDelegate(
     val element: XMethodElement,
     val concreteMethod: XMethodElement
-)
\ No newline at end of file
+)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinDefaultMethodDelegate.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinDefaultMethodDelegate.kt
index 7432c9e..8d2dd20 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinDefaultMethodDelegate.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/KotlinDefaultMethodDelegate.kt
@@ -25,4 +25,4 @@
 data class KotlinDefaultMethodDelegate(
     // the original element, not the stub that is generated for DefaultImpls
     val element: XMethodElement
-)
\ No newline at end of file
+)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/LanguageId.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/LanguageId.kt
index 8007dfa..f67f1ef 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/LanguageId.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/LanguageId.kt
@@ -26,4 +26,4 @@
     companion object {
         val MISSING = LanguageId(null, null)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/MapInfo.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/MapInfo.kt
index abf4d49..611b65a 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/MapInfo.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/MapInfo.kt
@@ -20,4 +20,4 @@
  * Represents the @MapInfo input of a @Query or @RawQuery method that has a return type of map or
  * multimap.
  */
-data class MapInfo(val keyColumnName: String, val valueColumnName: String)
\ No newline at end of file
+data class MapInfo(val keyColumnName: String, val valueColumnName: String)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/PojoMethod.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/PojoMethod.kt
index 6fcf320..b0372d3 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/PojoMethod.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/PojoMethod.kt
@@ -25,4 +25,4 @@
 class PojoMethod(
     val element: XMethodElement,
     val resolvedType: XMethodType,
-)
\ No newline at end of file
+)
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 81d260c..cfc5138 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
@@ -72,4 +72,4 @@
     returnType: XType,
     parameters: List<QueryParameter>,
     val preparedQueryResultBinder: PreparedQueryResultBinder
-) : QueryMethod(element, query, returnType, parameters)
\ No newline at end of file
+) : QueryMethod(element, query, returnType, parameters)
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 75e5117..016c7ad 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
@@ -49,4 +49,4 @@
     fun append(identity: String) {
         sb.append(identity).append(SEPARATOR)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/ShortcutEntity.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/ShortcutEntity.kt
index b2610f6..4405081 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/ShortcutEntity.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/ShortcutEntity.kt
@@ -38,4 +38,4 @@
     }
     val pojo = partialEntity ?: entity
     val isPartialEntity = partialEntity != null
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/vo/UpsertionMethod.kt b/room/room-compiler/src/main/kotlin/androidx/room/vo/UpsertionMethod.kt
index 7fcdd72..4ba44f3 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/vo/UpsertionMethod.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/vo/UpsertionMethod.kt
@@ -26,4 +26,4 @@
     returnType: XType,
     parameters: List<ShortcutQueryParameter>,
     methodBinder: InsertOrUpsertMethodBinder
-        ) : InsertOrUpsertShortcutMethod(element, entities, returnType, parameters, methodBinder)
\ No newline at end of file
+        ) : InsertOrUpsertShortcutMethod(element, entities, returnType, parameters, methodBinder)
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/writer/EntityUpsertionAdapterWriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/writer/EntityUpsertionAdapterWriter.kt
index 7098ed2..d650a63 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/writer/EntityUpsertionAdapterWriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/writer/EntityUpsertionAdapterWriter.kt
@@ -52,4 +52,4 @@
             args = arrayOf(insertionHelper, updateHelper)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt
index 1c0dbbd..368920b 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/writer/FtsTableInfoValidationWriter.kt
@@ -84,4 +84,4 @@
             endControlFlow()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/main/kotlin/androidx/room/writer/ValidationWriter.kt b/room/room-compiler/src/main/kotlin/androidx/room/writer/ValidationWriter.kt
index cede6be..76b0bed 100644
--- a/room/room-compiler/src/main/kotlin/androidx/room/writer/ValidationWriter.kt
+++ b/room/room-compiler/src/main/kotlin/androidx/room/writer/ValidationWriter.kt
@@ -90,4 +90,4 @@
             return this
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/RoomTestEnvConfigProvider.kt b/room/room-compiler/src/test/kotlin/androidx/room/RoomTestEnvConfigProvider.kt
index 761159f..bd9a858 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/RoomTestEnvConfigProvider.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/RoomTestEnvConfigProvider.kt
@@ -23,4 +23,4 @@
     override fun configure(options: Map<String, String>): XProcessingEnvConfig {
         return DatabaseProcessingStep.getEnvConfig(options)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt
index 131fe7e..1c19e7f 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt
@@ -249,4 +249,4 @@
         @Parameterized.Parameters(name = "preCompile_{0}")
         fun params() = arrayOf(false, true)
     }
-}
\ No newline at end of file
+}
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 a45785d..4fc56cb 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
@@ -47,4 +47,4 @@
         // IllegalFormatConversionException
         logger.w(Warning.ALL, "bad query: 'SELECT strftime('%d', mAge) as mDay, mName FROM'")
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/parser/SQLTypeAffinityTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/parser/SQLTypeAffinityTest.kt
index 7c4a6fb..0db9225 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/parser/SQLTypeAffinityTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/parser/SQLTypeAffinityTest.kt
@@ -117,4 +117,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/parser/SqlParserTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/parser/SqlParserTest.kt
index 0e006ff..b3e20de 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/parser/SqlParserTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/parser/SqlParserTest.kt
@@ -372,4 +372,4 @@
     fun assertSections(query: String, vararg sections: Section) {
         assertThat(SqlParser.parse(query).sections, `is`(sections.toList()))
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/BaseFtsEntityParserTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/BaseFtsEntityParserTest.kt
index af7987d..228e52f 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/BaseFtsEntityParserTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/BaseFtsEntityParserTest.kt
@@ -84,4 +84,4 @@
     }
 
     abstract fun getFtsVersion(): Int
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts3TableEntityProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts3TableEntityProcessorTest.kt
index e959e20..71633cf 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts3TableEntityProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts3TableEntityProcessorTest.kt
@@ -206,4 +206,4 @@
             assertThat(entity.ftsOptions.tokenizer, `is`("customICU"))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts4TableEntityProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts4TableEntityProcessorTest.kt
index 178c2938..5d08752 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts4TableEntityProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/Fts4TableEntityProcessorTest.kt
@@ -469,4 +469,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTargetMethodTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTargetMethodTest.kt
index 0a35d47..cc63a43 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTargetMethodTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTargetMethodTest.kt
@@ -519,4 +519,4 @@
         } else {
             "method"
         }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
index 4661a0633..ec56bef 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
@@ -2246,4 +2246,4 @@
         }
         """
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt
index b8d94b3..e943139 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/RawQueryMethodProcessorTest.kt
@@ -723,4 +723,4 @@
                 """
         private const val DAO_SUFFIX = "}"
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt
index a4bac2c..3c39305 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt
@@ -186,4 +186,4 @@
             return listOf(pojo, dao, db)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/BuiltInConverterFlagsTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/BuiltInConverterFlagsTest.kt
index 93a15df..c48870e 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/BuiltInConverterFlagsTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/BuiltInConverterFlagsTest.kt
@@ -254,4 +254,4 @@
                 ")"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/NullabilityAwareTypeConverterStoreTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/NullabilityAwareTypeConverterStoreTest.kt
index fe3433a..997f6d3 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/NullabilityAwareTypeConverterStoreTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/NullabilityAwareTypeConverterStoreTest.kt
@@ -906,4 +906,4 @@
                 .joinToString("\n")
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/Signatures.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/Signatures.kt
index 6132610..38ec1a3 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/Signatures.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/Signatures.kt
@@ -50,4 +50,4 @@
             "(${from.toSignature()} as ${to.toSignature()})"
         else -> "${from.toSignature()} -> ${to.toSignature()}"
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAssignmentTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAssignmentTest.kt
index 22f6c5c..e6928c1 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAssignmentTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeAssignmentTest.kt
@@ -113,4 +113,4 @@
             it.apply { handler() }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterCostTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterCostTest.kt
index a6c87f3..7029a46 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterCostTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterCostTest.kt
@@ -97,4 +97,4 @@
             Cost(requireNotNull = 1, converters = 1, nullSafeWrapper = 1, upCasts = 1)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterStoreTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterStoreTest.kt
index a66f61b..d2fc717 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterStoreTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/solver/TypeConverterStoreTest.kt
@@ -141,4 +141,4 @@
                 to.asTypeName().toString(CodeLanguage.JAVA)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/testing/XProcessingStepExt.kt b/room/room-compiler/src/test/kotlin/androidx/room/testing/XProcessingStepExt.kt
index 3f71c5d..a8f237a 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/testing/XProcessingStepExt.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/testing/XProcessingStepExt.kt
@@ -36,4 +36,4 @@
         false
     )
     delegate(invocation)
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/testing/XTestInvocationExt.kt b/room/room-compiler/src/test/kotlin/androidx/room/testing/XTestInvocationExt.kt
index 62e386a..b8fa0c1 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/testing/XTestInvocationExt.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/testing/XTestInvocationExt.kt
@@ -22,4 +22,4 @@
 val XTestInvocation.context
     get() = getOrPutUserData(Context::class) {
         Context(processingEnv)
-    }
\ No newline at end of file
+    }
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/util/SchemaDifferTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/util/SchemaDifferTest.kt
index a876e49..5c766ef 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/util/SchemaDifferTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/util/SchemaDifferTest.kt
@@ -1567,4 +1567,4 @@
     )
 
     //endregion
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/util/SimpleJavaVersionTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/util/SimpleJavaVersionTest.kt
index 8e1b5f96..7c76004 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/util/SimpleJavaVersionTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/util/SimpleJavaVersionTest.kt
@@ -82,4 +82,4 @@
         assertThat(SimpleJavaVersion(8, 1, 0)).isGreaterThan(SimpleJavaVersion(8, 1, null))
         assertThat(SimpleJavaVersion(8, 1, null)).isLessThan(SimpleJavaVersion(8, 1, 0))
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/vo/DatabaseTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/vo/DatabaseTest.kt
index f9c70b1..6370004 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/vo/DatabaseTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/vo/DatabaseTest.kt
@@ -76,4 +76,4 @@
         )
         assertEquals(expectedLegacyHash, database.legacyIdentityHash)
     }
-}
\ No newline at end of file
+}
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 c589003..93e3904 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
@@ -260,4 +260,4 @@
             columnName = name
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
index 602825b..ed93a9c 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
@@ -61,4 +61,4 @@
             handler.invoke(it)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt
index a3af92e..9c2d88c 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt
@@ -2387,4 +2387,4 @@
             expectedFilePath = getTestGoldenPath(testName)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoRelationshipKotlinCodeGenTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoRelationshipKotlinCodeGenTest.kt
index 6e12f2c..be78225 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoRelationshipKotlinCodeGenTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoRelationshipKotlinCodeGenTest.kt
@@ -457,4 +457,4 @@
             expectedFilePath = getTestGoldenPath(testName)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/DatabaseKotlinCodeGenTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/DatabaseKotlinCodeGenTest.kt
index d47aeb6..a9a2180 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/DatabaseKotlinCodeGenTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/DatabaseKotlinCodeGenTest.kt
@@ -188,4 +188,4 @@
             handler.invoke(it)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt
index aebbe74..3ee50134 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt
@@ -216,4 +216,4 @@
             JvmDefaultMode.DISABLE,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomExtension.kt b/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomExtension.kt
index dc10b3c..6849c43 100644
--- a/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomExtension.kt
+++ b/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomExtension.kt
@@ -52,4 +52,4 @@
     open fun schemaDirectory(path: Provider<String>) {
         schemaDirectory = path
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomGradlePlugin.kt b/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomGradlePlugin.kt
index 9dacb6d..55f5969 100644
--- a/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomGradlePlugin.kt
+++ b/room/room-gradle-plugin/src/main/java/androidx/room/gradle/RoomGradlePlugin.kt
@@ -298,4 +298,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-gradle-plugin/src/test/java/androidx/room/gradle/RoomGradlePluginTest.kt b/room/room-gradle-plugin/src/test/java/androidx/room/gradle/RoomGradlePluginTest.kt
index 42c16d8..6e4f8c0 100644
--- a/room/room-gradle-plugin/src/test/java/androidx/room/gradle/RoomGradlePluginTest.kt
+++ b/room/room-gradle-plugin/src/test/java/androidx/room/gradle/RoomGradlePluginTest.kt
@@ -353,4 +353,4 @@
         private const val COMPILE_TASK = ":compileDebugJavaWithJavac"
         private const val COPY_TASK = ":copyRoomSchemasDebug"
     }
-}
\ No newline at end of file
+}
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 bf24923..8c5b257 100644
--- a/room/room-ktx/src/test/java/androidx/room/MigrationTest.kt
+++ b/room/room-ktx/src/test/java/androidx/room/MigrationTest.kt
@@ -198,4 +198,4 @@
 
     override val isDatabaseIntegrityOk: Boolean
         get() { throw UnsupportedOperationException() }
-}
\ No newline at end of file
+}
diff --git a/room/room-migration/src/main/java/androidx/room/migration/bundle/BundleUtil.kt b/room/room-migration/src/main/java/androidx/room/migration/bundle/BundleUtil.kt
index 8e7dc50..330ab3f 100644
--- a/room/room-migration/src/main/java/androidx/room/migration/bundle/BundleUtil.kt
+++ b/room/room-migration/src/main/java/androidx/room/migration/bundle/BundleUtil.kt
@@ -41,4 +41,4 @@
 
 public fun replaceViewName(contents: String, viewName: String): String {
     return contents.replace(VIEW_NAME_PLACEHOLDER, viewName)
-}
\ No newline at end of file
+}
diff --git a/room/room-paging-guava/src/main/java/androidx/room/paging/guava/LimitOffsetListenableFuturePagingSource.kt b/room/room-paging-guava/src/main/java/androidx/room/paging/guava/LimitOffsetListenableFuturePagingSource.kt
index 6e2839d..57dfd91 100644
--- a/room/room-paging-guava/src/main/java/androidx/room/paging/guava/LimitOffsetListenableFuturePagingSource.kt
+++ b/room/room-paging-guava/src/main/java/androidx/room/paging/guava/LimitOffsetListenableFuturePagingSource.kt
@@ -155,4 +155,4 @@
     override fun getRefreshKey(state: PagingState<Int, Value>): Int? {
          return state.getClippedRefreshKey()
     }
-}
\ No newline at end of file
+}
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 fe1df3e6..f97ed38 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/InvalidationTrackerExtRoomPaging.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/InvalidationTrackerExtRoomPaging.kt
@@ -35,4 +35,4 @@
             delay(50)
         }
     }
-}
\ No newline at end of file
+}
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 fe817aa..f818b98 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
@@ -833,4 +833,4 @@
             id = it + startId,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetTestDb.kt b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetTestDb.kt
index d50f446..8d31c44 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetTestDb.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/LimitOffsetTestDb.kt
@@ -22,4 +22,4 @@
 @Database(entities = [TestItem::class], version = 1, exportSchema = false)
 abstract class LimitOffsetTestDb : RoomDatabase() {
     abstract val dao: TestItemDao
-}
\ No newline at end of file
+}
diff --git a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItem.kt b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItem.kt
index a1faf47..ed9aceb 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItem.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItem.kt
@@ -23,4 +23,4 @@
 data class TestItem(
     @PrimaryKey val id: Int,
     val value: String = "item $id"
-)
\ No newline at end of file
+)
diff --git a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItemDao.kt b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItemDao.kt
index 8863f6f..bb937a9 100644
--- a/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItemDao.kt
+++ b/room/room-paging/src/androidTest/kotlin/androidx/room/paging/TestItemDao.kt
@@ -34,4 +34,4 @@
 
     @Query("DELETE FROM TestItem WHERE id >= :start AND id <= :end")
     fun deleteTestItems(start: Int, end: Int): Int
-}
\ No newline at end of file
+}
diff --git a/room/room-paging/src/main/java/androidx/room/paging/util/ThreadSafeInvalidationObserver.kt b/room/room-paging/src/main/java/androidx/room/paging/util/ThreadSafeInvalidationObserver.kt
index 86c7a76..6cff091 100644
--- a/room/room-paging/src/main/java/androidx/room/paging/util/ThreadSafeInvalidationObserver.kt
+++ b/room/room-paging/src/main/java/androidx/room/paging/util/ThreadSafeInvalidationObserver.kt
@@ -37,4 +37,4 @@
             db.invalidationTracker.addWeakObserver(this)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime-lint/src/main/java/androidx/room/lint/CursorKotlinUseIssueDetector.kt b/room/room-runtime-lint/src/main/java/androidx/room/lint/CursorKotlinUseIssueDetector.kt
index 149b5f5..eb40c4b 100644
--- a/room/room-runtime-lint/src/main/java/androidx/room/lint/CursorKotlinUseIssueDetector.kt
+++ b/room/room-runtime-lint/src/main/java/androidx/room/lint/CursorKotlinUseIssueDetector.kt
@@ -73,4 +73,4 @@
             constraint = minSdkLessThan(16)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime-lint/src/main/java/androidx/room/lint/RoomIssueRegistry.kt b/room/room-runtime-lint/src/main/java/androidx/room/lint/RoomIssueRegistry.kt
index daedba0..8210e01 100644
--- a/room/room-runtime-lint/src/main/java/androidx/room/lint/RoomIssueRegistry.kt
+++ b/room/room-runtime-lint/src/main/java/androidx/room/lint/RoomIssueRegistry.kt
@@ -32,4 +32,4 @@
         identifier = "androidx.room",
         vendorName = "Android Open Source Project",
     )
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime-lint/src/test/java/androidx/room/lint/CursorKotlinUseIssueDetectorTest.kt b/room/room-runtime-lint/src/test/java/androidx/room/lint/CursorKotlinUseIssueDetectorTest.kt
index c9edd9d..4cc25c5 100644
--- a/room/room-runtime-lint/src/test/java/androidx/room/lint/CursorKotlinUseIssueDetectorTest.kt
+++ b/room/room-runtime-lint/src/test/java/androidx/room/lint/CursorKotlinUseIssueDetectorTest.kt
@@ -111,4 +111,4 @@
             .run()
             .expectClean()
     }
-}
\ No newline at end of file
+}
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 2efa582..db6a259 100644
--- a/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
+++ b/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperFactoryTest.kt
@@ -148,4 +148,4 @@
         val db = autoClosingRoomOpenHelper.writableDatabase
         assertTrue(db.isOpen)
     }
-}
\ No newline at end of file
+}
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 dae040f..c8d60c9 100644
--- a/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt
+++ b/room/room-runtime/src/androidTest/java/androidx/room/AutoClosingRoomOpenHelperTest.kt
@@ -288,4 +288,4 @@
             this.close()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/AutoCloser.kt b/room/room-runtime/src/main/java/androidx/room/AutoCloser.kt
index 456d2a9..885f035 100644
--- a/room/room-runtime/src/main/java/androidx/room/AutoCloser.kt
+++ b/room/room-runtime/src/main/java/androidx/room/AutoCloser.kt
@@ -224,4 +224,4 @@
         const val autoCloseBug = "https://issuetracker.google.com/issues/new?component=" +
             "413107&template=1096568"
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelper.kt b/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelper.kt
index 5c5b923..387fd5c 100644
--- a/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelper.kt
+++ b/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelper.kt
@@ -567,4 +567,4 @@
             binds.clear()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelperFactory.kt b/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelperFactory.kt
index b48a25d..59ee286 100644
--- a/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelperFactory.kt
+++ b/room/room-runtime/src/main/java/androidx/room/AutoClosingRoomOpenHelperFactory.kt
@@ -32,4 +32,4 @@
     ): AutoClosingRoomOpenHelper {
         return AutoClosingRoomOpenHelper(delegate.create(configuration), autoCloser)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/DatabaseConfiguration.kt b/room/room-runtime/src/main/java/androidx/room/DatabaseConfiguration.kt
index 7a2fc43..239c47f 100644
--- a/room/room-runtime/src/main/java/androidx/room/DatabaseConfiguration.kt
+++ b/room/room-runtime/src/main/java/androidx/room/DatabaseConfiguration.kt
@@ -686,4 +686,4 @@
                 !migrationNotRequiredFrom.contains(fromVersion))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/DelegatingOpenHelper.kt b/room/room-runtime/src/main/java/androidx/room/DelegatingOpenHelper.kt
index 5aa0c3d..b3eac5e 100644
--- a/room/room-runtime/src/main/java/androidx/room/DelegatingOpenHelper.kt
+++ b/room/room-runtime/src/main/java/androidx/room/DelegatingOpenHelper.kt
@@ -28,4 +28,4 @@
      * configurations on specific instances can be applied.
      */
     val delegate: SupportSQLiteOpenHelper
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/EntityDeletionOrUpdateAdapter.kt b/room/room-runtime/src/main/java/androidx/room/EntityDeletionOrUpdateAdapter.kt
index d140a3e..4773a8d 100644
--- a/room/room-runtime/src/main/java/androidx/room/EntityDeletionOrUpdateAdapter.kt
+++ b/room/room-runtime/src/main/java/androidx/room/EntityDeletionOrUpdateAdapter.kt
@@ -104,4 +104,4 @@
             release(stmt)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/EntityInsertionAdapter.kt b/room/room-runtime/src/main/java/androidx/room/EntityInsertionAdapter.kt
index 0e2473a..f83a77e 100644
--- a/room/room-runtime/src/main/java/androidx/room/EntityInsertionAdapter.kt
+++ b/room/room-runtime/src/main/java/androidx/room/EntityInsertionAdapter.kt
@@ -226,4 +226,4 @@
             release(stmt)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/ExperimentalRoomApi.kt b/room/room-runtime/src/main/java/androidx/room/ExperimentalRoomApi.kt
index 965bdde..20ed03b 100644
--- a/room/room-runtime/src/main/java/androidx/room/ExperimentalRoomApi.kt
+++ b/room/room-runtime/src/main/java/androidx/room/ExperimentalRoomApi.kt
@@ -27,4 +27,4 @@
 @Suppress("UnsafeOptInUsageError")
 @RequiresOptIn
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalRoomApi
\ No newline at end of file
+annotation class ExperimentalRoomApi
diff --git a/room/room-runtime/src/main/java/androidx/room/InvalidationTracker.kt b/room/room-runtime/src/main/java/androidx/room/InvalidationTracker.kt
index 91b934a..38067b7 100644
--- a/room/room-runtime/src/main/java/androidx/room/InvalidationTracker.kt
+++ b/room/room-runtime/src/main/java/androidx/room/InvalidationTracker.kt
@@ -836,4 +836,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 bbf6f8e..fce2ec7 100644
--- a/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.kt
+++ b/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.kt
@@ -126,4 +126,4 @@
             appContext.unbindService(serviceConnection)
         }
     }
-}
\ No newline at end of file
+}
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 06ecd35..3bac1ea 100644
--- a/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.kt
+++ b/room/room-runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.kt
@@ -119,4 +119,4 @@
     override fun onBind(intent: Intent): IBinder {
         return binder
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/Room.kt b/room/room-runtime/src/main/java/androidx/room/Room.kt
index 3aa15d5..d0cb585 100644
--- a/room/room-runtime/src/main/java/androidx/room/Room.kt
+++ b/room/room-runtime/src/main/java/androidx/room/Room.kt
@@ -113,4 +113,4 @@
         }
         return RoomDatabase.Builder(context, klass, name)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/RoomOpenHelper.kt b/room/room-runtime/src/main/java/androidx/room/RoomOpenHelper.kt
index 44f7f15..879f98d 100644
--- a/room/room-runtime/src/main/java/androidx/room/RoomOpenHelper.kt
+++ b/room/room-runtime/src/main/java/androidx/room/RoomOpenHelper.kt
@@ -241,4 +241,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/RoomSQLiteQuery.kt b/room/room-runtime/src/main/java/androidx/room/RoomSQLiteQuery.kt
index f04d520..9a2e832b 100644
--- a/room/room-runtime/src/main/java/androidx/room/RoomSQLiteQuery.kt
+++ b/room/room-runtime/src/main/java/androidx/room/RoomSQLiteQuery.kt
@@ -230,4 +230,4 @@
         private const val STRING = 4
         private const val BLOB = 5
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/RoomTrackingLiveData.kt b/room/room-runtime/src/main/java/androidx/room/RoomTrackingLiveData.kt
index d4f19ab..171b57d 100644
--- a/room/room-runtime/src/main/java/androidx/room/RoomTrackingLiveData.kt
+++ b/room/room-runtime/src/main/java/androidx/room/RoomTrackingLiveData.kt
@@ -123,4 +123,4 @@
         } else {
             database.queryExecutor
         }
-}
\ No newline at end of file
+}
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 37d3ebd..3672ab0 100644
--- a/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt
+++ b/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt
@@ -239,4 +239,4 @@
             .build()
         return factory.create(configuration)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelperFactory.kt b/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelperFactory.kt
index 1c695f5..9ecb35b 100644
--- a/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelperFactory.kt
+++ b/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelperFactory.kt
@@ -42,4 +42,4 @@
             mDelegate.create(configuration)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/SharedSQLiteStatement.kt b/room/room-runtime/src/main/java/androidx/room/SharedSQLiteStatement.kt
index 9f3ef6e..db68fc5 100644
--- a/room/room-runtime/src/main/java/androidx/room/SharedSQLiteStatement.kt
+++ b/room/room-runtime/src/main/java/androidx/room/SharedSQLiteStatement.kt
@@ -85,4 +85,4 @@
             lock.set(false)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/TransactionExecutor.kt b/room/room-runtime/src/main/java/androidx/room/TransactionExecutor.kt
index 965fdad..93ba86d 100644
--- a/room/room-runtime/src/main/java/androidx/room/TransactionExecutor.kt
+++ b/room/room-runtime/src/main/java/androidx/room/TransactionExecutor.kt
@@ -51,4 +51,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/migration/AutoMigrationSpec.kt b/room/room-runtime/src/main/java/androidx/room/migration/AutoMigrationSpec.kt
index 7b163c0..99b2ea0 100644
--- a/room/room-runtime/src/main/java/androidx/room/migration/AutoMigrationSpec.kt
+++ b/room/room-runtime/src/main/java/androidx/room/migration/AutoMigrationSpec.kt
@@ -32,4 +32,4 @@
      * @param db The SQLite database.
      */
     fun onPostMigrate(db: SupportSQLiteDatabase) {}
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/migration/Migration.kt b/room/room-runtime/src/main/java/androidx/room/migration/Migration.kt
index 6250702..63b20d2 100644
--- a/room/room-runtime/src/main/java/androidx/room/migration/Migration.kt
+++ b/room/room-runtime/src/main/java/androidx/room/migration/Migration.kt
@@ -51,4 +51,4 @@
      * @param db The database instance
      */
     abstract fun migrate(db: SupportSQLiteDatabase)
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/CursorUtil.kt b/room/room-runtime/src/main/java/androidx/room/util/CursorUtil.kt
index dc4d7be..6e94283 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/CursorUtil.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/CursorUtil.kt
@@ -180,4 +180,4 @@
             return super.getColumnIndex(columnName)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/DBUtil.kt b/room/room-runtime/src/main/java/androidx/room/util/DBUtil.kt
index bc82786..99a5d96 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/DBUtil.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/DBUtil.kt
@@ -210,4 +210,4 @@
             append(key).append("\n")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/FileUtil.kt b/room/room-runtime/src/main/java/androidx/room/util/FileUtil.kt
index 0d0c550..c1f843b 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/FileUtil.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/FileUtil.kt
@@ -55,4 +55,4 @@
         input.close()
         output.close()
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/FtsTableInfo.kt b/room/room-runtime/src/main/java/androidx/room/util/FtsTableInfo.kt
index e439ee5..5590d3b 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/FtsTableInfo.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/FtsTableInfo.kt
@@ -180,4 +180,4 @@
             return options
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/StringUtil.kt b/room/room-runtime/src/main/java/androidx/room/util/StringUtil.kt
index 18424f9..f8565fa 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/StringUtil.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/StringUtil.kt
@@ -82,4 +82,4 @@
  */
 fun joinIntoString(input: List<Int>?): String? {
     return input?.joinToString(",")
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/TableInfo.kt b/room/room-runtime/src/main/java/androidx/room/util/TableInfo.kt
index 246dfdc..2b6ed45 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/TableInfo.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/TableInfo.kt
@@ -644,4 +644,4 @@
         val orders = ordersMap.values.toList()
         TableInfo.Index(name, unique, columns, orders)
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/UUIDUtil.kt b/room/room-runtime/src/main/java/androidx/room/util/UUIDUtil.kt
index 4d7810c..cc51865 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/UUIDUtil.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/UUIDUtil.kt
@@ -52,4 +52,4 @@
     buffer.putLong(uuid.mostSignificantBits)
     buffer.putLong(uuid.leastSignificantBits)
     return buffer.array()
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/main/java/androidx/room/util/ViewInfo.kt b/room/room-runtime/src/main/java/androidx/room/util/ViewInfo.kt
index 6c664ce..f07a80a 100644
--- a/room/room-runtime/src/main/java/androidx/room/util/ViewInfo.kt
+++ b/room/room-runtime/src/main/java/androidx/room/util/ViewInfo.kt
@@ -79,4 +79,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/test/java/androidx/room/BuilderTest_TestDatabase_Impl.kt b/room/room-runtime/src/test/java/androidx/room/BuilderTest_TestDatabase_Impl.kt
index 482b0fa..23f511e 100644
--- a/room/room-runtime/src/test/java/androidx/room/BuilderTest_TestDatabase_Impl.kt
+++ b/room/room-runtime/src/test/java/androidx/room/BuilderTest_TestDatabase_Impl.kt
@@ -43,4 +43,4 @@
     ): List<Migration> {
         return mAutoMigrations
     }
-}
\ No newline at end of file
+}
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 b63bfa0..73d7ca9b 100644
--- a/room/room-runtime/src/test/java/androidx/room/InvalidationLiveDataContainerTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/InvalidationLiveDataContainerTest.kt
@@ -107,4 +107,4 @@
     private fun <T> createComputeFunction(): Callable<T> {
         return Callable<T> { null }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/test/java/androidx/room/InvalidationTrackerTest.kt b/room/room-runtime/src/test/java/androidx/room/InvalidationTrackerTest.kt
index 6c95435..483589a3d 100644
--- a/room/room-runtime/src/test/java/androidx/room/InvalidationTrackerTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/InvalidationTrackerTest.kt
@@ -513,4 +513,4 @@
             result.clear()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/test/java/androidx/room/ObservedTableTrackerTest.kt b/room/room-runtime/src/test/java/androidx/room/ObservedTableTrackerTest.kt
index 0b7c29f..098d1b4 100644
--- a/room/room-runtime/src/test/java/androidx/room/ObservedTableTrackerTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/ObservedTableTrackerTest.kt
@@ -121,4 +121,4 @@
             return result
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/test/java/androidx/room/RoomSQLiteQueryTest.kt b/room/room-runtime/src/test/java/androidx/room/RoomSQLiteQueryTest.kt
index 44c455f..99e8bd1 100644
--- a/room/room-runtime/src/test/java/androidx/room/RoomSQLiteQueryTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/RoomSQLiteQueryTest.kt
@@ -143,4 +143,4 @@
             assertThat(itr.next().capacity).isEqualTo(i)
         }
     }
-}
\ No newline at end of file
+}
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 be50aa4..c3ad6a2 100644
--- a/room/room-runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
@@ -285,4 +285,4 @@
             openHelper.writableDatabase
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/test/java/androidx/room/SharedSQLiteStatementTest.kt b/room/room-runtime/src/test/java/androidx/room/SharedSQLiteStatementTest.kt
index 705f7a1..eee59cb 100644
--- a/room/room-runtime/src/test/java/androidx/room/SharedSQLiteStatementTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/SharedSQLiteStatementTest.kt
@@ -96,4 +96,4 @@
         assertThat(stmt1).isNotNull()
         assertThat(stmt1).isEqualTo(stmt2)
     }
-}
\ No newline at end of file
+}
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 df061cc..8d6b455 100644
--- a/room/room-runtime/src/test/java/androidx/room/TransactionExecutorTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/TransactionExecutorTest.kt
@@ -84,4 +84,4 @@
             latch.countDown()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-runtime/src/test/java/androidx/room/util/CursorUtilTest.kt b/room/room-runtime/src/test/java/androidx/room/util/CursorUtilTest.kt
index 3b5c269..91be749 100644
--- a/room/room-runtime/src/test/java/androidx/room/util/CursorUtilTest.kt
+++ b/room/room-runtime/src/test/java/androidx/room/util/CursorUtilTest.kt
@@ -68,4 +68,4 @@
             )
         ).isEqualTo(-1)
     }
-}
\ No newline at end of file
+}
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 7c5105d..ff0120b 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
@@ -52,4 +52,4 @@
 
         assertThat(result).isEqualTo(expected)
     }
-}
\ No newline at end of file
+}
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 1aa1aec..5d4177c 100644
--- a/room/room-rxjava2/src/test/java/androidx/room/RxRoomTest.kt
+++ b/room/room-rxjava2/src/test/java/androidx/room/RxRoomTest.kt
@@ -248,4 +248,4 @@
             mCount++
         }
     }
-}
\ No newline at end of file
+}
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 447d37a..9101245fc 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
@@ -262,4 +262,4 @@
             mCount++
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/AutoMigrationAndMigrationTest.kt b/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/AutoMigrationAndMigrationTest.kt
index 6b8e988..b0231ab 100644
--- a/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/AutoMigrationAndMigrationTest.kt
+++ b/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/AutoMigrationAndMigrationTest.kt
@@ -97,4 +97,4 @@
             override fun migrate(db: SupportSQLiteDatabase) {}
         }
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/SimpleAutoMigrationDb.kt b/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/SimpleAutoMigrationDb.kt
index 7580b90..da1c645 100644
--- a/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/SimpleAutoMigrationDb.kt
+++ b/room/room-testing/src/androidTest/java/androidx/room/testing/kotlintestapp/migration/SimpleAutoMigrationDb.kt
@@ -94,4 +94,4 @@
     companion object {
         const val LATEST_VERSION = 1
     }
-}
\ No newline at end of file
+}
diff --git a/room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt b/room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
index 1627a03..689fa7b 100644
--- a/room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
+++ b/room/room-testing/src/main/java/androidx/room/testing/MigrationTestHelper.kt
@@ -676,4 +676,4 @@
             } + 1 // Shift by 1 to get primary key position
         }
     }
-}
\ No newline at end of file
+}
diff --git a/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/NestedScrollViewCoordinatorLayoutAppBarActivity.kt b/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/NestedScrollViewCoordinatorLayoutAppBarActivity.kt
index d9608bc..5c6283c 100644
--- a/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/NestedScrollViewCoordinatorLayoutAppBarActivity.kt
+++ b/samples/AndroidXDemos/src/main/java/com/example/androidx/widget/NestedScrollViewCoordinatorLayoutAppBarActivity.kt
@@ -32,4 +32,4 @@
         }
         findViewById<TextView>(R.id.appbarlayout_tv).text = sb.toString()
     }
-}
\ No newline at end of file
+}
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 ce8e561..a3c4693 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
@@ -58,4 +58,4 @@
     inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
         val nameTextView: TextView = itemView.findViewById<TextView>(R.id.recyclerview_item_label)
     }
-}
\ No newline at end of file
+}
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/view/WindowInsetsControllerPlayground.kt b/samples/Support4Demos/src/main/java/com/example/android/supportv4/view/WindowInsetsControllerPlayground.kt
index 67fee43..b188b7b 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/view/WindowInsetsControllerPlayground.kt
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/view/WindowInsetsControllerPlayground.kt
@@ -558,4 +558,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/TwoPanePreferences.kt b/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/TwoPanePreferences.kt
index 44b8e46..2d93c61 100644
--- a/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/TwoPanePreferences.kt
+++ b/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/TwoPanePreferences.kt
@@ -80,4 +80,4 @@
         super.onCreate(savedInstanceState)
         setContentView(R.layout.two_pane_preferences)
     }
-}
\ No newline at end of file
+}
diff --git a/savedstate/savedstate/src/main/java/androidx/savedstate/Recreator.kt b/savedstate/savedstate/src/main/java/androidx/savedstate/Recreator.kt
index cc14d2d..3f335e1 100644
--- a/savedstate/savedstate/src/main/java/androidx/savedstate/Recreator.kt
+++ b/savedstate/savedstate/src/main/java/androidx/savedstate/Recreator.kt
@@ -94,4 +94,4 @@
         const val CLASSES_KEY = "classes_to_restore"
         const val COMPONENT_KEY = "androidx.savedstate.Restarter"
     }
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt
index 500fe4a..3fe86c3 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldTest.kt
@@ -153,4 +153,4 @@
             assertThat(findViewX(R.id.list_pane)).isLessThan(findViewX(R.id.detail_pane))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldingFeatureObserverTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldingFeatureObserverTest.kt
index 43bb949..7137970 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldingFeatureObserverTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/FoldingFeatureObserverTest.kt
@@ -108,4 +108,4 @@
             assertEquals(expected, features.first())
         }
     }
-}
\ No newline at end of file
+}
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 fe2cdae..65d241c2 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/LockModeTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/LockModeTest.kt
@@ -199,4 +199,4 @@
             assertThat(panelSlideCountDownLatch.await(2, TimeUnit.SECONDS)).isFalse()
         }
     }
-}
\ No newline at end of file
+}
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 a98a7d9..cba32e9 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/PanelSlideListenerTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/PanelSlideListenerTest.kt
@@ -127,4 +127,4 @@
                 .isFalse()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt
index 490a911..15a6aa1 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlideableStateListenerTest.kt
@@ -104,4 +104,4 @@
                 .isNull()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlidingPaneLayoutTest.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlidingPaneLayoutTest.kt
index 5eaa47f..82b0b8f 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlidingPaneLayoutTest.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/SlidingPaneLayoutTest.kt
@@ -205,4 +205,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/ActivityScenario.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/ActivityScenario.kt
index 8d7f3a8..3413f7f 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/ActivityScenario.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/ActivityScenario.kt
@@ -91,4 +91,4 @@
         })
     }
     return latch
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/Espresso.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/Espresso.kt
index 90baa0d..ece868a 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/Espresso.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/Espresso.kt
@@ -82,4 +82,4 @@
             return !(item as SlidingPaneLayout).isSlideable
         }
     }
-}
\ No newline at end of file
+}
diff --git a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/TestActivity.kt b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/TestActivity.kt
index 0e4d8ef..812f45e 100644
--- a/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/TestActivity.kt
+++ b/slidingpanelayout/slidingpanelayout/src/androidTest/java/androidx/slidingpanelayout/widget/helpers/TestActivity.kt
@@ -41,4 +41,4 @@
     public companion object {
         public var onActivityCreated: ((TestActivity) -> Unit) = {}
     }
-}
\ 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 d4ae2e7..61aaae7 100644
--- a/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/FoldingFeatureObserver.kt
+++ b/slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/FoldingFeatureObserver.kt
@@ -88,4 +88,4 @@
         return windowLayoutInfo.displayFeatures
             .firstOrNull { feature -> feature is FoldingFeature } as? FoldingFeature
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/integration-tests/inspection-sqldelight-testapp/src/androidTest/java/androidx/sqlite/inspection/SqlDelightInvalidationTest.kt b/sqlite/integration-tests/inspection-sqldelight-testapp/src/androidTest/java/androidx/sqlite/inspection/SqlDelightInvalidationTest.kt
index 7770c1d..6ef97f2 100644
--- a/sqlite/integration-tests/inspection-sqldelight-testapp/src/androidTest/java/androidx/sqlite/inspection/SqlDelightInvalidationTest.kt
+++ b/sqlite/integration-tests/inspection-sqldelight-testapp/src/androidTest/java/androidx/sqlite/inspection/SqlDelightInvalidationTest.kt
@@ -166,4 +166,4 @@
     ) {
         // no-op
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkOpenHelperTest.kt b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkOpenHelperTest.kt
index bc5555a..63444f5 100644
--- a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkOpenHelperTest.kt
+++ b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkOpenHelperTest.kt
@@ -62,4 +62,4 @@
             assertThat(firstRef).isEqualTo(secondRef)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt
index 66d82ae..a5bade8 100644
--- a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt
+++ b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt
@@ -159,4 +159,4 @@
             allowDataLossOnRecovery = false
         ).writableDatabase.close()
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/OpenHelperRecoveryTest.kt b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/OpenHelperRecoveryTest.kt
index bd32a62..d307b12 100644
--- a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/OpenHelperRecoveryTest.kt
+++ b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/OpenHelperRecoveryTest.kt
@@ -267,4 +267,4 @@
         override fun onCorruption(db: SupportSQLiteDatabase) {
         }
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt
index b9aeb34..886f90b 100644
--- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt
+++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt
@@ -332,4 +332,4 @@
             )
         private val EMPTY_STRING_ARRAY = arrayOfNulls<String>(0)
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.kt
index 65adc7e..21ea6a0 100644
--- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.kt
+++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.kt
@@ -338,4 +338,4 @@
      * constructor.
      */
     private class DBRefHolder(var db: FrameworkSQLiteDatabase?)
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory.kt
index a549b04..19e1677 100644
--- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory.kt
+++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelperFactory.kt
@@ -33,4 +33,4 @@
             configuration.allowDataLossOnRecovery
         )
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteProgram.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteProgram.kt
index 3707078..e84d133 100644
--- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteProgram.kt
+++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteProgram.kt
@@ -51,4 +51,4 @@
     override fun close() {
         delegate.close()
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteStatement.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteStatement.kt
index 51f726e..866bdaf 100644
--- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteStatement.kt
+++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteStatement.kt
@@ -49,4 +49,4 @@
     override fun simpleQueryForString(): String? {
         return delegate.simpleQueryForString()
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/util/ProcessLock.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/util/ProcessLock.kt
index dc07eb9..1d176e5 100644
--- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/util/ProcessLock.kt
+++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/util/ProcessLock.kt
@@ -101,4 +101,4 @@
             return threadLocksMap.getOrPut(key) { ReentrantLock() }
         }
     }
-}
\ No newline at end of file
+}
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 642fa58..e662a57 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
@@ -113,4 +113,4 @@
         FROM m2 GROUP BY cy
       )
     SELECT * FROM a;
-"""
\ No newline at end of file
+"""
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 492b7b2..c876b09 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
@@ -371,4 +371,4 @@
 
     private fun insertValue(instance: SQLiteDatabase, value: Int) =
         instance.execSQL("insert into ${table.name} values ($value)")
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SimpleSQLiteQuery.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SimpleSQLiteQuery.kt
index e3245e2..a19ce02 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SimpleSQLiteQuery.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SimpleSQLiteQuery.kt
@@ -109,4 +109,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteCompat.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteCompat.kt
index ad7e945..36c2f87 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteCompat.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteCompat.kt
@@ -292,4 +292,4 @@
             return cursor.notificationUris!!
         }
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteDatabase.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteDatabase.kt
index d4c24aa..d2fa862 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteDatabase.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteDatabase.kt
@@ -595,4 +595,4 @@
      * false otherwise.
      */
     val isDatabaseIntegrityOk: Boolean
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteOpenHelper.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteOpenHelper.kt
index a2ca95f..070dd70 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteOpenHelper.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteOpenHelper.kt
@@ -422,4 +422,4 @@
          */
         fun create(configuration: Configuration): SupportSQLiteOpenHelper
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteProgram.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteProgram.kt
index 2397f94..12a68e7 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteProgram.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteProgram.kt
@@ -69,4 +69,4 @@
      * Clears all existing bindings. Unset bindings are treated as NULL.
      */
     fun clearBindings()
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQuery.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQuery.kt
index 8108f2d..6e9a598 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQuery.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQuery.kt
@@ -38,4 +38,4 @@
      * in the query string. See: https://www.sqlite.org/c3ref/bind_blob.html for details.
      */
     val argCount: Int
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQueryBuilder.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQueryBuilder.kt
index a7afd1d..3ed9087 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQueryBuilder.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteQueryBuilder.kt
@@ -183,4 +183,4 @@
             return SupportSQLiteQueryBuilder(tableName)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteStatement.kt b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteStatement.kt
index 097ffb5..32fc2fe 100644
--- a/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteStatement.kt
+++ b/sqlite/sqlite/src/main/java/androidx/sqlite/db/SupportSQLiteStatement.kt
@@ -68,4 +68,4 @@
      * @throws [android.database.sqlite.SQLiteDoneException] if the query returns zero rows
      */
     fun simpleQueryForString(): String?
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/test/java/androidx/sqlite/db/SimpleSQLiteQueryTest.kt b/sqlite/sqlite/src/test/java/androidx/sqlite/db/SimpleSQLiteQueryTest.kt
index bf6edb4..f505a63 100644
--- a/sqlite/sqlite/src/test/java/androidx/sqlite/db/SimpleSQLiteQueryTest.kt
+++ b/sqlite/sqlite/src/test/java/androidx/sqlite/db/SimpleSQLiteQueryTest.kt
@@ -63,4 +63,4 @@
         val query = SimpleSQLiteQuery("foo", emptyArray())
         assertThat(query.argCount, `is`(0))
     }
-}
\ No newline at end of file
+}
diff --git a/sqlite/sqlite/src/test/java/androidx/sqlite/db/SupportSQLiteQueryBuilderTest.kt b/sqlite/sqlite/src/test/java/androidx/sqlite/db/SupportSQLiteQueryBuilderTest.kt
index 27d5773..cded7e6 100644
--- a/sqlite/sqlite/src/test/java/androidx/sqlite/db/SupportSQLiteQueryBuilderTest.kt
+++ b/sqlite/sqlite/src/test/java/androidx/sqlite/db/SupportSQLiteQueryBuilderTest.kt
@@ -74,4 +74,4 @@
             "SELECT country_published FROM Books WHERE country_published=USA"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlVariantExtension.kt b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlVariantExtension.kt
index c251087..b1fa5ce 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlVariantExtension.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlVariantExtension.kt
@@ -24,4 +24,4 @@
  */
 interface StableAidlVariantExtension : VariantExtension {
     val version: Property<Int>
-}
\ No newline at end of file
+}
diff --git a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/StableAidlProcessor.kt b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/StableAidlProcessor.kt
index 02b6bedb..d2bc042 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/StableAidlProcessor.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/tasks/StableAidlProcessor.kt
@@ -122,4 +122,4 @@
         }
     }
     FileUtils.delete(depFile)
-}
\ No newline at end of file
+}
diff --git a/stableaidl/stableaidl-gradle-plugin/src/test/java/androidx/stableaidl/internal/fixtures/FakeNoOpWorkAction.kt b/stableaidl/stableaidl-gradle-plugin/src/test/java/androidx/stableaidl/internal/fixtures/FakeNoOpWorkAction.kt
index 543e2dd..a7ba1e2 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/test/java/androidx/stableaidl/internal/fixtures/FakeNoOpWorkAction.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/test/java/androidx/stableaidl/internal/fixtures/FakeNoOpWorkAction.kt
@@ -24,4 +24,4 @@
     abstract val execOperations: ExecOperations
 
     abstract class Parameters : WorkParameters
-}
\ No newline at end of file
+}
diff --git a/startup/integration-tests/test-app/src/main/java/androidx/startup/testapp/SecondaryProvider.kt b/startup/integration-tests/test-app/src/main/java/androidx/startup/testapp/SecondaryProvider.kt
index 6059758..050fcaa 100644
--- a/startup/integration-tests/test-app/src/main/java/androidx/startup/testapp/SecondaryProvider.kt
+++ b/startup/integration-tests/test-app/src/main/java/androidx/startup/testapp/SecondaryProvider.kt
@@ -18,4 +18,4 @@
 
 import androidx.startup.InitializationProvider
 
-class SecondaryProvider : InitializationProvider()
\ No newline at end of file
+class SecondaryProvider : InitializationProvider()
diff --git a/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/GtestRunner.kt b/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/GtestRunner.kt
index 8856467..2540943 100644
--- a/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/GtestRunner.kt
+++ b/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/GtestRunner.kt
@@ -82,4 +82,4 @@
     private external fun initialize(className: String, description: Description)
     private external fun addTest(testName: String)
     private external fun run(className: String, notifier: RunNotifier): Boolean
-}
\ No newline at end of file
+}
diff --git a/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/TargetLibrary.kt b/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/TargetLibrary.kt
index db82d8c..85d2abd 100644
--- a/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/TargetLibrary.kt
+++ b/test/ext/junit-gtest/src/main/java/androidx/test/ext/junitgtest/TargetLibrary.kt
@@ -24,4 +24,4 @@
 @Retention(AnnotationRetention.RUNTIME)
 @Target(AnnotationTarget.CLASS)
 @Inherited
-annotation class TargetLibrary(val libraryName: String)
\ No newline at end of file
+annotation class TargetLibrary(val libraryName: String)
diff --git a/test/integration-tests/junit-gtest-test/src/androidTest/java/androidx/test/ext/junitgtesttest/GtestRunnerTest.kt b/test/integration-tests/junit-gtest-test/src/androidTest/java/androidx/test/ext/junitgtesttest/GtestRunnerTest.kt
index 2d694aa..4a53723 100644
--- a/test/integration-tests/junit-gtest-test/src/androidTest/java/androidx/test/ext/junitgtesttest/GtestRunnerTest.kt
+++ b/test/integration-tests/junit-gtest-test/src/androidTest/java/androidx/test/ext/junitgtesttest/GtestRunnerTest.kt
@@ -100,4 +100,4 @@
     @RunWith(GtestRunner::class)
     @TargetLibrary(libraryName = "apptest")
     class NativeTests
-}
\ No newline at end of file
+}
diff --git a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/MSSIMMatcherTest.kt b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/MSSIMMatcherTest.kt
index ff613a47..586e0e8 100644
--- a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/MSSIMMatcherTest.kt
+++ b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/MSSIMMatcherTest.kt
@@ -125,4 +125,4 @@
 
         assertThat(result).isWithin(0.001).of(0.921)
     }
-}
\ No newline at end of file
+}
diff --git a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/PixelPerfectMatcherTest.kt b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/PixelPerfectMatcherTest.kt
index e333c5e..0dd2e11 100644
--- a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/PixelPerfectMatcherTest.kt
+++ b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/PixelPerfectMatcherTest.kt
@@ -55,4 +55,4 @@
 
         assertThat(result.matches).isFalse()
     }
-}
\ No newline at end of file
+}
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 3dc6acb..5f34b54 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
@@ -163,4 +163,4 @@
 
         throw AssertionError("No AssertionError thrown!")
     }
-}
\ No newline at end of file
+}
diff --git a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/utils/BitmapUtils.kt b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/utils/BitmapUtils.kt
index 5c72dd5..b52d54e 100644
--- a/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/utils/BitmapUtils.kt
+++ b/test/screenshot/screenshot/src/androidTest/java/androidx/test/screenshot/utils/BitmapUtils.kt
@@ -25,4 +25,4 @@
     context.assets.open("$imageName.png").use {
         return BitmapFactory.decodeStream(it)
     }
-}
\ No newline at end of file
+}
diff --git a/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/matchers/PixelPerfectMatcher.kt b/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/matchers/PixelPerfectMatcher.kt
index c76ac48..e9c9e1e 100644
--- a/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/matchers/PixelPerfectMatcher.kt
+++ b/test/screenshot/screenshot/src/main/java/androidx/test/screenshot/matchers/PixelPerfectMatcher.kt
@@ -73,4 +73,4 @@
             Color.TRANSPARENT
         }
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-common/src/main/java/androidx/testutils/ParameterizedHelper.kt b/testutils/testutils-common/src/main/java/androidx/testutils/ParameterizedHelper.kt
index 270b30c..236b362 100644
--- a/testutils/testutils-common/src/main/java/androidx/testutils/ParameterizedHelper.kt
+++ b/testutils/testutils-common/src/main/java/androidx/testutils/ParameterizedHelper.kt
@@ -71,4 +71,4 @@
 
 internal fun List<Int>.product() = this.fold(1) { acc, elem -> acc * elem }
 
-internal data class RadixDigit(val radix: Int, val digit: Int)
\ No newline at end of file
+internal data class RadixDigit(val radix: Int, val digit: Int)
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 84705fc..fdfd10a 100644
--- a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/OkioTestIO.kt
+++ b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/OkioTestIO.kt
@@ -126,4 +126,4 @@
         fileSystem.write(path, mustCreate = true) { "" }
         return true
     }
-}
\ No newline at end of file
+}
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 021e629..2c7790e 100644
--- a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestIO.kt
+++ b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestIO.kt
@@ -83,4 +83,4 @@
             delete()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingOkioSerializer.kt b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingOkioSerializer.kt
index a9565b9..61fa156 100644
--- a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingOkioSerializer.kt
+++ b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingOkioSerializer.kt
@@ -61,4 +61,4 @@
 
     override val defaultValue: Byte
         get() = config.defaultValue
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingSerializerConfig.kt b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingSerializerConfig.kt
index cb4a264..8186ad9 100644
--- a/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingSerializerConfig.kt
+++ b/testutils/testutils-datastore/src/commonMain/kotlin/androidx/datastore/TestingSerializerConfig.kt
@@ -27,4 +27,4 @@
     // TestSerializer uses the values from this list in sequence first before it always uses the
     // value of failReadWithCorruptionException.
     @Volatile var listOfFailReadWithCorruptionException: List<Boolean> = listOf(),
-)
\ No newline at end of file
+)
diff --git a/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/FileTestIO.kt b/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/FileTestIO.kt
index 8345eee..3257267 100644
--- a/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/FileTestIO.kt
+++ b/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/FileTestIO.kt
@@ -122,4 +122,4 @@
 
 fun File.toJavaFile(): JavaIOFile {
     return JavaIOFile(this)
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/TestingSerializer.kt b/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/TestingSerializer.kt
index ab60f1f..007d973 100644
--- a/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/TestingSerializer.kt
+++ b/testutils/testutils-datastore/src/jvmMain/kotlin/androidx/datastore/TestingSerializer.kt
@@ -59,4 +59,4 @@
 
     override val defaultValue: Byte
         get() = config.defaultValue
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/MainDispatcherRule.kt b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/MainDispatcherRule.kt
index c842f46..74ad455 100644
--- a/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/MainDispatcherRule.kt
+++ b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/MainDispatcherRule.kt
@@ -37,4 +37,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt
index 258a218..52beb96 100644
--- a/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt
+++ b/testutils/testutils-ktx/src/jvmMain/kotlin/androidx/testutils/VerifyWithPolling.kt
@@ -36,4 +36,4 @@
         }
     }
     return totalDurationMs
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-macrobenchmark/src/main/java/androidx/testutils/MacrobenchUtils.kt b/testutils/testutils-macrobenchmark/src/main/java/androidx/testutils/MacrobenchUtils.kt
index 5af1c28..0bc25f4 100644
--- a/testutils/testutils-macrobenchmark/src/main/java/androidx/testutils/MacrobenchUtils.kt
+++ b/testutils/testutils-macrobenchmark/src/main/java/androidx/testutils/MacrobenchUtils.kt
@@ -142,4 +142,4 @@
             add(arrayOf(compilationMode))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-mockito/src/main/java/androidx/testutils/mockito/MockitoUtils.kt b/testutils/testutils-mockito/src/main/java/androidx/testutils/mockito/MockitoUtils.kt
index cf2edd5..648f6f8 100644
--- a/testutils/testutils-mockito/src/main/java/androidx/testutils/mockito/MockitoUtils.kt
+++ b/testutils/testutils-mockito/src/main/java/androidx/testutils/mockito/MockitoUtils.kt
@@ -86,4 +86,4 @@
  * [Mockito.mock] equivalent of [spyThrowOnUnmocked] which doesn't spy an existing instance.
  */
 inline fun <reified T> mockThrowOnUnmocked(block: T.() -> Unit = {}) =
-    spyThrowOnUnmocked(null, block)
\ No newline at end of file
+    spyThrowOnUnmocked(null, block)
diff --git a/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/LoadStateUtils.kt b/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/LoadStateUtils.kt
index 5f0c73c..22b4383 100644
--- a/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/LoadStateUtils.kt
+++ b/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/LoadStateUtils.kt
@@ -79,4 +79,4 @@
     refresh = refresh,
     prepend = prepend,
     append = append,
-)
\ No newline at end of file
+)
diff --git a/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingSource.kt b/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingSource.kt
index 809fef2..22cb6274 100644
--- a/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingSource.kt
+++ b/testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingSource.kt
@@ -103,4 +103,4 @@
         val ITEMS = List(100) { it }
         val LOAD_ERROR = Exception("Exception from TestPagingSource.errorNextLoad")
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-paging/src/jvmMain/kotlin/androidx/paging/LoadStateCapture.kt b/testutils/testutils-paging/src/jvmMain/kotlin/androidx/paging/LoadStateCapture.kt
index e893eaa4..b44d0bc 100644
--- a/testutils/testutils-paging/src/jvmMain/kotlin/androidx/paging/LoadStateCapture.kt
+++ b/testutils/testutils-paging/src/jvmMain/kotlin/androidx/paging/LoadStateCapture.kt
@@ -35,4 +35,4 @@
 data class LoadStateEvent(
     val loadType: LoadType,
     val loadState: LoadState,
-)
\ No newline at end of file
+)
diff --git a/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/AndroidXPaparazzi.kt b/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/AndroidXPaparazzi.kt
index 80325ec..510b7f2 100644
--- a/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/AndroidXPaparazzi.kt
+++ b/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/AndroidXPaparazzi.kt
@@ -76,4 +76,4 @@
     } else {
         "Paparazzi system properties not set. Please ensure $PLUGIN_NAME is applied to your build."
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/GoldenVerifier.kt b/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/GoldenVerifier.kt
index 32589d1..8282bd9d 100644
--- a/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/GoldenVerifier.kt
+++ b/testutils/testutils-paparazzi/src/main/kotlin/androidx/testutils/paparazzi/GoldenVerifier.kt
@@ -265,4 +265,4 @@
         /** Get a file name with special characters removed from a snapshot. */
         fun Snapshot.toFileName() = testName.toQualifiedName().replace(Regex("\\W+"), "_")
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/GoldenVerifierTest.kt b/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/GoldenVerifierTest.kt
index 0a99763..aee8a81 100644
--- a/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/GoldenVerifierTest.kt
+++ b/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/GoldenVerifierTest.kt
@@ -324,4 +324,4 @@
     /** Load a test image from resources. */
     private fun loadTestImage(name: String) =
         ImageIO.read(javaClass.getResourceAsStream("$name.png")!!)
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/ImageDifferTest.kt b/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/ImageDifferTest.kt
index 2678c0a..8b67607 100644
--- a/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/ImageDifferTest.kt
+++ b/testutils/testutils-paparazzi/src/test/kotlin/androidx/testutils/paparazzi/ImageDifferTest.kt
@@ -51,4 +51,4 @@
 
     private fun loadTestImage(name: String) =
         ImageIO.read(javaClass.getResourceAsStream("$name.png")!!)
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/ActivityScenarioRulePersist.kt b/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/ActivityScenarioRulePersist.kt
index 35727fc..5f98691 100644
--- a/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/ActivityScenarioRulePersist.kt
+++ b/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/ActivityScenarioRulePersist.kt
@@ -156,4 +156,4 @@
             text.text = "$index"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/TestActivity.kt b/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/TestActivity.kt
index 81334f8..0283a98 100644
--- a/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/TestActivity.kt
+++ b/testutils/testutils-runtime/src/androidTest/java/androidx/testutils/TestActivity.kt
@@ -56,4 +56,4 @@
     companion object {
         var resumes = 0
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt
index 7a7b6ef..8dc2fca 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenario.kt
@@ -55,4 +55,4 @@
     closeable.use {
         block(it)
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenarioResetRule.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenarioResetRule.kt
index ac423d0..853af45 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenarioResetRule.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/ActivityScenarioResetRule.kt
@@ -77,4 +77,4 @@
         // to be left up, dialog left open, etc., so we can validate that hasn't happened here.
         super.after()
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/AndroidFontScaleHelper.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/AndroidFontScaleHelper.kt
index 3b675bd..d57f2f6 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/AndroidFontScaleHelper.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/AndroidFontScaleHelper.kt
@@ -123,4 +123,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationDurationScaleRule.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationDurationScaleRule.kt
index 6934b76..650354c 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationDurationScaleRule.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/AnimationDurationScaleRule.kt
@@ -117,4 +117,4 @@
     override fun finished(description: Description) {
         resetAnimationDuration()
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/LocaleTestUtils.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/LocaleTestUtils.kt
index 7c03079..0e5bc52 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/LocaleTestUtils.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/LocaleTestUtils.kt
@@ -210,4 +210,4 @@
         resources.updateConfiguration(newConfig, resources.displayMetrics)
         return savedLocales
     }
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/ResettableActivityScenarioRule.kt b/testutils/testutils-runtime/src/main/java/androidx/testutils/ResettableActivityScenarioRule.kt
index 59a2282..99f517a 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/ResettableActivityScenarioRule.kt
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/ResettableActivityScenarioRule.kt
@@ -127,4 +127,4 @@
     initialTouchMode: Boolean = false
 ): ResettableActivityScenarioRule<A> where A : Activity, A : Resettable {
     return ResettableActivityScenarioRule(A::class.java, initialTouchMode)
-}
\ No newline at end of file
+}
diff --git a/testutils/testutils-truth/src/main/java/androidx/testutils/assertions.kt b/testutils/testutils-truth/src/main/java/androidx/testutils/assertions.kt
index 1dfc738..cd1a9da 100644
--- a/testutils/testutils-truth/src/main/java/androidx/testutils/assertions.kt
+++ b/testutils/testutils-truth/src/main/java/androidx/testutils/assertions.kt
@@ -64,4 +64,4 @@
     throw AssertionError(
         "Body completed successfully. Expected ${expectedType.simpleName}"
     )
-}
\ No newline at end of file
+}
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 f517604..edfa36a 100644
--- a/testutils/testutils-truth/src/test/java/androidx/testutils/AssertionsTest.kt
+++ b/testutils/testutils-truth/src/test/java/androidx/testutils/AssertionsTest.kt
@@ -52,4 +52,4 @@
             throw IOException("test123")
         }.hasMessageThat().contains("test123")
     }
-}
\ No newline at end of file
+}
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 cfae5f2..ace46c6 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
@@ -243,4 +243,4 @@
         // EllipsisCount should be 0 indicating ellipsize is null.
         assertThat(boringLayout.getEllipsisCount(0)).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
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 edef78c..791c20e 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
@@ -207,4 +207,4 @@
             alignment = alignment
         )
     }
-}
\ No newline at end of file
+}
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 21af3cf..12de37f 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
@@ -135,4 +135,4 @@
                 .isEqualTo(i + 1)
         }
     }
-}
\ No newline at end of file
+}
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 212c5e4..8cfbc5d 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
@@ -278,4 +278,4 @@
             secondaryDownstream = value
         )
     }
-}
\ No newline at end of file
+}
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 4108cbf..f9f7351 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
@@ -976,4 +976,4 @@
         // If insert RX to second line, it will be |RX L3 L4 SP R4 R3| (SP)
         assertThat(layout.getDownstreamSecondaryHorizontalPosition(offset)).isEqualTo(0)
     }
-}
\ No newline at end of file
+}
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 4c53a41..97c63dd2 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
@@ -157,4 +157,4 @@
         assertThat(layoutHelper.isRtlParagraph(1)).isFalse()
         assertThat(layoutHelper.isRtlParagraph(2)).isTrue()
     }
-}
\ No newline at end of file
+}
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 3e47f8f..d39f2c0 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
@@ -74,4 +74,4 @@
             ).boringMetrics
         ).isNull()
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt
index f6cc407..95480d7 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt
@@ -236,4 +236,4 @@
 
         assertThat(bounds.width()).isEqualTo((12 * fontSize).toInt())
     }
-}
\ No newline at end of file
+}
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 ae9f92f..24c302f 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
@@ -127,4 +127,4 @@
             assertThat(it).isEqualTo(listOf(0, 2, 4))
         }
     }
-}
\ No newline at end of file
+}
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 6324d42..cc2fca4 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
@@ -606,4 +606,4 @@
         textSize = width
         typeface = sampleFont
     }
-}
\ No newline at end of file
+}
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 fb80db9..6fecaa9 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
@@ -37,4 +37,4 @@
         assertThat(textCanvas.getClipBounds(rect)).isTrue()
         assertThat(rect.height()).isEqualTo(Int.MAX_VALUE)
     }
-}
\ No newline at end of file
+}
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 0af5ddc..3bfbf14 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
@@ -380,4 +380,4 @@
             alignment = alignment
         )
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt
index 009740b..8c7f0d7 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt
@@ -176,4 +176,4 @@
         )
         setSpan(span, start, end)
     }
-}
\ No newline at end of file
+}
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 26f1373..19ae69d 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
@@ -123,4 +123,4 @@
             maxLines = maxLines
         )
     }
-}
\ No newline at end of file
+}
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 9945d9a..91dc01a 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
@@ -243,4 +243,4 @@
         }
         return textPaint
     }
-}
\ No newline at end of file
+}
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 945d772..fa226c1 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
@@ -447,4 +447,4 @@
             this.textSize = fontSize
         }
     }
-}
\ No newline at end of file
+}
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 9c9b2ad..7ff2ae8 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
@@ -1581,4 +1581,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 a7794c2..07c72d9 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
@@ -257,4 +257,4 @@
         assertThat(wordBoundary.getWordEnd(text.indexOf('d'))).isEqualTo(text.length)
         assertThat(wordBoundary.getWordEnd(text.length)).isEqualTo(text.length)
     }
-}
\ No newline at end of file
+}
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 c18022b..cd76c68 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
@@ -585,4 +585,4 @@
                 .isEqualTo(BreakIterator.DONE)
         }
     }
-}
\ No newline at end of file
+}
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 03d1202..9b26a45 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
@@ -48,4 +48,4 @@
         span.updateDrawState(textPaint)
         Truth.assertThat(textPaint.fontFeatureSettings).isEqualTo(fontFeatureSettings)
     }
-}
\ No newline at end of file
+}
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 5cfe34d..29f660e 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
@@ -44,4 +44,4 @@
         span.updateMeasureState(paint)
         Truth.assertThat(paint.letterSpacing).isEqualTo(letterSpacing)
     }
-}
\ No newline at end of file
+}
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 bd98830..88f3c6e 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
@@ -103,4 +103,4 @@
 
         verify(textPaint, never()).letterSpacing = any()
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LineHeightStyleSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LineHeightStyleSpanTest.kt
index 3509ecd..5a853d4 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LineHeightStyleSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/LineHeightStyleSpanTest.kt
@@ -975,4 +975,4 @@
         lineHeight = 0,
         fontMetricsInt = fontMetricsInt
     )
-}
\ No newline at end of file
+}
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 9069271..a85cb18 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
@@ -549,4 +549,4 @@
         )
         placeholderSpan.heightPx
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt
index 8b3e1b6..97a9006 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt
@@ -39,4 +39,4 @@
         Mockito.verify(textPaint, Mockito.times(1))
             .setShadowLayer(radius, offsetX, offsetY, color)
     }
-}
\ No newline at end of file
+}
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 3d8eb63..2eeeb1e 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
@@ -45,4 +45,4 @@
         span.updateDrawState(paint)
         Truth.assertThat(paint.textSkewX).isEqualTo(skewX)
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt
index ce39620..50d794c 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt
@@ -46,4 +46,4 @@
         span.updateMeasureState(paint)
         Truth.assertThat(paint.typeface).isSameInstanceAs(typeface)
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt b/text/text/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt
index ccb66d0..b8e853a 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt
@@ -221,4 +221,4 @@
             ellipsizedWidth
         )
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt b/text/text/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt
index 942c5fd..a46277c 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt
@@ -179,4 +179,4 @@
             throw InternalError()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt b/text/text/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt
index 5f975123..a544798 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt
@@ -26,4 +26,4 @@
     AnnotationTarget.PROPERTY
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class InternalPlatformTextApi
\ No newline at end of file
+annotation class InternalPlatformTextApi
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt b/text/text/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt
index fc177b9..af1f1e6 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt
@@ -191,4 +191,4 @@
     } else { // lineEnd == offset
         if (upstream) downstreamLineNo else downstreamLineNo + 1
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt b/text/text/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt
index 4deeab9..1a1e7c0 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt
@@ -399,4 +399,4 @@
     @Suppress("ConvertTwoComparisonsToRangeCheck")
     fun isLineEndSpace(c: Char) = c == ' ' || c == '\n' || c == '\u1680' ||
         (c >= '\u2000' && c <= '\u200A' && c != '\u2007') || c == '\u205F' || c == '\u3000'
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt b/text/text/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt
index c26ca204..6fcea24 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt
@@ -168,4 +168,4 @@
             charSequence.hasSpan(LetterSpacingSpanPx::class.java) ||
             charSequence.hasSpan(LetterSpacingSpanEm::class.java)
         ) || textPaint.letterSpacing != 0f)
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/PaintExtensions.kt b/text/text/src/main/java/androidx/compose/ui/text/android/PaintExtensions.kt
index b9b6058..3f06de6 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/PaintExtensions.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/PaintExtensions.kt
@@ -107,4 +107,4 @@
     fun getTextBounds(paint: Paint, text: CharSequence, start: Int, end: Int, rect: Rect) {
         paint.getTextBounds(text, start, end, rect)
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/SpannedExtensions.kt b/text/text/src/main/java/androidx/compose/ui/text/android/SpannedExtensions.kt
index ef96909..563aec5 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/SpannedExtensions.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/SpannedExtensions.kt
@@ -24,4 +24,4 @@
 
 internal fun Spanned.hasSpan(clazz: Class<*>, startInclusive: Int, endExclusive: Int): Boolean {
     return nextSpanTransition(startInclusive - 1, endExclusive /* limit */, clazz) != endExclusive
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/TextAndroidCanvas.kt b/text/text/src/main/java/androidx/compose/ui/text/android/TextAndroidCanvas.kt
index 3221ae7..6b770d3 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/TextAndroidCanvas.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/TextAndroidCanvas.kt
@@ -735,4 +735,4 @@
     override fun drawRenderNode(renderNode: RenderNode) {
         nativeCanvas.drawRenderNode(renderNode)
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt b/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt
index 4d24152..95fe44e 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt
@@ -309,4 +309,4 @@
         }
         return res
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt b/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt
index eac7729..afad1e9 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt
@@ -52,4 +52,4 @@
      * Break text with character (grapheme) boundary.
      */
     Character
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt b/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt
index 877adc2..4ebf2b4 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt
@@ -86,4 +86,4 @@
             offset
         } else retOffset
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt b/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt
index ba93cec..d0c7471 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt
@@ -299,4 +299,4 @@
                 type == Character.START_PUNCTUATION.toInt()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/IndentationFixSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/IndentationFixSpan.kt
index e90ec5b..e8441ad 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/IndentationFixSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/IndentationFixSpan.kt
@@ -131,4 +131,4 @@
     return 0f
 }
 
-private const val EllipsisChar = "\u2026"
\ No newline at end of file
+private const val EllipsisChar = "\u2026"
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt
index 9e149f3..20c10b4 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt
@@ -33,4 +33,4 @@
     override fun updateMeasureState(textPaint: TextPaint) {
         textPaint.letterSpacing = letterSpacing
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt
index 8c074a2..6637b34 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt
@@ -28,4 +28,4 @@
     override fun updateMeasureState(textPaint: TextPaint) {
         textPaint.updatePaint()
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt
index 9e0c6e7..76ed455 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt
@@ -53,4 +53,4 @@
         fontMetricsInt.descent = ceil(fontMetricsInt.descent * ratio.toDouble()).toInt()
         fontMetricsInt.ascent = fontMetricsInt.descent - ceiledLineHeight
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightStyleSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightStyleSpan.kt
index 9f61a01..5cb33c1 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightStyleSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/LineHeightStyleSpan.kt
@@ -142,4 +142,4 @@
     )
 }
 
-internal fun FontMetricsInt.lineHeight(): Int = this.descent - this.ascent
\ No newline at end of file
+internal fun FontMetricsInt.lineHeight(): Int = this.descent - this.ascent
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt
index c29e527..79ca207 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt
@@ -34,4 +34,4 @@
     override fun updateDrawState(tp: TextPaint) {
         tp.setShadowLayer(radius, offsetX, offsetY, color)
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt
index 983b4c7..108d90f 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt
@@ -34,4 +34,4 @@
     override fun updateMeasureState(textPaint: TextPaint) {
         textPaint.textSkewX = skewX + textPaint.textSkewX
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/TextDecorationSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/TextDecorationSpan.kt
index aadc1a1..528bece7 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/TextDecorationSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/TextDecorationSpan.kt
@@ -36,4 +36,4 @@
         textPaint.isUnderlineText = isUnderlineText
         textPaint.isStrikeThruText = isStrikethroughText
     }
-}
\ No newline at end of file
+}
diff --git a/text/text/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt b/text/text/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt
index 05002a6..7e7398d 100644
--- a/text/text/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt
+++ b/text/text/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt
@@ -44,4 +44,4 @@
     private fun updateTypeface(paint: Paint) {
         paint.typeface = typeface
     }
-}
\ No newline at end of file
+}
diff --git a/tracing/tracing-perfetto-handshake/src/main/java/androidx/tracing/perfetto/handshake/PerfettoSdkSideloader.kt b/tracing/tracing-perfetto-handshake/src/main/java/androidx/tracing/perfetto/handshake/PerfettoSdkSideloader.kt
index df50de5..c6d9dd6 100644
--- a/tracing/tracing-perfetto-handshake/src/main/java/androidx/tracing/perfetto/handshake/PerfettoSdkSideloader.kt
+++ b/tracing/tracing-perfetto-handshake/src/main/java/androidx/tracing/perfetto/handshake/PerfettoSdkSideloader.kt
@@ -110,4 +110,4 @@
 
 internal typealias FileMover = (srcFile: File, dstFile: File) -> Unit
 
-internal typealias ShellCommandExecutor = (command: String) -> String
\ No newline at end of file
+internal typealias ShellCommandExecutor = (command: String) -> String
diff --git a/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/StartupTracingConfig.kt b/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/StartupTracingConfig.kt
index 448ba1b..e83611c 100644
--- a/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/StartupTracingConfig.kt
+++ b/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/StartupTracingConfig.kt
@@ -74,4 +74,4 @@
     fun clear(packageName: String) {
         startupConfigFileForPackageName(packageName).delete()
     }
-}
\ No newline at end of file
+}
diff --git a/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/security/SafeLibLoader.kt b/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/security/SafeLibLoader.kt
index 9307d91..dd18fde 100644
--- a/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/security/SafeLibLoader.kt
+++ b/tracing/tracing-perfetto/src/main/java/androidx/tracing/perfetto/security/SafeLibLoader.kt
@@ -99,4 +99,4 @@
 }
 
 internal class MissingChecksumException(message: String) : NoSuchElementException(message)
-internal class IncorrectChecksumException(message: String) : SecurityException(message)
\ No newline at end of file
+internal class IncorrectChecksumException(message: String) : SecurityException(message)
diff --git a/tracing/tracing-perfetto/src/test/java/androidx/tracing/perfetto/ChecksumTest.kt b/tracing/tracing-perfetto/src/test/java/androidx/tracing/perfetto/ChecksumTest.kt
index e88236b2..ec6ea23 100644
--- a/tracing/tracing-perfetto/src/test/java/androidx/tracing/perfetto/ChecksumTest.kt
+++ b/tracing/tracing-perfetto/src/test/java/androidx/tracing/perfetto/ChecksumTest.kt
@@ -73,4 +73,4 @@
             .digest()
             .joinToString(separator = "") { "%02x".format(it) }
             .also { assertThat(it).matches("[0-9a-f]{64}") }
-}
\ No newline at end of file
+}
diff --git a/transition/transition/src/androidTest/java/androidx/transition/AlwaysTransition.kt b/transition/transition/src/androidTest/java/androidx/transition/AlwaysTransition.kt
index 0ac5f03..ab024fb 100644
--- a/transition/transition/src/androidTest/java/androidx/transition/AlwaysTransition.kt
+++ b/transition/transition/src/androidTest/java/androidx/transition/AlwaysTransition.kt
@@ -43,4 +43,4 @@
         private const val Key = "alwaysChanging"
         private var AlwaysChangingValue = 0
     }
-}
\ No newline at end of file
+}
diff --git a/transition/transition/src/androidTest/java/androidx/transition/EpicenterTest.kt b/transition/transition/src/androidTest/java/androidx/transition/EpicenterTest.kt
index 6e48dbf..4f76f11 100644
--- a/transition/transition/src/androidTest/java/androidx/transition/EpicenterTest.kt
+++ b/transition/transition/src/androidTest/java/androidx/transition/EpicenterTest.kt
@@ -104,4 +104,4 @@
         }
         return view
     }
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/macrobenchmark/src/main/java/androidx/tv/integration/macrobenchmark/ExampleStartupBenchmark.kt b/tv/integration-tests/macrobenchmark/src/main/java/androidx/tv/integration/macrobenchmark/ExampleStartupBenchmark.kt
index e67d91d..821b725 100644
--- a/tv/integration-tests/macrobenchmark/src/main/java/androidx/tv/integration/macrobenchmark/ExampleStartupBenchmark.kt
+++ b/tv/integration-tests/macrobenchmark/src/main/java/androidx/tv/integration/macrobenchmark/ExampleStartupBenchmark.kt
@@ -35,4 +35,4 @@
         pressHome()
         startActivityAndWait()
     }
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/Card.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/Card.kt
index 332cf06..1e4581d 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/Card.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/Card.kt
@@ -39,4 +39,4 @@
             .drawBorderOnFocus()
             .clickable { }
     )
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/FeaturedCarousel.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/FeaturedCarousel.kt
index 69c9d80..c8953f1 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/FeaturedCarousel.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/FeaturedCarousel.kt
@@ -249,4 +249,4 @@
     val focusRequester = remember { FocusRequester() }
     return focusRequester(focusRequester)
         .onFirstGainingVisibility { focusRequester.requestFocus() }
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/MainActivity.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/MainActivity.kt
index 1c8fc89..7a24ee4 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/MainActivity.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/MainActivity.kt
@@ -27,4 +27,4 @@
             App()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/StickyHeader.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/StickyHeader.kt
index f1af42e..8d38af4 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/StickyHeader.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/StickyHeader.kt
@@ -144,4 +144,4 @@
 private fun buildActivities(
     count: Int = 10,
     buildActivity: (index: Int) -> String = { "Activity $it" }
-): List<String> = (0..count).map(buildActivity)
\ No newline at end of file
+): List<String> = (0..count).map(buildActivity)
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/TextField.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/TextField.kt
index d359b88..03ae1e9 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/TextField.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/TextField.kt
@@ -104,4 +104,4 @@
             .drawBorderOnFocus()
             .focusable()
     )
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/ifElse.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/ifElse.kt
index eaeee61..775f512 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/ifElse.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/ifElse.kt
@@ -31,4 +31,4 @@
     condition: Boolean,
     ifTrueModifier: Modifier,
     ifFalseModifier: Modifier = Modifier
-): Modifier = ifElse({ condition }, ifTrueModifier, ifFalseModifier)
\ No newline at end of file
+): Modifier = ifElse({ condition }, ifTrueModifier, ifFalseModifier)
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/AppLazyRow.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/AppLazyRow.kt
index 163dd14..902258f 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/AppLazyRow.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/AppLazyRow.kt
@@ -71,4 +71,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/BringIntoViewIfChildrenAreFocused.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/BringIntoViewIfChildrenAreFocused.kt
index 2ad15c7..f445bff 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/BringIntoViewIfChildrenAreFocused.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/BringIntoViewIfChildrenAreFocused.kt
@@ -52,4 +52,4 @@
                 }
             )
     }
-)
\ No newline at end of file
+)
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ExternalLibs.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ExternalLibs.kt
index 4a497f2..f8228db 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ExternalLibs.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ExternalLibs.kt
@@ -49,4 +49,4 @@
 //        modifier = modifier,
 //        contentDescription = contentDescription
 //    )
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/MainActivity.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/MainActivity.kt
index 83c3ad1..3e47b32 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/MainActivity.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/MainActivity.kt
@@ -34,4 +34,4 @@
             App()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ifElse.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ifElse.kt
index 4a29855..b268c3d 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ifElse.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/ifElse.kt
@@ -31,4 +31,4 @@
     condition: Boolean,
     ifTrueModifier: Modifier,
     ifFalseModifier: Modifier = Modifier
-): Modifier = ifElse({ condition }, ifTrueModifier, ifFalseModifier)
\ No newline at end of file
+): Modifier = ifElse({ condition }, ifTrueModifier, ifFalseModifier)
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/readAssetsFile.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/readAssetsFile.kt
index 18708dd..3fa6028 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/readAssetsFile.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/readAssetsFile.kt
@@ -19,4 +19,4 @@
 import android.content.res.AssetManager
 
 fun AssetManager.readAssetsFile(fileName: String): String =
-    open(fileName).bufferedReader().use { it.readText() }
\ No newline at end of file
+    open(fileName).bufferedReader().use { it.readText() }
diff --git a/tv/samples/src/main/java/androidx/tv/samples/CardSamples.kt b/tv/samples/src/main/java/androidx/tv/samples/CardSamples.kt
index ae8440b..6cf206a 100644
--- a/tv/samples/src/main/java/androidx/tv/samples/CardSamples.kt
+++ b/tv/samples/src/main/java/androidx/tv/samples/CardSamples.kt
@@ -121,4 +121,4 @@
         contentPadding = PaddingValues(8.dp),
         onClick = { }
     )
-}
\ No newline at end of file
+}
diff --git a/tv/samples/src/main/java/androidx/tv/samples/CheckboxSamples.kt b/tv/samples/src/main/java/androidx/tv/samples/CheckboxSamples.kt
index f6af570..7c85e6e 100644
--- a/tv/samples/src/main/java/androidx/tv/samples/CheckboxSamples.kt
+++ b/tv/samples/src/main/java/androidx/tv/samples/CheckboxSamples.kt
@@ -27,4 +27,4 @@
 @Composable
 fun CheckboxSample() {
     Checkbox(checked = true, onCheckedChange = { })
-}
\ No newline at end of file
+}
diff --git a/tv/samples/src/main/java/androidx/tv/samples/ImmersiveListSamples.kt b/tv/samples/src/main/java/androidx/tv/samples/ImmersiveListSamples.kt
index 9654fd7..fdbb7ae 100644
--- a/tv/samples/src/main/java/androidx/tv/samples/ImmersiveListSamples.kt
+++ b/tv/samples/src/main/java/androidx/tv/samples/ImmersiveListSamples.kt
@@ -85,4 +85,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/samples/src/main/java/androidx/tv/samples/RadioButtonSamples.kt b/tv/samples/src/main/java/androidx/tv/samples/RadioButtonSamples.kt
index e9896b5..1e7c58a 100644
--- a/tv/samples/src/main/java/androidx/tv/samples/RadioButtonSamples.kt
+++ b/tv/samples/src/main/java/androidx/tv/samples/RadioButtonSamples.kt
@@ -27,4 +27,4 @@
 @Composable
 fun RadioButtonSample() {
     RadioButton(selected = true, onClick = {})
-}
\ No newline at end of file
+}
diff --git a/tv/samples/src/main/java/androidx/tv/samples/SwitchSamples.kt b/tv/samples/src/main/java/androidx/tv/samples/SwitchSamples.kt
index 2e6b5da..58598bb 100644
--- a/tv/samples/src/main/java/androidx/tv/samples/SwitchSamples.kt
+++ b/tv/samples/src/main/java/androidx/tv/samples/SwitchSamples.kt
@@ -27,4 +27,4 @@
 @Composable
 fun SwitchSample() {
     Switch(checked = true, onCheckedChange = { })
-}
\ No newline at end of file
+}
diff --git a/tv/samples/src/main/java/androidx/tv/samples/WideButtonSamples.kt b/tv/samples/src/main/java/androidx/tv/samples/WideButtonSamples.kt
index 46e2f94..3adf9e3 100644
--- a/tv/samples/src/main/java/androidx/tv/samples/WideButtonSamples.kt
+++ b/tv/samples/src/main/java/androidx/tv/samples/WideButtonSamples.kt
@@ -74,4 +74,4 @@
             )
         }
     )
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/AutoTestFrameClock.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/AutoTestFrameClock.kt
index ced2983..11dec8c 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/AutoTestFrameClock.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/AutoTestFrameClock.kt
@@ -25,4 +25,4 @@
     override suspend fun <R> withFrameNanos(onFrame: (frameTimeNanos: Long) -> R): R {
         return onFrame(time.getAndAdd(16_000_000))
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt
index 8c90559..c059498 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/BaseLazyGridTestWithOrientation.kt
@@ -244,4 +244,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridSpanTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridSpanTest.kt
index 94d404a..27a357f 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridSpanTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridSpanTest.kt
@@ -298,4 +298,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridTest.kt
index e320788..618df1e 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/grid/LazyGridTest.kt
@@ -1101,4 +1101,4 @@
     repeat(numberOfPresses) {
         InstrumentationRegistry.getInstrumentation().sendKeyDownUpSync(keyCode)
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/BaseLazyListTestWithOrientation.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/BaseLazyListTestWithOrientation.kt
index 146be7a..63321b9 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/BaseLazyListTestWithOrientation.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/BaseLazyListTestWithOrientation.kt
@@ -228,4 +228,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 f26d36e..89932b7 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
@@ -483,4 +483,4 @@
         Offset(-inflate, -inflate),
         Size(size.width + inflate * 2, size.height + inflate * 2)
     )
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyCustomKeysTest.kt b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyCustomKeysTest.kt
index b3c8a3b..8f2d1ac 100644
--- a/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyCustomKeysTest.kt
+++ b/tv/tv-foundation/src/androidTest/java/androidx/tv/foundation/lazy/list/LazyCustomKeysTest.kt
@@ -488,4 +488,4 @@
     private class MyClass(val id: Int)
 }
 
-val TvLazyListState.visibleKeys: List<Any> get() = layoutInfo.visibleItemsInfo.map { it.key }
\ No newline at end of file
+val TvLazyListState.visibleKeys: List<Any> get() = layoutInfo.visibleItemsInfo.map { it.key }
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridItemProvider.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridItemProvider.kt
index c310814..8e23cfe 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridItemProvider.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridItemProvider.kt
@@ -96,4 +96,4 @@
 /**
  * The minimum amount of items near the current first visible item we want to have mapping for.
  */
-private const val NearestItemsExtraItemCount = 200
\ No newline at end of file
+private const val NearestItemsExtraItemCount = 200
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridMeasure.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridMeasure.kt
index d3863fd..35556ec 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridMeasure.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridMeasure.kt
@@ -442,4 +442,4 @@
         layoutHeight = layoutHeight,
         row = 0,
         column = 0
-    )
\ No newline at end of file
+    )
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt
index 4840bcf..bbe289a 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/LazyGridSpanLayoutProvider.kt
@@ -243,4 +243,4 @@
         override var maxCurrentLineSpan = 0
         override var maxLineSpan = 0
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridItemScope.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridItemScope.kt
index 5fae2451..7d277d1 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridItemScope.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridItemScope.kt
@@ -48,4 +48,4 @@
             visibilityThreshold = IntOffset.VisibilityThreshold
         )
     ): Modifier
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridScopeImpl.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridScopeImpl.kt
index fb5c3d4..06e746f 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridScopeImpl.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/grid/TvLazyGridScopeImpl.kt
@@ -84,4 +84,4 @@
     val span: TvLazyGridItemSpanScope.(Int) -> TvGridItemSpan,
     override val type: ((index: Int) -> Any?),
     val item: @Composable TvLazyGridItemScope.(Int) -> Unit
-) : LazyLayoutIntervalContent.Interval
\ No newline at end of file
+) : LazyLayoutIntervalContent.Interval
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyAnimateScroll.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyAnimateScroll.kt
index e40f926..7cbfbbe 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyAnimateScroll.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyAnimateScroll.kt
@@ -261,4 +261,4 @@
             snapToItem(index = index, scrollOffset = scrollOffset)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutKeyIndexMap.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutKeyIndexMap.kt
index b46e090..4e92dc5 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutKeyIndexMap.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutKeyIndexMap.kt
@@ -150,4 +150,4 @@
     val start = maxOf(slidingWindowStart - extraItemCount, 0)
     val end = slidingWindowStart + slidingWindowSize + extraItemCount
     return start until end
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutSemanticState.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutSemanticState.kt
index fad4aa6..90374c3 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutSemanticState.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/layout/LazyLayoutSemanticState.kt
@@ -44,4 +44,4 @@
         } else {
             CollectionInfo(rowCount = 1, columnCount = -1)
         }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListAnimateScrollScope.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListAnimateScrollScope.kt
index 1bdb3c2..7544e90 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListAnimateScrollScope.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListAnimateScrollScope.kt
@@ -62,4 +62,4 @@
     override suspend fun scroll(block: suspend ScrollScope.() -> Unit) {
         state.scroll(block = block)
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemProvider.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemProvider.kt
index d50cd62..613ce8f 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemProvider.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazyListItemProvider.kt
@@ -100,4 +100,4 @@
 /**
  * The minimum amount of items near the current first visible item we want to have mapping for.
  */
-private const val NearestItemsExtraItemCount = 100
\ No newline at end of file
+private const val NearestItemsExtraItemCount = 100
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazySemantics.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazySemantics.kt
index fb8cb87..1e54faf 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazySemantics.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/LazySemantics.kt
@@ -32,4 +32,4 @@
     return remember(state, isVertical) {
         LazyLayoutSemanticState(state = state, isVertical = isVertical)
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/TvLazyListScopeMarker.kt b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/TvLazyListScopeMarker.kt
index 4931977..3ef6074 100644
--- a/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/TvLazyListScopeMarker.kt
+++ b/tv/tv-foundation/src/main/java/androidx/tv/foundation/lazy/list/TvLazyListScopeMarker.kt
@@ -20,4 +20,4 @@
  * DSL marker used to distinguish between lazy layout scope and the item scope.
  */
 @DslMarker
-annotation class TvLazyListScopeMarker
\ No newline at end of file
+annotation class TvLazyListScopeMarker
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutScreenshotTest.kt
index 4b6c210..91f5f73 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutScreenshotTest.kt
@@ -272,4 +272,4 @@
     }
 }
 
-private const val CardLayoutWrapperTag = "card_layout_wrapper"
\ No newline at end of file
+private const val CardLayoutWrapperTag = "card_layout_wrapper"
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutTest.kt
index 9002b60..af861d3 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardLayoutTest.kt
@@ -196,4 +196,4 @@
 private const val StandardCardLayoutTag = "standard-card-layout"
 private const val WideCardLayoutTag = "wide-card-layout"
 
-private const val SampleImageTag = "sample-image"
\ No newline at end of file
+private const val SampleImageTag = "sample-image"
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardScreenshotTest.kt
index 1a7245c..f9976bb 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardScreenshotTest.kt
@@ -389,4 +389,4 @@
     }
 }
 
-private const val CardWrapperTag = "card_wrapper"
\ No newline at end of file
+private const val CardWrapperTag = "card_wrapper"
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardTest.kt
index 426cba7..c6ad231 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CardTest.kt
@@ -695,4 +695,4 @@
 private const val ClassicCardTag = "classic-card"
 private const val WideClassicCardTag = "wide-classic-card"
 
-private const val SampleImageTag = "sample-image"
\ No newline at end of file
+private const val SampleImageTag = "sample-image"
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CheckboxTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CheckboxTest.kt
index d83784a..e3f46b6 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/CheckboxTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/CheckboxTest.kt
@@ -161,4 +161,4 @@
             .assertHasNoClickAction()
             .assert(isFocusable()) // Check merged into parent
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/GoldenCommon.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/GoldenCommon.kt
index 49b8130..ebb26c0 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/GoldenCommon.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/GoldenCommon.kt
@@ -16,4 +16,4 @@
 
 package androidx.tv.material3
 
-internal const val TV_GOLDEN_MATERIAL3 = "tv/compose/material3"
\ No newline at end of file
+internal const val TV_GOLDEN_MATERIAL3 = "tv/compose/material3"
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
index a9a8160..78de274 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
@@ -420,4 +420,4 @@
     }
 }
 
-private const val ListItemWrapperTag = "listItem_wrapper"
\ No newline at end of file
+private const val ListItemWrapperTag = "listItem_wrapper"
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/NonInteractiveSurfaceScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/NonInteractiveSurfaceScreenshotTest.kt
index f317957..439bb98 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/NonInteractiveSurfaceScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/NonInteractiveSurfaceScreenshotTest.kt
@@ -176,4 +176,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonScreenshotTest.kt
index 1ee4b70..38ed4eb 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonScreenshotTest.kt
@@ -159,4 +159,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonTest.kt
index 75cd25b..9a8ab6a 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/RadioButtonTest.kt
@@ -215,4 +215,4 @@
         rule.onNodeWithTag(itemTwo)
             .assertHasUnSelectedSemantics()
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchScreenshotTest.kt
index dfa1fcf..2abf5d6 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchScreenshotTest.kt
@@ -270,4 +270,4 @@
             return name
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchTest.kt
index 8d2efaa..ce7b471 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/SwitchTest.kt
@@ -316,4 +316,4 @@
         rule.onNodeWithTag("1").assertIsOn()
         rule.onNodeWithTag("2").assertIsOff()
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/Border.kt b/tv/tv-material/src/main/java/androidx/tv/material3/Border.kt
index 4b43641..4c53191 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/Border.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/Border.kt
@@ -82,4 +82,4 @@
             shape = RectangleShape
         )
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/BringIntoViewIfChildrenAreFocused.kt b/tv/tv-material/src/main/java/androidx/tv/material3/BringIntoViewIfChildrenAreFocused.kt
index b973bb7..b34a3a9 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/BringIntoViewIfChildrenAreFocused.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/BringIntoViewIfChildrenAreFocused.kt
@@ -52,4 +52,4 @@
                 }
             )
     }
-)
\ No newline at end of file
+)
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/ExperimentalTvMaterial3Api.kt b/tv/tv-material/src/main/java/androidx/tv/material3/ExperimentalTvMaterial3Api.kt
index 006ab10..858d485 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/ExperimentalTvMaterial3Api.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/ExperimentalTvMaterial3Api.kt
@@ -20,4 +20,4 @@
     "This tv-material API is experimental and likely to change or be removed in the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalTvMaterial3Api
\ No newline at end of file
+annotation class ExperimentalTvMaterial3Api
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/KeyEventUtils.kt b/tv/tv-material/src/main/java/androidx/tv/material3/KeyEventUtils.kt
index d13b221..ab5958b 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/KeyEventUtils.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/KeyEventUtils.kt
@@ -30,4 +30,4 @@
 /**
  * Checks if the keyEventType is `KeyDown`
  */
-internal fun KeyEvent.isTypeKeyDown() = type == KeyDown
\ No newline at end of file
+internal fun KeyEvent.isTypeKeyDown() = type == KeyDown
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/SurfaceStyles.kt b/tv/tv-material/src/main/java/androidx/tv/material3/SurfaceStyles.kt
index e915cd0..9b4a343 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/SurfaceStyles.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/SurfaceStyles.kt
@@ -634,4 +634,4 @@
         return "NonInteractiveSurfaceColors(containerColor=$containerColor, " +
             "contentColor=$contentColor)"
     }
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/tokens/RadioButtonTokens.kt b/tv/tv-material/src/main/java/androidx/tv/material3/tokens/RadioButtonTokens.kt
index fab1c59..462dc33 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/tokens/RadioButtonTokens.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/tokens/RadioButtonTokens.kt
@@ -35,4 +35,4 @@
     val UnselectedHoverIconColor = ColorSchemeKeyTokens.OnSurface
     val UnselectedIconColor = ColorSchemeKeyTokens.OnSurfaceVariant
     val UnselectedPressedIconColor = ColorSchemeKeyTokens.OnSurface
-}
\ No newline at end of file
+}
diff --git a/tv/tv-material/src/main/java/androidx/tv/material3/tokens/SwitchTokens.kt b/tv/tv-material/src/main/java/androidx/tv/material3/tokens/SwitchTokens.kt
index bb29efd..f3875bb 100644
--- a/tv/tv-material/src/main/java/androidx/tv/material3/tokens/SwitchTokens.kt
+++ b/tv/tv-material/src/main/java/androidx/tv/material3/tokens/SwitchTokens.kt
@@ -78,4 +78,4 @@
     val UnselectedTrackOutlineColor = ColorSchemeKeyTokens.Border
     val IconHandleHeight = 18.0.dp
     val IconHandleWidth = 18.0.dp
-}
\ No newline at end of file
+}
diff --git a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/PreviewPagesTest.kt b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/PreviewPagesTest.kt
index 8d6e988..b76de97 100644
--- a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/PreviewPagesTest.kt
+++ b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/PreviewPagesTest.kt
@@ -78,4 +78,4 @@
             )
         )
     }
-}
\ No newline at end of file
+}
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 6884e9e..04267f3 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
@@ -111,4 +111,4 @@
     private fun isOne(f: Float): Boolean {
         return isZero(f - 1)
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/ViewPagerIdleWatcher.kt b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/ViewPagerIdleWatcher.kt
index 84c70cb..37a7cc8c 100644
--- a/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/ViewPagerIdleWatcher.kt
+++ b/viewpager2/integration-tests/testapp/src/androidTest/java/androidx/viewpager2/integration/testapp/test/util/ViewPagerIdleWatcher.kt
@@ -76,4 +76,4 @@
         viewPager.unregisterOnPageChangeCallback(this)
         IdlingRegistry.getInstance().unregister(counter)
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/FakeDragActivity.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/FakeDragActivity.kt
index b86e323..3024898 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/FakeDragActivity.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/FakeDragActivity.kt
@@ -85,4 +85,4 @@
         }
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/NestedScrollableHost.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/NestedScrollableHost.kt
index 819ffb4..0032567 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/NestedScrollableHost.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/NestedScrollableHost.kt
@@ -109,4 +109,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/OrientationController.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/OrientationController.kt
index 89d9a1e..cc724a5 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/OrientationController.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/OrientationController.kt
@@ -75,4 +75,4 @@
         private const val HORIZONTAL = "horizontal"
         private const val VERTICAL = "vertical"
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/UserInputController.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/UserInputController.kt
index eacc30f..d17509d 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/UserInputController.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/UserInputController.kt
@@ -26,4 +26,4 @@
             viewPager.isUserInputEnabled = !isDisabled
         }
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/test/ui/TouchConsumingTextView.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/test/ui/TouchConsumingTextView.kt
index 3372525a..86b9f34 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/test/ui/TouchConsumingTextView.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/test/ui/TouchConsumingTextView.kt
@@ -32,4 +32,4 @@
     override fun onTouchEvent(event: MotionEvent?): Boolean {
         return consumeTouches || super.onTouchEvent(event)
     }
-}
\ No newline at end of file
+}
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 f4df49a..2dfbb83 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/CanScrollTest.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/CanScrollTest.kt
@@ -182,4 +182,4 @@
         assertThat(viewPager.canScrollVertically(1), equalTo(expectScrollDown))
         assertThat(viewPager.canScrollVertically(-1), equalTo(expectScrollUp))
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/PageSwiperFakeDrag.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/PageSwiperFakeDrag.kt
index 9196a17..6c3ccb84 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/PageSwiperFakeDrag.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/PageSwiperFakeDrag.kt
@@ -153,4 +153,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/SelfChecking.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/SelfChecking.kt
index 59b4da7..60a013d 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/SelfChecking.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/SelfChecking.kt
@@ -19,4 +19,4 @@
 /** Interface for test elements that have internal validation logic */
 interface SelfChecking {
     fun selfCheck()
-}
\ No newline at end of file
+}
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/TranslatedCoordinatesProvider.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/TranslatedCoordinatesProvider.kt
index 4a83239..472b8a1 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/TranslatedCoordinatesProvider.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/TranslatedCoordinatesProvider.kt
@@ -30,4 +30,4 @@
         coords[1] += dy
         return coords
     }
-}
\ No newline at end of file
+}
diff --git a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/WaitForInjectMotionEventsAction.kt b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/WaitForInjectMotionEventsAction.kt
index e3f0ed6..0551452 100644
--- a/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/WaitForInjectMotionEventsAction.kt
+++ b/viewpager2/viewpager2/src/androidTest/java/androidx/viewpager2/widget/swipe/WaitForInjectMotionEventsAction.kt
@@ -80,4 +80,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/StartActivity.kt b/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/StartActivity.kt
index d6e4c18..76e2113 100644
--- a/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/StartActivity.kt
+++ b/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/StartActivity.kt
@@ -28,4 +28,4 @@
         val txt = findViewById<TextView>(R.id.text)
         txt.setText("Wear Macrobenchmark Target")
     }
-}
\ No newline at end of file
+}
diff --git a/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/SwipeActivity.kt b/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/SwipeActivity.kt
index 5aa5b3d..d7cdecf 100644
--- a/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/SwipeActivity.kt
+++ b/wear/benchmark/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/target/SwipeActivity.kt
@@ -24,4 +24,4 @@
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_swipe)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/ScrollBenchmark.kt b/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/ScrollBenchmark.kt
index b63c5ee..d9160d2 100644
--- a/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/ScrollBenchmark.kt
+++ b/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/ScrollBenchmark.kt
@@ -81,4 +81,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/StartupBenchmark.kt b/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/StartupBenchmark.kt
index 87063f6..bfe4a69 100644
--- a/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/StartupBenchmark.kt
+++ b/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/StartupBenchmark.kt
@@ -50,4 +50,4 @@
         @JvmStatic
         fun parameters() = createStartupCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/SwipeBenchmark.kt b/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/SwipeBenchmark.kt
index 542700e..df1706c 100644
--- a/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/SwipeBenchmark.kt
+++ b/wear/benchmark/integration-tests/macrobenchmark/src/main/java/androidx/wear/benchmark/integration/macrobenchmark/SwipeBenchmark.kt
@@ -80,4 +80,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/benchmark/src/androidTest/java/androidx/wear/compose/foundation/benchmark/ScalingLazyColumnBenchmark.kt b/wear/compose/compose-foundation/benchmark/src/androidTest/java/androidx/wear/compose/foundation/benchmark/ScalingLazyColumnBenchmark.kt
index c7fc419..a9ec433 100644
--- a/wear/compose/compose-foundation/benchmark/src/androidTest/java/androidx/wear/compose/foundation/benchmark/ScalingLazyColumnBenchmark.kt
+++ b/wear/compose/compose-foundation/benchmark/src/androidTest/java/androidx/wear/compose/foundation/benchmark/ScalingLazyColumnBenchmark.kt
@@ -230,4 +230,4 @@
         Assert.assertTrue(!isComposed)
         isComposed = true
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/CurvedWorldSample.kt b/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/CurvedWorldSample.kt
index 7123f98..ef16532 100644
--- a/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/CurvedWorldSample.kt
+++ b/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/CurvedWorldSample.kt
@@ -381,4 +381,4 @@
             Box(Modifier.size(80.dp, 30.dp).background(Color.White))
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/ExpandableSample.kt b/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/ExpandableSample.kt
index 034b977..2551474 100644
--- a/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/ExpandableSample.kt
+++ b/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/ExpandableSample.kt
@@ -114,4 +114,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/SwipeToRevealSample.kt b/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/SwipeToRevealSample.kt
index 1212135..3668886 100644
--- a/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/SwipeToRevealSample.kt
+++ b/wear/compose/compose-foundation/samples/src/main/java/androidx/wear/compose/foundation/samples/SwipeToRevealSample.kt
@@ -221,4 +221,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedBoxTest.kt b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedBoxTest.kt
index 49af1da..cc730a6 100644
--- a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedBoxTest.kt
+++ b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedBoxTest.kt
@@ -247,4 +247,4 @@
             checker(bigBoxDimensions, smallBoxDimensions)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedScreenshotTest.kt b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedScreenshotTest.kt
index 170be37..1c56a44 100644
--- a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedScreenshotTest.kt
+++ b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedScreenshotTest.kt
@@ -270,4 +270,4 @@
     }
 }
 
-internal const val SCREENSHOT_GOLDEN_PATH = "wear/compose/foundation"
\ No newline at end of file
+internal const val SCREENSHOT_GOLDEN_PATH = "wear/compose/foundation"
diff --git a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedWeightTest.kt b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedWeightTest.kt
index 672e59f..a7a1ac2 100644
--- a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedWeightTest.kt
+++ b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/CurvedWeightTest.kt
@@ -123,4 +123,4 @@
             capturedInfo.checkParentDimensions(expectedAngleDegrees = 10f)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/HierarchicalFocusCoordinatorTest.kt b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/HierarchicalFocusCoordinatorTest.kt
index fb3b6b5..53be515 100644
--- a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/HierarchicalFocusCoordinatorTest.kt
+++ b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/HierarchicalFocusCoordinatorTest.kt
@@ -276,4 +276,4 @@
         val focusedSet = actualFocused.indices.filter { actualFocused[it] }.toSet()
         Assert.assertEquals(setOf(expectedSelected), focusedSet)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/SwipeToRevealTest.kt b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/SwipeToRevealTest.kt
index 9f901e2..ff69146 100644
--- a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/SwipeToRevealTest.kt
+++ b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/SwipeToRevealTest.kt
@@ -182,4 +182,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt
index 693c194..a04f924 100644
--- a/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt
+++ b/wear/compose/compose-foundation/src/androidTest/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfoTest.kt
@@ -1244,4 +1244,4 @@
 }
 
 @Stable
-public class StableRef<T>(var value: T)
\ No newline at end of file
+public class StableRef<T>(var value: T)
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedAlignment.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedAlignment.kt
index a440de9..0ef9315 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedAlignment.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedAlignment.kt
@@ -84,4 +84,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedLayout.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedLayout.kt
index de25e17..cbeebfa 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedLayout.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/CurvedLayout.kt
@@ -415,4 +415,4 @@
 internal fun Float.toDegrees() = this * 180f / PI.toFloat()
 internal fun <T> Iterable<T>.sumOf(selector: (T) -> Float): Float = map(selector).sum()
 internal fun offsetFromDistanceAndAngle(distance: Float, angle: Float) =
-    Offset(distance * cos(angle), distance * sin(angle))
\ No newline at end of file
+    Offset(distance * cos(angle), distance * sin(angle))
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/ExperimentalWearFoundationApi.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/ExperimentalWearFoundationApi.kt
index e8458d2..b97e542 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/ExperimentalWearFoundationApi.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/ExperimentalWearFoundationApi.kt
@@ -21,4 +21,4 @@
         " the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalWearFoundationApi
\ No newline at end of file
+annotation class ExperimentalWearFoundationApi
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/InternalMutatorMutex.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/InternalMutatorMutex.kt
index 45b6f7f..e5717fc 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/InternalMutatorMutex.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/InternalMutatorMutex.kt
@@ -161,4 +161,4 @@
         }
         return didLock
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeToReveal.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeToReveal.kt
index a386e82..68cba72 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeToReveal.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeToReveal.kt
@@ -434,4 +434,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeableV2.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeableV2.kt
index f6e888d..15a2dde 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeableV2.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/SwipeableV2.kt
@@ -736,4 +736,4 @@
 }
 
 private fun <T> Map<T, Float>.minOrNull() = minOfOrNull { (_, offset) -> offset }
-private fun <T> Map<T, Float>.maxOrNull() = maxOfOrNull { (_, offset) -> offset }
\ No newline at end of file
+private fun <T> Map<T, Float>.maxOrNull() = maxOfOrNull { (_, offset) -> offset }
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnMeasure.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnMeasure.kt
index 00d1260..9f65cce 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnMeasure.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnMeasure.kt
@@ -564,4 +564,4 @@
 @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
 public fun inverseLerp(start: Float, stop: Float, value: Float): Float {
     return ((value - start) / (stop - start)).coerceIn(0f, 1f)
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnSnapFlingBehavior.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnSnapFlingBehavior.kt
index 31de3b4..8b20123 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnSnapFlingBehavior.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyColumnSnapFlingBehavior.kt
@@ -141,4 +141,4 @@
     // Maximum duration for the final snap after the fling, in seconds, used when the speed is
     // SNAP_SPEED_THRESHOLD
     private val FINAL_SNAP_DURATION_MAX = .35f
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfo.kt b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfo.kt
index dc2ccd6..ade5095 100644
--- a/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfo.kt
+++ b/wear/compose/compose-foundation/src/main/java/androidx/wear/compose/foundation/lazy/ScalingLazyListLayoutInfo.kt
@@ -102,4 +102,4 @@
      * How to anchor list items to the center-line of the viewport
      */
     val anchorType: ScalingLazyListAnchorType
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material-core/src/androidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt b/wear/compose/compose-material-core/src/androidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt
index 1c76ba7..7f9826e 100644
--- a/wear/compose/compose-material-core/src/androidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt
+++ b/wear/compose/compose-material-core/src/androidTest/kotlin/androidx/wear/compose/materialcore/IconTest.kt
@@ -320,4 +320,4 @@
         tint = tint,
         modifier = modifier
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/ImageWithScrimPainter.kt b/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/ImageWithScrimPainter.kt
index 921c196..f7372b7 100644
--- a/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/ImageWithScrimPainter.kt
+++ b/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/ImageWithScrimPainter.kt
@@ -85,4 +85,4 @@
      * Size of the combined painter, return Unspecified to allow us to fill the available space
      */
     override val intrinsicSize: Size = imagePainter.intrinsicSize
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/Text.kt b/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/Text.kt
index 2b96e52..40c3fc1 100644
--- a/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/Text.kt
+++ b/wear/compose/compose-material-core/src/main/java/androidx/wear/compose/materialcore/Text.kt
@@ -120,4 +120,4 @@
         minLines = minLines,
         inlineContent = inlineContent
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ButtonBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ButtonBenchmark.kt
index 88a3eaa..49b256d 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ButtonBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ButtonBenchmark.kt
@@ -90,4 +90,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/CardBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/CardBenchmark.kt
index d785e90..5549072 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/CardBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/CardBenchmark.kt
@@ -100,4 +100,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ChipBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ChipBenchmark.kt
index 048c9de..e93b1f9 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ChipBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ChipBenchmark.kt
@@ -101,4 +101,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/PickerGroupBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/PickerGroupBenchmark.kt
index 4251c32..39c595f 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/PickerGroupBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/PickerGroupBenchmark.kt
@@ -98,4 +98,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/SLCBasedBenchmarkHelper.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/SLCBasedBenchmarkHelper.kt
index 5f6eae7..ecb0592 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/SLCBasedBenchmarkHelper.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/SLCBasedBenchmarkHelper.kt
@@ -131,4 +131,4 @@
         Assert.assertTrue(!isComposed)
         isComposed = true
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/TimeTextBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/TimeTextBenchmark.kt
index 23f3156..9150911 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/TimeTextBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/TimeTextBenchmark.kt
@@ -119,4 +119,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleButtonBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleButtonBenchmark.kt
index d062d2c..bbea161 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleButtonBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleButtonBenchmark.kt
@@ -90,4 +90,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleChipBenchmark.kt b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleChipBenchmark.kt
index 0800506..642c441 100644
--- a/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleChipBenchmark.kt
+++ b/wear/compose/compose-material/benchmark/src/androidTest/java/androidx/wear/compose/material/benchmark/ToggleChipBenchmark.kt
@@ -104,4 +104,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
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 aff1014..90c50f8 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
@@ -96,4 +96,4 @@
             curvedText("Green On White")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/HorizontalPageIndicatorSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/HorizontalPageIndicatorSample.kt
index eb1bad7..0068f90 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/HorizontalPageIndicatorSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/HorizontalPageIndicatorSample.kt
@@ -72,4 +72,4 @@
             pageIndicatorState = pageIndicatorState
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/MaterialThemeSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/MaterialThemeSample.kt
index 36e1be0..bff431d 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/MaterialThemeSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/MaterialThemeSample.kt
@@ -39,4 +39,4 @@
             color = MaterialTheme.colors.onBackground,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerGroupSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerGroupSample.kt
index 3278a4d..0171773 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerGroupSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerGroupSample.kt
@@ -107,4 +107,4 @@
             autoCenter = true
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerSample.kt
index 4e0485a..12452a9 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PickerSample.kt
@@ -177,4 +177,4 @@
             option = { minute: Int -> Option(1, "%02d".format(minute)) }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PlaceholderSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PlaceholderSample.kt
index 5f301ed..656db1b 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PlaceholderSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PlaceholderSample.kt
@@ -274,4 +274,4 @@
             chipPlaceholderState.startPlaceholderAnimation()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PreviewSample.kt b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PreviewSample.kt
index ab01a42..7f79087 100644
--- a/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PreviewSample.kt
+++ b/wear/compose/compose-material/samples/src/main/java/androidx/wear/compose/material/samples/PreviewSample.kt
@@ -96,4 +96,4 @@
                 .wrapContentSize(align = Alignment.Center),
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/CurvedTextTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/CurvedTextTest.kt
index 83d68ee..82cc7da 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/CurvedTextTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/CurvedTextTest.kt
@@ -103,4 +103,4 @@
         rule.onNodeWithContentDescription(testText).captureToImage()
             .assertContainsColor(Color.Yellow)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/HorizontalPageIndicatorScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/HorizontalPageIndicatorScreenshotTest.kt
index 83e18eb9..1edda83 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/HorizontalPageIndicatorScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/HorizontalPageIndicatorScreenshotTest.kt
@@ -133,4 +133,4 @@
             indicatorSize = 15.dp
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/IconTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/IconTest.kt
index 50d241b..a073f25 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/IconTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/IconTest.kt
@@ -270,4 +270,4 @@
         }
         return image
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/InlineSliderTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/InlineSliderTest.kt
index 41c1ec5..7628477 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/InlineSliderTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/InlineSliderTest.kt
@@ -701,4 +701,4 @@
         onValueChange = onValueChange,
         valueProgression = valueProgression,
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ListHeaderTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ListHeaderTest.kt
index 92524ec..33f74ad 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ListHeaderTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ListHeaderTest.kt
@@ -74,4 +74,4 @@
         }
         Assert.assertEquals(expectedTextStyle, actualTextStyle)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
index 052e68a..3cd42b0 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
@@ -343,4 +343,4 @@
     return file
 }
 
-class StableRef<T>(var value: T)
\ No newline at end of file
+class StableRef<T>(var value: T)
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt
index ae19301..4ca03f4 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/MaterialThemeTest.kt
@@ -462,4 +462,4 @@
         rule.onNodeWithTag("button").performClick()
         assertTextTypographyEquals(overrideTextStyle, rule.textStyleOf("Test"))
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupScreenshotTest.kt
index 7c9684a..7a81b06 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupScreenshotTest.kt
@@ -134,4 +134,4 @@
             option = { optionIndex, _ -> Text("%02d".format(optionIndex)) }
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupTest.kt
index a58162b..e7aefd6 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PickerGroupTest.kt
@@ -151,4 +151,4 @@
 
     private val TEST_TAG_1 = "random string 1"
     private val TEST_TAG_2 = "random string 2"
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
index 913b5b1..c816e7a 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
@@ -508,4 +508,4 @@
         rule.waitForIdle()
         assertThat(placeholderStage).isEqualTo(expectedPlaceholderStage)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorScreenshotTest.kt
index c2fbee9..31ab009 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorScreenshotTest.kt
@@ -130,4 +130,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, goldenIdentifier)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt
index 586cb58..32383aa 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/PositionIndicatorTest.kt
@@ -1059,4 +1059,4 @@
                 (visibleItemsInfo.last().offset + (visibleItemsInfo.last().size / 2))
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ProgressIndicatorScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ProgressIndicatorScreenshotTest.kt
index 6faf248..7b5e0ae 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ProgressIndicatorScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ProgressIndicatorScreenshotTest.kt
@@ -137,4 +137,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, testName.methodName)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
index 7a88093..75181cf 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
@@ -1241,4 +1241,4 @@
             previousEndOffset = startOffset + it.size
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/Screenshot.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/Screenshot.kt
index 3efcc24..53370ef 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/Screenshot.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/Screenshot.kt
@@ -16,4 +16,4 @@
 
 package androidx.wear.compose.material
 
-internal const val SCREENSHOT_GOLDEN_PATH = "wear/compose/material"
\ No newline at end of file
+internal const val SCREENSHOT_GOLDEN_PATH = "wear/compose/material"
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScrollAwayTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScrollAwayTest.kt
index edbe7fc..3a237cc 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScrollAwayTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ScrollAwayTest.kt
@@ -305,4 +305,4 @@
 }
 
 private const val SCROLL_TAG = "ScrollTag"
-private const val TIME_TEXT_TAG = "TimeTextTag"
\ No newline at end of file
+private const val TIME_TEXT_TAG = "TimeTextTag"
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SliderScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SliderScreenshotTest.kt
index a8287b0..8736b21 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SliderScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SliderScreenshotTest.kt
@@ -209,4 +209,4 @@
             .captureToImage()
             .assertAgainstGolden(screenshotRule, testName.methodName)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/StepperTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/StepperTest.kt
index d8a4b41..5359636 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/StepperTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/StepperTest.kt
@@ -661,4 +661,4 @@
 }
 
 private val INCREASE = "increase"
-private val DECREASE = "decrease"
\ No newline at end of file
+private val DECREASE = "decrease"
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxScreenshotTest.kt
index cc0f06d..6dba8e0 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/SwipeToDismissBoxScreenshotTest.kt
@@ -157,4 +157,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TextTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TextTest.kt
index 59ece90..2422922 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TextTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TextTest.kt
@@ -289,4 +289,4 @@
             assertThat(letterSpacing).isEqualTo(expectedLetterSpacing)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TimeTextTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TimeTextTest.kt
index ae16c7b..2c400ae 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TimeTextTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/TimeTextTest.kt
@@ -584,4 +584,4 @@
 private const val LINEAR_ITEM_TAG = "LINEAR_ITEM_TAG"
 private const val CURVED_ITEM_TAG = "CURVED_ITEM_TAG"
 private const val LINEAR_SEPARATOR_ITEM_TAG = "LINEAR_SEPARATOR_ITEM_TAG"
-private const val CURVED_SEPARATOR_ITEM_TAG = "CURVED_SEPARATOR_ITEM_TAG"
\ No newline at end of file
+private const val CURVED_SEPARATOR_ITEM_TAG = "CURVED_SEPARATOR_ITEM_TAG"
diff --git a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ToggleControlScreenshotTest.kt b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ToggleControlScreenshotTest.kt
index 9e694ec..cdb3ebe 100644
--- a/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ToggleControlScreenshotTest.kt
+++ b/wear/compose/compose-material/src/androidTest/kotlin/androidx/wear/compose/material/ToggleControlScreenshotTest.kt
@@ -138,4 +138,4 @@
             MaterialTheme.colors.primary.copy(alpha = 0.5f)
                 .compositeOver(MaterialTheme.colors.surface)
         )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/CurvedText.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/CurvedText.kt
index 1c0b94c..d39ed2c 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/CurvedText.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/CurvedText.kt
@@ -189,4 +189,4 @@
             background = background
         )
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ExperimentalWearMaterialApi.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ExperimentalWearMaterialApi.kt
index 028dd52..d8f8939 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ExperimentalWearMaterialApi.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ExperimentalWearMaterialApi.kt
@@ -21,4 +21,4 @@
         " the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalWearMaterialApi
\ No newline at end of file
+annotation class ExperimentalWearMaterialApi
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/HorizontalPageIndicator.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/HorizontalPageIndicator.kt
index 6955e11..abbc1e5 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/HorizontalPageIndicator.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/HorizontalPageIndicator.kt
@@ -428,4 +428,4 @@
         visibleDotIndex = if (scrolledToTheLeft) 1
         else selectedPage - hiddenPagesToTheLeft
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ImageWithScrimPainter.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ImageWithScrimPainter.kt
index a25bf34..e585061 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ImageWithScrimPainter.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ImageWithScrimPainter.kt
@@ -81,4 +81,4 @@
      * Size of the combined painter, return Unspecified to allow us to fill the available space
      */
     override val intrinsicSize: Size = imagePainter.intrinsicSize
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ListHeader.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ListHeader.kt
index 8e6d114..46ccc4b 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ListHeader.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ListHeader.kt
@@ -63,4 +63,4 @@
             content()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ProgressIndicator.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ProgressIndicator.kt
index 9a1ffd1..ddfd0c9 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ProgressIndicator.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ProgressIndicator.kt
@@ -333,4 +333,4 @@
 }
 
 private operator fun Size.minus(offset: Float): Size =
-    Size(this.width - offset, this.height - offset)
\ No newline at end of file
+    Size(this.width - offset, this.height - offset)
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/Resources.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/Resources.kt
index 286b29a..c34fe83 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/Resources.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/Resources.kt
@@ -73,4 +73,4 @@
 internal fun screenHeightDp() = LocalContext.current.resources.configuration.screenHeightDp
 
 @Composable
-internal fun screenWidthDp() = LocalContext.current.resources.configuration.screenWidthDp
\ No newline at end of file
+internal fun screenWidthDp() = LocalContext.current.resources.configuration.screenWidthDp
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyColumnSnapFlingBehavior.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyColumnSnapFlingBehavior.kt
index 145804d..36268aa9 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyColumnSnapFlingBehavior.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyColumnSnapFlingBehavior.kt
@@ -140,4 +140,4 @@
     // Maximum duration for the final snap after the fling, in seconds, used when the speed is
     // SNAP_SPEED_THRESHOLD
     private val FINAL_SNAP_DURATION_MAX = .35f
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyListLayoutInfo.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyListLayoutInfo.kt
index 04e1adf..7db894a 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyListLayoutInfo.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/ScalingLazyListLayoutInfo.kt
@@ -100,4 +100,4 @@
      * reverseLayout set to false.
      */
     val afterAutoCenteringPadding: Int
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/TouchExplorationStateProvider.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/TouchExplorationStateProvider.kt
index 564b2df..335fdcd 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/TouchExplorationStateProvider.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/TouchExplorationStateProvider.kt
@@ -122,4 +122,4 @@
             am.removeAccessibilityStateChangeListener(this)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/dialog/Dialog.android.kt b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/dialog/Dialog.android.kt
index 0965d74..95487bd 100644
--- a/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/dialog/Dialog.android.kt
+++ b/wear/compose/compose-material/src/main/java/androidx/wear/compose/material/dialog/Dialog.android.kt
@@ -323,4 +323,4 @@
 
 private enum class DialogVisibility {
     Hide, Display;
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ButtonDemo.kt b/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ButtonDemo.kt
index d546a2e..76cddf8 100644
--- a/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ButtonDemo.kt
+++ b/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ButtonDemo.kt
@@ -386,4 +386,4 @@
         contentDescription = "Account",
         modifier = Modifier.size(ButtonDefaults.LargeIconSize)
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ListHeaderDemo.kt b/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ListHeaderDemo.kt
index 0b88f4a..f5094c4 100644
--- a/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ListHeaderDemo.kt
+++ b/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/ListHeaderDemo.kt
@@ -39,4 +39,4 @@
             ListSubheaderWithIconSample()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/WearMaterial3Demos.kt b/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/WearMaterial3Demos.kt
index d4df8fc..ea6ac44 100644
--- a/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/WearMaterial3Demos.kt
+++ b/wear/compose/compose-material3/integration-tests/src/main/java/androidx/wear/compose/material3/demos/WearMaterial3Demos.kt
@@ -121,4 +121,4 @@
             Centralize { FixedFontSize() }
         }
     )
-)
\ No newline at end of file
+)
diff --git a/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/IconButtonSample.kt b/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/IconButtonSample.kt
index f2e7de6..14255f1 100644
--- a/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/IconButtonSample.kt
+++ b/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/IconButtonSample.kt
@@ -68,4 +68,4 @@
             contentDescription = "Favorite icon"
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/MaterialThemeSample.kt b/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/MaterialThemeSample.kt
index 71069fd..9d05440 100644
--- a/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/MaterialThemeSample.kt
+++ b/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/MaterialThemeSample.kt
@@ -39,4 +39,4 @@
             color = MaterialTheme.colorScheme.onBackground,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/TextButtonSample.kt b/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/TextButtonSample.kt
index 6a1ebfed..98ccaac 100644
--- a/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/TextButtonSample.kt
+++ b/wear/compose/compose-material3/samples/src/main/java/androidx/wear/compose/material3/samples/TextButtonSample.kt
@@ -63,4 +63,4 @@
     ) {
         Text(text = "ABC")
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ButtonTest.kt b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ButtonTest.kt
index 7fe8d63..eb4b7c0 100644
--- a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ButtonTest.kt
+++ b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ButtonTest.kt
@@ -758,4 +758,4 @@
         )
 }
 
-val MinimumButtonTapSize = 48.dp
\ No newline at end of file
+val MinimumButtonTapSize = 48.dp
diff --git a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/CurvedTextTest.kt b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/CurvedTextTest.kt
index 2a7c118..ccb12db 100644
--- a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/CurvedTextTest.kt
+++ b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/CurvedTextTest.kt
@@ -103,4 +103,4 @@
         rule.onNodeWithContentDescription(testText).captureToImage()
             .assertContainsColor(Color.Yellow)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/IconTest.kt b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/IconTest.kt
index 729aace..9088b8e 100644
--- a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/IconTest.kt
+++ b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/IconTest.kt
@@ -282,4 +282,4 @@
         }
         return image
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ListHeaderTest.kt b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ListHeaderTest.kt
index 9ebc106..2cd45757 100644
--- a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ListHeaderTest.kt
+++ b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/ListHeaderTest.kt
@@ -103,4 +103,4 @@
 
         Assert.assertEquals(expectedTextStyle, actualTextStyle)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/TextTest.kt b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/TextTest.kt
index db9a5398..1323d67 100644
--- a/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/TextTest.kt
+++ b/wear/compose/compose-material3/src/androidTest/kotlin/androidx/wear/compose/material3/TextTest.kt
@@ -288,4 +288,4 @@
             assertThat(letterSpacing).isEqualTo(expectedLetterSpacing)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Card.kt b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Card.kt
index b9545cf..e44ef5b 100644
--- a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Card.kt
+++ b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Card.kt
@@ -579,4 +579,4 @@
         result = 31 * result + titleColor.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/CurvedText.kt b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/CurvedText.kt
index b4d0231..4ef124d 100644
--- a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/CurvedText.kt
+++ b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/CurvedText.kt
@@ -117,4 +117,4 @@
             background = background
         )
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ExperimentalWearMaterial3Api.kt b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ExperimentalWearMaterial3Api.kt
index 1d369e6..ae398ea 100644
--- a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ExperimentalWearMaterial3Api.kt
+++ b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ExperimentalWearMaterial3Api.kt
@@ -21,4 +21,4 @@
         " the future."
 )
 @Retention(AnnotationRetention.BINARY)
-annotation class ExperimentalWearMaterial3Api
\ No newline at end of file
+annotation class ExperimentalWearMaterial3Api
diff --git a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Icon.kt b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Icon.kt
index 2113a27..601354f 100644
--- a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Icon.kt
+++ b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/Icon.kt
@@ -109,4 +109,4 @@
         tint = tint,
         modifier = modifier
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ListHeader.kt b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ListHeader.kt
index f680518..519a0c7 100644
--- a/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ListHeader.kt
+++ b/wear/compose/compose-material3/src/main/java/androidx/wear/compose/material3/ListHeader.kt
@@ -152,4 +152,4 @@
         HORIZONTAL_PADDING,
         SUBHEADER_BOTTOM_PADDING
     )
-}
\ No newline at end of file
+}
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 377b170..138c202 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
@@ -427,4 +427,4 @@
     }
 }
 
-private const val TAG = "SwipeDismissableNavHost"
\ No newline at end of file
+private const val TAG = "SwipeDismissableNavHost"
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 42c64b5..781efde 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
@@ -44,4 +44,4 @@
 @Composable
 public fun NavController.currentBackStackEntryAsState(): State<NavBackStackEntry?> {
     return currentBackStackEntryFlow.collectAsState(null)
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CardDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CardDemo.kt
index 5aa339c..9af6402 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CardDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CardDemo.kt
@@ -149,4 +149,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ChipDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ChipDemo.kt
index 8835d23..9244802 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ChipDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ChipDemo.kt
@@ -877,4 +877,4 @@
         shape = shape,
         content = null
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CurvedLayoutDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CurvedLayoutDemo.kt
index a6918ed..041d056 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CurvedLayoutDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/CurvedLayoutDemo.kt
@@ -387,4 +387,4 @@
             .clip(CircleShape)
             .background(Color.White)
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PositionIndicatorDemos.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PositionIndicatorDemos.kt
index 27633f6..43c5978 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PositionIndicatorDemos.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PositionIndicatorDemos.kt
@@ -229,4 +229,4 @@
             size == other.size
 
     override fun hashCode(): Int = position.hashCode() + 31 * size.hashCode()
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ProgressIndicatorDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ProgressIndicatorDemo.kt
index 23056f3..4c6e84b 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ProgressIndicatorDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ProgressIndicatorDemo.kt
@@ -419,4 +419,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SliderDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SliderDemo.kt
index 8e038f0..52744d3 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SliderDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/SliderDemo.kt
@@ -250,4 +250,4 @@
         enabled = enabled,
         colors = colors,
     )
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ThemeDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ThemeDemo.kt
index d6cb8d30..223460f 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ThemeDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/ThemeDemo.kt
@@ -177,4 +177,4 @@
             style = MaterialTheme.typography.button,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/Common.kt b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/Common.kt
index 58c38b0..af8e91f 100644
--- a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/Common.kt
+++ b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/Common.kt
@@ -16,4 +16,4 @@
 
 package androidx.wear.compose.integration.macrobenchmark.target
 
-internal val CONTENT_DESCRIPTION = "find-me"
\ No newline at end of file
+internal val CONTENT_DESCRIPTION = "find-me"
diff --git a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/ScrollActivity.kt b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/ScrollActivity.kt
index ee57c4f..c2e4a1b 100644
--- a/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/ScrollActivity.kt
+++ b/wear/compose/integration-tests/macrobenchmark-target/src/main/java/androidx/wear/compose/integration/macrobenchmark/target/ScrollActivity.kt
@@ -69,4 +69,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 db764c8..aaf1043 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
@@ -30,4 +30,4 @@
             Text("Wear Compose Macrobenchmark Target")
         }
     }
-}
\ No newline at end of file
+}
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 4282144..4c646c0e0 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
@@ -64,4 +64,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/BaselineProfile.kt b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/BaselineProfile.kt
index 2d048cb..cbc59ca 100644
--- a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/BaselineProfile.kt
+++ b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/BaselineProfile.kt
@@ -166,4 +166,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/Common.kt b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/Common.kt
index b60c1cc..7c4b75e 100644
--- a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/Common.kt
+++ b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/Common.kt
@@ -16,4 +16,4 @@
 
 package androidx.wear.compose.integration.macrobenchmark.test
 
-internal val CONTENT_DESCRIPTION = "find-me"
\ No newline at end of file
+internal val CONTENT_DESCRIPTION = "find-me"
diff --git a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/CompositionMetric.kt b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/CompositionMetric.kt
index eddb34a..784061a 100644
--- a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/CompositionMetric.kt
+++ b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/CompositionMetric.kt
@@ -50,4 +50,4 @@
             Measurement("${shortName}RecomposeCount", durationsNs.count().toDouble())
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/ScrollBenchmark.kt b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/ScrollBenchmark.kt
index ced270c..cb19f5f 100644
--- a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/ScrollBenchmark.kt
+++ b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/ScrollBenchmark.kt
@@ -80,4 +80,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/StartupBenchmark.kt b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/StartupBenchmark.kt
index 0b8754f..a21fa51 100644
--- a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/StartupBenchmark.kt
+++ b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/StartupBenchmark.kt
@@ -50,4 +50,4 @@
         @JvmStatic
         fun parameters() = createStartupCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/SwipeBenchmark.kt b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/SwipeBenchmark.kt
index 94d3d47..c9871fe 100644
--- a/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/SwipeBenchmark.kt
+++ b/wear/compose/integration-tests/macrobenchmark/src/main/java/androidx/wear/compose/integration/macrobenchmark/SwipeBenchmark.kt
@@ -80,4 +80,4 @@
         @JvmStatic
         fun parameters() = createCompilationParams()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/checkers/CheckAccessibilityAvailable.kt b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/checkers/CheckAccessibilityAvailable.kt
index 75db840..2fd843f 100644
--- a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/checkers/CheckAccessibilityAvailable.kt
+++ b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/checkers/CheckAccessibilityAvailable.kt
@@ -102,4 +102,4 @@
             false
         }
     }
-}
\ No newline at end of file
+}
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 c015756..f8f051a 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
@@ -192,4 +192,4 @@
     private suspend fun cancelBinderRelease() {
         releaseBinderJob?.cancelAndJoin()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/TilesTestRunner.kt b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/TilesTestRunner.kt
index 9d3c202..0e36361 100644
--- a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/TilesTestRunner.kt
+++ b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/TilesTestRunner.kt
@@ -26,4 +26,4 @@
             .doNotInstrumentPackage("androidx.wear.tiles.checkers")
             .doNotInstrumentPackage("androidx.wear.tiles.connection")
             .build()
-}
\ No newline at end of file
+}
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 b91d8275..632f85e 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
@@ -111,4 +111,4 @@
                 ).build()
             ).build()
         ).build()
-}
\ No newline at end of file
+}
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 67aa9ea..64395dd 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
@@ -368,4 +368,4 @@
             onTileLeaveCalled = true
         }
     }
-}
\ No newline at end of file
+}
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 64ae254..6f5d200 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
@@ -331,4 +331,4 @@
             TODO("Not yet implemented")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TilesTestingTestRunner.kt b/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TilesTestingTestRunner.kt
index 5392776..22cfc6d 100644
--- a/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TilesTestingTestRunner.kt
+++ b/wear/tiles/tiles-testing/src/test/java/androidx/wear/tiles/testing/TilesTestingTestRunner.kt
@@ -26,4 +26,4 @@
             .doNotInstrumentPackage("androidx.wear.tiles.connection")
             .doNotInstrumentPackage("androidx.wear.tiles.testing")
             .build()
-}
\ No newline at end of file
+}
diff --git a/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TestTileService.kt b/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TestTileService.kt
index cb3b2ea..78f9136 100644
--- a/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TestTileService.kt
+++ b/wear/tiles/tiles-tooling/src/androidTest/java/androidx/wear/tiles/tooling/TestTileService.kt
@@ -55,4 +55,4 @@
             .setVersion(RESOURCES_VERSION)
             .build()
         )
-}
\ No newline at end of file
+}
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 d197c38..64b50f4 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
@@ -70,4 +70,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
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 e84bbc5..b9b5986 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
@@ -59,4 +59,4 @@
         assertEquals("aFinal", B::class.java.findMethod("aFinal").invoke(b))
         assertEquals("aOpenProtected2", B::class.java.findMethod("aOpenProtected2").invoke(b))
     }
-}
\ No newline at end of file
+}
diff --git a/wear/watchface/watchface-guava/src/androidTest/java/androidx/wear/watchface/AsyncListenableWatchFaceServiceTest.kt b/wear/watchface/watchface-guava/src/androidTest/java/androidx/wear/watchface/AsyncListenableWatchFaceServiceTest.kt
index b082a31..b12573c 100644
--- a/wear/watchface/watchface-guava/src/androidTest/java/androidx/wear/watchface/AsyncListenableWatchFaceServiceTest.kt
+++ b/wear/watchface/watchface-guava/src/androidTest/java/androidx/wear/watchface/AsyncListenableWatchFaceServiceTest.kt
@@ -218,4 +218,4 @@
 
         client.close()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/watchface/watchface-guava/src/main/java/androidx/wear/watchface/ListenableWatchFaceService.kt b/wear/watchface/watchface-guava/src/main/java/androidx/wear/watchface/ListenableWatchFaceService.kt
index 28542f4..07cde9d 100644
--- a/wear/watchface/watchface-guava/src/main/java/androidx/wear/watchface/ListenableWatchFaceService.kt
+++ b/wear/watchface/watchface-guava/src/main/java/androidx/wear/watchface/ListenableWatchFaceService.kt
@@ -127,4 +127,4 @@
             )
         future.addListener({ it.resume(future.get()) }, { runnable -> runnable.run() })
     }
-}
\ No newline at end of file
+}
diff --git a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/Renderer.kt b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/Renderer.kt
index 85b31e1..bab898a 100644
--- a/wear/watchface/watchface/src/main/java/androidx/wear/watchface/Renderer.kt
+++ b/wear/watchface/watchface/src/main/java/androidx/wear/watchface/Renderer.kt
@@ -1807,4 +1807,4 @@
         height: Int,
         config: Bitmap.Config
     ) = Bitmap.createBitmap(picture, width, height, config)
-}
\ No newline at end of file
+}
diff --git a/wear/wear-input/samples/src/main/java/androidx/wear/input/samples/WearableRemoteInputExtenderSample.kt b/wear/wear-input/samples/src/main/java/androidx/wear/input/samples/WearableRemoteInputExtenderSample.kt
index 9d18a11..f82948c 100644
--- a/wear/wear-input/samples/src/main/java/androidx/wear/input/samples/WearableRemoteInputExtenderSample.kt
+++ b/wear/wear-input/samples/src/main/java/androidx/wear/input/samples/WearableRemoteInputExtenderSample.kt
@@ -29,4 +29,4 @@
             setEmojisAllowed(false)
             setInputActionType(EditorInfo.IME_ACTION_GO)
         }.build()
-}
\ No newline at end of file
+}
diff --git a/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt b/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt
index 87ded0e..542604f 100644
--- a/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt
+++ b/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt
@@ -271,4 +271,4 @@
             smartReplyContext: List<CharSequence>
         ): Intent = intent.putExtra(EXTRA_SMART_REPLY_CONTEXT, ArrayList(smartReplyContext))
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-input/src/main/java/androidx/wear/input/WearableRemoteInputExtender.kt b/wear/wear-input/src/main/java/androidx/wear/input/WearableRemoteInputExtender.kt
index 0b27c43..6ccbcde 100644
--- a/wear/wear-input/src/main/java/androidx/wear/input/WearableRemoteInputExtender.kt
+++ b/wear/wear-input/src/main/java/androidx/wear/input/WearableRemoteInputExtender.kt
@@ -116,4 +116,4 @@
 
 public fun RemoteInput.Builder.wearableExtender(block: WearableRemoteInputExtender.() -> Unit):
     RemoteInput.Builder =
-        WearableRemoteInputExtender(this).apply { block() }.get()
\ No newline at end of file
+        WearableRemoteInputExtender(this).apply { block() }.get()
diff --git a/wear/wear-input/src/test/java/androidx/wear/input/RemoteInputIntentHelperTest.kt b/wear/wear-input/src/test/java/androidx/wear/input/RemoteInputIntentHelperTest.kt
index 2daadf3..c066fb4 100644
--- a/wear/wear-input/src/test/java/androidx/wear/input/RemoteInputIntentHelperTest.kt
+++ b/wear/wear-input/src/test/java/androidx/wear/input/RemoteInputIntentHelperTest.kt
@@ -95,4 +95,4 @@
         RemoteInputIntentHelper.putSmartReplyContextExtra(intent, smartReplyContext)
         assertEquals(smartReplyContext, RemoteInputIntentHelper.getSmartReplyContextExtra(intent))
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-input/src/test/java/androidx/wear/input/WearInputTestRunner.kt b/wear/wear-input/src/test/java/androidx/wear/input/WearInputTestRunner.kt
index 01ffe1c..426feb0 100644
--- a/wear/wear-input/src/test/java/androidx/wear/input/WearInputTestRunner.kt
+++ b/wear/wear-input/src/test/java/androidx/wear/input/WearInputTestRunner.kt
@@ -37,4 +37,4 @@
         )
             .doNotInstrumentPackage("androidx.wear.input")
             .build()
-}
\ No newline at end of file
+}
diff --git a/wear/wear-input/src/test/java/androidx/wear/input/WearableRemoteInputExtenderTest.kt b/wear/wear-input/src/test/java/androidx/wear/input/WearableRemoteInputExtenderTest.kt
index 6028816..5c410ac 100644
--- a/wear/wear-input/src/test/java/androidx/wear/input/WearableRemoteInputExtenderTest.kt
+++ b/wear/wear-input/src/test/java/androidx/wear/input/WearableRemoteInputExtenderTest.kt
@@ -128,4 +128,4 @@
             IME_ACTION_NEXT to INPUT_ACTION_TYPE_SEND // other value
         )
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/PhoneTypeHelper.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/PhoneTypeHelper.kt
index fa65591..084d416 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/PhoneTypeHelper.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/PhoneTypeHelper.kt
@@ -93,4 +93,4 @@
         @IntDef(DEVICE_TYPE_ERROR, DEVICE_TYPE_ANDROID, DEVICE_TYPE_IOS, DEVICE_TYPE_UNKNOWN)
         internal annotation class DeviceFamily
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeChallenge.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeChallenge.kt
index b1a4123..d503ebd 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeChallenge.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeChallenge.kt
@@ -58,4 +58,4 @@
     override fun hashCode(): Int {
         return value.toByteArray(StandardCharsets.UTF_8).contentHashCode()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeVerifier.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeVerifier.kt
index 085aaee..b6728e0 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeVerifier.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/CodeVerifier.kt
@@ -108,4 +108,4 @@
     override fun hashCode(): Int {
         return getValueBytes().contentHashCode()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthClient.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthClient.kt
index c564a62..29ee6b7 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthClient.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthClient.kt
@@ -382,4 +382,4 @@
             service = null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthService.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthService.kt
index e0bbce3..0761dd3 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthService.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/authentication/RemoteAuthService.kt
@@ -186,4 +186,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingConfig.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingConfig.kt
index a5515ed..da4eed0 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingConfig.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingConfig.kt
@@ -156,4 +156,4 @@
         public fun build(): BridgingConfig =
             BridgingConfig(packageName, isBridgingEnabled, excludedTags)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManager.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManager.kt
index 6b07b6b..4cb0ce7 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManager.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManager.kt
@@ -136,4 +136,4 @@
         private fun isWearableDevice(context: Context): Boolean =
             context.packageManager.hasSystemFeature(PackageManager.FEATURE_WATCH)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManagerService.kt b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManagerService.kt
index f279f73..fe55f41 100644
--- a/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManagerService.kt
+++ b/wear/wear-phone-interactions/src/main/java/androidx/wear/phone/interactions/notifications/BridgingManagerService.kt
@@ -71,4 +71,4 @@
         bridgingConfigurationHandler
             .applyBridgingConfiguration(bridgingConfig)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt
index 9de98e3..2e333f7 100644
--- a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt
+++ b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/CodeVerifierCodeChallengeTest.kt
@@ -83,4 +83,4 @@
         assertThat(CodeChallenge(CodeVerifier())).isNotEqualTo(CodeChallenge(CodeVerifier()))
         assertThat(CodeChallenge(CodeVerifier())).isNotEqualTo(null)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt
index 9d2cc93..ff346ef 100644
--- a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt
+++ b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/authentication/OAuthRequestResponseTest.kt
@@ -500,4 +500,4 @@
 
         assertThat(request.redirectUrl).isEmpty()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerServiceTest.kt b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerServiceTest.kt
index 4c765e2..6089338 100644
--- a/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerServiceTest.kt
+++ b/wear/wear-phone-interactions/src/test/java/androidx/wear/phone/interactions/notifications/BridgingManagerServiceTest.kt
@@ -122,4 +122,4 @@
     override fun applyBridgingConfiguration(bridgingConfig: BridgingConfig) {
         this.bridgingConfig = bridgingConfig
     }
-}
\ No newline at end of file
+}
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 e49909c..c4c4762 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
@@ -166,4 +166,4 @@
     private companion object {
         private const val PACKAGE_NAME = "foo_package"
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-remote-interactions/src/androidTest/java/androidx/wear/remote/interactions/test/WatchFaceConfigIntentHelperTest.kt b/wear/wear-remote-interactions/src/androidTest/java/androidx/wear/remote/interactions/test/WatchFaceConfigIntentHelperTest.kt
index 802f257..5ed8349 100644
--- a/wear/wear-remote-interactions/src/androidTest/java/androidx/wear/remote/interactions/test/WatchFaceConfigIntentHelperTest.kt
+++ b/wear/wear-remote-interactions/src/androidTest/java/androidx/wear/remote/interactions/test/WatchFaceConfigIntentHelperTest.kt
@@ -52,4 +52,4 @@
     fun testParseWatchPeerIdNull() {
         assert(null == WatchFaceConfigIntentHelper.getPeerIdExtra(Intent()))
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-remote-interactions/src/main/java/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper.kt b/wear/wear-remote-interactions/src/main/java/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper.kt
index 54eefab..d36cd18 100644
--- a/wear/wear-remote-interactions/src/main/java/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper.kt
+++ b/wear/wear-remote-interactions/src/main/java/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper.kt
@@ -129,4 +129,4 @@
         public fun putPeerIdExtra(watchFaceIntent: Intent, peerId: String): Intent =
             watchFaceIntent.putExtra(EXTRA_PEER_ID, peerId)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/WearRemoteInteractionsTestRunner.kt b/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/WearRemoteInteractionsTestRunner.kt
index c15dd4b..f25150bd 100644
--- a/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/WearRemoteInteractionsTestRunner.kt
+++ b/wear/wear-remote-interactions/src/test/java/androidx/wear/remote/interactions/WearRemoteInteractionsTestRunner.kt
@@ -36,4 +36,4 @@
         )
             .doNotInstrumentPackage("androidx.wear.remote.interactions")
             .build()
-}
\ No newline at end of file
+}
diff --git a/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainActivity.kt b/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainActivity.kt
index 8a5455e..2ec5a44 100644
--- a/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainActivity.kt
+++ b/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainActivity.kt
@@ -137,4 +137,4 @@
     private companion object {
         private const val TAG = "AmbientSample"
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainViewModel.kt b/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainViewModel.kt
index cfb137d..4613969 100644
--- a/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainViewModel.kt
+++ b/wear/wear-samples-ambient/src/main/java/androidx/wear/samples/ambient/MainViewModel.kt
@@ -82,4 +82,4 @@
         updates.value = value
         updateTimestamp.value = System.currentTimeMillis()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear/src/main/java/androidx/wear/ambient/AmbientLifecycleObserverImpl.kt b/wear/wear/src/main/java/androidx/wear/ambient/AmbientLifecycleObserverImpl.kt
index 34841f6..29a29e2 100644
--- a/wear/wear/src/main/java/androidx/wear/ambient/AmbientLifecycleObserverImpl.kt
+++ b/wear/wear/src/main/java/androidx/wear/ambient/AmbientLifecycleObserverImpl.kt
@@ -132,4 +132,4 @@
         super.onDestroy(owner)
         delegate.onDestroy()
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear/src/test/java/androidx/wear/ambient/AmbientLifecycleObserverTestActivity.kt b/wear/wear/src/test/java/androidx/wear/ambient/AmbientLifecycleObserverTestActivity.kt
index 5529c95..e6a4ea6 100644
--- a/wear/wear/src/test/java/androidx/wear/ambient/AmbientLifecycleObserverTestActivity.kt
+++ b/wear/wear/src/test/java/androidx/wear/ambient/AmbientLifecycleObserverTestActivity.kt
@@ -49,4 +49,4 @@
 
         lifecycle.addObserver(observer)
     }
-}
\ No newline at end of file
+}
diff --git a/wear/wear/src/test/java/androidx/wear/utils/WearUtilsTestRunner.kt b/wear/wear/src/test/java/androidx/wear/utils/WearUtilsTestRunner.kt
index 6e8c2c2..3c30025 100644
--- a/wear/wear/src/test/java/androidx/wear/utils/WearUtilsTestRunner.kt
+++ b/wear/wear/src/test/java/androidx/wear/utils/WearUtilsTestRunner.kt
@@ -36,4 +36,4 @@
         )
             .doNotInstrumentPackage("androidx.wear.utils")
             .build()
-}
\ No newline at end of file
+}
diff --git a/window/extensions/core/core/src/test/java/androidx/window/extensions/core/util/function/FunctionalInterfaceIntegrityTest.kt b/window/extensions/core/core/src/test/java/androidx/window/extensions/core/util/function/FunctionalInterfaceIntegrityTest.kt
index 8670854..571a7a5f 100644
--- a/window/extensions/core/core/src/test/java/androidx/window/extensions/core/util/function/FunctionalInterfaceIntegrityTest.kt
+++ b/window/extensions/core/core/src/test/java/androidx/window/extensions/core/util/function/FunctionalInterfaceIntegrityTest.kt
@@ -57,4 +57,4 @@
         assertTrue(Function::class.java.isInstance(testFunction))
         assertEquals(1, functionClass.declaredMethods.size)
     }
-}
\ No newline at end of file
+}
diff --git a/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/TestConsumer.kt b/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/TestConsumer.kt
index 4cb80f0..05a18ec 100644
--- a/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/TestConsumer.kt
+++ b/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/TestConsumer.kt
@@ -88,4 +88,4 @@
             return values[valueIndex]
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/layout/WindowInfoTrackerEndToEndTest.kt b/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/layout/WindowInfoTrackerEndToEndTest.kt
index f4ab61e..6f6e4e3 100644
--- a/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/layout/WindowInfoTrackerEndToEndTest.kt
+++ b/window/integration-tests/configuration-change-tests/src/androidTest/java/androidx/window/integration/layout/WindowInfoTrackerEndToEndTest.kt
@@ -177,4 +177,4 @@
         }
         return foldingFeatureStateCounter
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-core/src/main/java/androidx/window/core/layout/WindowHeightSizeClass.kt b/window/window-core/src/main/java/androidx/window/core/layout/WindowHeightSizeClass.kt
index 849def5..b03985f 100644
--- a/window/window-core/src/main/java/androidx/window/core/layout/WindowHeightSizeClass.kt
+++ b/window/window-core/src/main/java/androidx/window/core/layout/WindowHeightSizeClass.kt
@@ -92,4 +92,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-core/src/main/java/androidx/window/core/layout/WindowSizeClass.kt b/window/window-core/src/main/java/androidx/window/core/layout/WindowSizeClass.kt
index c4ad955..aeb4bdf 100644
--- a/window/window-core/src/main/java/androidx/window/core/layout/WindowSizeClass.kt
+++ b/window/window-core/src/main/java/androidx/window/core/layout/WindowSizeClass.kt
@@ -84,4 +84,4 @@
             return WindowSizeClass(windowWidthSizeClass, windowHeightSizeClass)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-core/src/test/java/androidx/window/core/layout/WindowHeightSizeClassTest.kt b/window/window-core/src/test/java/androidx/window/core/layout/WindowHeightSizeClassTest.kt
index cf667a8..498133b 100644
--- a/window/window-core/src/test/java/androidx/window/core/layout/WindowHeightSizeClassTest.kt
+++ b/window/window-core/src/test/java/androidx/window/core/layout/WindowHeightSizeClassTest.kt
@@ -45,4 +45,4 @@
     fun testInvalidSizeBucket() {
         WindowHeightSizeClass.compute(-1f)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-core/src/test/java/androidx/window/core/layout/WindowWidthSizeClassTest.kt b/window/window-core/src/test/java/androidx/window/core/layout/WindowWidthSizeClassTest.kt
index 1050bef..5256b3c16 100644
--- a/window/window-core/src/test/java/androidx/window/core/layout/WindowWidthSizeClassTest.kt
+++ b/window/window-core/src/test/java/androidx/window/core/layout/WindowWidthSizeClassTest.kt
@@ -45,4 +45,4 @@
     fun testInvalidSizeBucket() {
         WindowWidthSizeClass.compute(-1f)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLog.kt b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLog.kt
index 3ab4096..5a80058 100644
--- a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLog.kt
+++ b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLog.kt
@@ -20,4 +20,4 @@
  * A data class to hold a title and a detail or subtitle that can be shown using [InfoLogAdapter]
  * . This can be used to create samples with an ordered timeline of events.
  */
-data class InfoLog(val title: String, val detail: String, val id: Int)
\ No newline at end of file
+data class InfoLog(val title: String, val detail: String, val id: Int)
diff --git a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogAdapter.kt b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogAdapter.kt
index 81df057..572681b 100644
--- a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogAdapter.kt
+++ b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogAdapter.kt
@@ -55,4 +55,4 @@
     private fun append(item: InfoLog) {
         items.add(0, item)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogVH.kt b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogVH.kt
index 1bf7dfe..9d432bc 100644
--- a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogVH.kt
+++ b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/infolog/InfoLogVH.kt
@@ -24,4 +24,4 @@
 class InfoLogVH(view: View) : RecyclerView.ViewHolder(view) {
     val titleView: TextView = view.findViewById(R.id.title_view)
     val detailView: TextView = view.findViewById(R.id.detail_view)
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/util/PictureInPictureUtil.kt b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/util/PictureInPictureUtil.kt
index 70eedab..a78ec24 100644
--- a/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/util/PictureInPictureUtil.kt
+++ b/window/window-demos/demo-common/src/main/java/androidx/window/demo/common/util/PictureInPictureUtil.kt
@@ -104,4 +104,4 @@
             Toast.makeText(activity, "PiP not supported", Toast.LENGTH_LONG).show()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/TrustedEmbeddingActivity.kt b/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/TrustedEmbeddingActivity.kt
index bc2e7cd..67c0b09 100644
--- a/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/TrustedEmbeddingActivity.kt
+++ b/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/TrustedEmbeddingActivity.kt
@@ -34,4 +34,4 @@
         findViewById<TextView>(R.id.detail_text_view).text =
             getString(R.string.trusted_embedding_activity_detail)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/UntrustedEmbeddingActivity.kt b/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/UntrustedEmbeddingActivity.kt
index f26aeee..cfe7c21 100644
--- a/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/UntrustedEmbeddingActivity.kt
+++ b/window/window-demos/demo-second-app/src/main/java/androidx/window/demo2/embedding/UntrustedEmbeddingActivity.kt
@@ -34,4 +34,4 @@
         findViewById<TextView>(R.id.detail_text_view).text =
             getString(R.string.untrusted_embedding_activity_detail)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/DisplayFeaturesNoConfigChangeActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/DisplayFeaturesNoConfigChangeActivity.kt
index bd77218..ffe96e4 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/DisplayFeaturesNoConfigChangeActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/DisplayFeaturesNoConfigChangeActivity.kt
@@ -18,4 +18,4 @@
 
 import androidx.window.demo.common.DisplayFeaturesActivity
 
-class DisplayFeaturesNoConfigChangeActivity : DisplayFeaturesActivity()
\ No newline at end of file
+class DisplayFeaturesNoConfigChangeActivity : DisplayFeaturesActivity()
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/ImeActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/ImeActivity.kt
index a31144d..6d20aaa 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/ImeActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/ImeActivity.kt
@@ -46,4 +46,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/RearDisplayActivityConfigChanges.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/RearDisplayActivityConfigChanges.kt
index 3d35924..97ab277 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/RearDisplayActivityConfigChanges.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/RearDisplayActivityConfigChanges.kt
@@ -165,4 +165,4 @@
     private companion object {
         private val TAG = RearDisplayActivityConfigChanges::class.java.simpleName
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayout.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayout.kt
index 06ba0be..e50802c 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayout.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayout.kt
@@ -194,4 +194,4 @@
     private fun isValidFoldFeature(displayFeature: DisplayFeature): Boolean {
         return displayFeature is FoldingFeature
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayoutActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayoutActivity.kt
index 89290a9e..d7ac4bb 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayoutActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/SplitLayoutActivity.kt
@@ -51,4 +51,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/TestIme.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/TestIme.kt
index a63b171..ea31885 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/TestIme.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/TestIme.kt
@@ -90,4 +90,4 @@
     override fun onEvaluateFullscreenMode(): Boolean {
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateCallbackActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateCallbackActivity.kt
index 2122cbd..e6aa9f9 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateCallbackActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateCallbackActivity.kt
@@ -162,4 +162,4 @@
     companion object {
         val TAG = WindowStateCallbackActivity::class.simpleName
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateConfigView.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateConfigView.kt
index 4a18150..6cdd672 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateConfigView.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateConfigView.kt
@@ -68,4 +68,4 @@
         configValue = value
         configView.text = value
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateView.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateView.kt
index df757f9..c5b2f7a 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateView.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/coresdk/WindowStateView.kt
@@ -167,4 +167,4 @@
     companion object {
         private val TIME_FORMAT = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoAdapter.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoAdapter.kt
index 5bc46ae..4834333 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoAdapter.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoAdapter.kt
@@ -36,4 +36,4 @@
     override fun getItemCount(): Int {
         return demoItems.size
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoItem.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoItem.kt
index 88f3c65..c37223a6 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoItem.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoItem.kt
@@ -17,4 +17,4 @@
 
 import android.app.Activity
 
-class DemoItem(val description: String, val buttonTitle: String, val clazz: Class<out Activity>)
\ No newline at end of file
+class DemoItem(val description: String, val buttonTitle: String, val clazz: Class<out Activity>)
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoVH.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoVH.kt
index d986288..09a0901 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoVH.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/DemoVH.kt
@@ -36,4 +36,4 @@
             view.context.startActivity(intent)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/WindowDemosActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/WindowDemosActivity.kt
index 19c0156..109394a 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/demos/WindowDemosActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/demos/WindowDemosActivity.kt
@@ -75,4 +75,4 @@
 
         recyclerView.adapter = DemoAdapter(demoItems)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt
index d8130d1..d06ea28 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/DemoActivityEmbeddingController.kt
@@ -81,4 +81,4 @@
             return globalInstance!!
         }
     }
-}
\ No newline at end of file
+}
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 a797d43..f9d8303 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
@@ -255,4 +255,4 @@
     override fun dependencies(): List<Class<out Initializer<*>>> {
         return emptyList()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExpandedDialogActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExpandedDialogActivity.kt
index 3419fcb..0c29311 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExpandedDialogActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/ExpandedDialogActivity.kt
@@ -41,4 +41,4 @@
 
         dialog.show()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityA.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityA.kt
index 94757d6..c79e224 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityA.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityA.kt
@@ -16,4 +16,4 @@
 
 package androidx.window.demo.embedding
 
-open class SplitActivityA : SplitActivityBase()
\ No newline at end of file
+open class SplitActivityA : SplitActivityBase()
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityB.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityB.kt
index 90a67dd..aec91b9 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityB.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityB.kt
@@ -36,4 +36,4 @@
             intent.removeExtra(EXTRA_LAUNCH_C_TO_SIDE)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityD.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityD.kt
index a9ec11a..705dfee 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityD.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityD.kt
@@ -27,4 +27,4 @@
         findViewById<View>(R.id.root_split_activity_layout)
             .setBackgroundColor(Color.parseColor("#eeeeee"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityDetail.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityDetail.kt
index 5db4314..53b8f6d 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityDetail.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityDetail.kt
@@ -45,4 +45,4 @@
     companion object {
         const val EXTRA_SELECTED_ITEM = "selected_item"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityE.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityE.kt
index 17c43b1..2766a7c 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityE.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityE.kt
@@ -27,4 +27,4 @@
         findViewById<View>(R.id.root_split_activity_layout)
             .setBackgroundColor(Color.parseColor("#ede7f6"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityF.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityF.kt
index 325524e..5fbf9ce 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityF.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityF.kt
@@ -27,4 +27,4 @@
         findViewById<View>(R.id.root_split_activity_layout)
             .setBackgroundColor(Color.parseColor("#ffebee"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityList.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityList.kt
index 345b5eb..050cf98 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityList.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityList.kt
@@ -62,4 +62,4 @@
         startIntent.putExtra(EXTRA_SELECTED_ITEM, text)
         startActivity(startIntent)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityListPlaceholder.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityListPlaceholder.kt
index ab08fe7..efddba7 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityListPlaceholder.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityListPlaceholder.kt
@@ -16,4 +16,4 @@
 
 package androidx.window.demo.embedding
 
-open class SplitActivityListPlaceholder : SplitActivityPlaceholder()
\ No newline at end of file
+open class SplitActivityListPlaceholder : SplitActivityPlaceholder()
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityPlaceholder.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityPlaceholder.kt
index 380b5b7..687f931 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityPlaceholder.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityPlaceholder.kt
@@ -32,4 +32,4 @@
 
         viewBinding.rootSplitActivityLayout.setBackgroundColor(Color.parseColor("#eeeeee"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityTrampoline.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityTrampoline.kt
index 3732156..173d596 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityTrampoline.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitActivityTrampoline.kt
@@ -54,4 +54,4 @@
 
         finish()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleActivityBase.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleActivityBase.kt
index ccde719..e4ed4d3 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleActivityBase.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleActivityBase.kt
@@ -113,4 +113,4 @@
             SplitAttributes.LayoutDirection.BOTTOM_TO_TOP,
         )
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleMainActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleMainActivity.kt
index 1ee12e7..1021af3 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleMainActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleMainActivity.kt
@@ -423,4 +423,4 @@
         internal const val EXTRA_LAUNCH_SECONDARY = "launch_secondary"
         internal const val TAG_CUSTOMIZED_SPLIT_ATTRIBUTES = "customized_split_attributes"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePlaceholderActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePlaceholderActivity.kt
index e9fc3b7..2f65329 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePlaceholderActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePlaceholderActivity.kt
@@ -25,4 +25,4 @@
 
         viewBinding.rootSplitActivityLayout.setBackgroundColor(Color.parseColor("#eeeeee"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePrimaryActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePrimaryActivity.kt
index 07f269d..097da84 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePrimaryActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesTogglePrimaryActivity.kt
@@ -106,4 +106,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleSecondaryActivity.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleSecondaryActivity.kt
index 502fb72..eac978a 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleSecondaryActivity.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitAttributesToggleSecondaryActivity.kt
@@ -199,4 +199,4 @@
     override fun onNothingSelected(view: AdapterView<*>?) {
         // Auto-generated method stub
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityA.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityA.kt
index 9ba2ac3..d28577c 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityA.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityA.kt
@@ -16,4 +16,4 @@
 
 package androidx.window.demo.embedding
 
-class SplitDeviceStateActivityA : SplitDeviceStateActivityBase()
\ No newline at end of file
+class SplitDeviceStateActivityA : SplitDeviceStateActivityBase()
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityB.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityB.kt
index 6711d76..e018e7f 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityB.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityB.kt
@@ -27,4 +27,4 @@
         findViewById<View>(R.id.root_split_activity_layout)
             .setBackgroundColor(Color.parseColor("#fff3e0"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt
index dbb25ec..16aad4f 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitDeviceStateActivityBase.kt
@@ -395,4 +395,4 @@
          */
         const val DEFAULT_MINIMUM_WIDTH_DP = 600
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityBase.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityBase.kt
index fa767bf..e9670f8 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityBase.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityBase.kt
@@ -34,4 +34,4 @@
         viewBinding = ActivitySplitImeLayoutBinding.inflate(layoutInflater)
         setContentView(viewBinding.root)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityMain.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityMain.kt
index d866e9f..bd4fb12 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityMain.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityMain.kt
@@ -25,4 +25,4 @@
         super.onCreate(savedInstanceState)
         viewBinding.rootSplitActivityLayout.setBackgroundColor(Color.parseColor("#e0f7fa"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityPlaceholder.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityPlaceholder.kt
index 4ecd3ac..a77c616 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityPlaceholder.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitImeActivityPlaceholder.kt
@@ -57,4 +57,4 @@
             windowManager.removeView(imeLayeringTargetPlaceholder)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityA.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityA.kt
index eaffe18..36e6f01 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityA.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityA.kt
@@ -16,4 +16,4 @@
 
 package androidx.window.demo.embedding
 
-open class SplitPipActivityA : SplitPipActivityBase()
\ No newline at end of file
+open class SplitPipActivityA : SplitPipActivityBase()
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityB.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityB.kt
index 2446624..64f2508 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityB.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityB.kt
@@ -24,4 +24,4 @@
         super.onCreate(savedInstanceState)
         viewBinding.rootSplitActivityLayout.setBackgroundColor(Color.parseColor("#fff3e0"))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityBase.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityBase.kt
index 7e62662..9c53836 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityBase.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityBase.kt
@@ -307,4 +307,4 @@
             ruleController.addRule(rule)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityNoPip.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityNoPip.kt
index 0af97fb..6df6b7d 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityNoPip.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityNoPip.kt
@@ -23,4 +23,4 @@
         super.onCreate(savedInstanceState)
         viewBinding.placeholderText.text = "PiP not supported"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityPlaceholder.kt b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityPlaceholder.kt
index 5989917..9404edd 100644
--- a/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityPlaceholder.kt
+++ b/window/window-demos/demo/src/main/java/androidx/window/demo/embedding/SplitPipActivityPlaceholder.kt
@@ -16,4 +16,4 @@
 
 package androidx.window.demo.embedding
 
-open class SplitPipActivityPlaceholder : SplitActivityPlaceholder()
\ No newline at end of file
+open class SplitPipActivityPlaceholder : SplitActivityPlaceholder()
diff --git a/window/window-java/src/androidTest/java/androidx/window/java/TestConsumer.kt b/window/window-java/src/androidTest/java/androidx/window/java/TestConsumer.kt
index e96e396..cb53396 100644
--- a/window/window-java/src/androidTest/java/androidx/window/java/TestConsumer.kt
+++ b/window/window-java/src/androidTest/java/androidx/window/java/TestConsumer.kt
@@ -38,4 +38,4 @@
         assertValueCount(1)
         assertEquals(t, values.first())
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerCallbackAdapter.kt b/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerCallbackAdapter.kt
index 3bd79e7..a5697db 100644
--- a/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerCallbackAdapter.kt
+++ b/window/window-java/src/main/java/androidx/window/java/area/WindowAreaControllerCallbackAdapter.kt
@@ -64,4 +64,4 @@
     fun removeWindowAreaInfoListListener(listener: Consumer<List<WindowAreaInfo>>) {
         callbackToFlowAdapter.disconnect(listener)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-java/src/main/java/androidx/window/java/core/CallbackToFlowAdapter.kt b/window/window-java/src/main/java/androidx/window/java/core/CallbackToFlowAdapter.kt
index 67c2e86..175c1ada 100644
--- a/window/window-java/src/main/java/androidx/window/java/core/CallbackToFlowAdapter.kt
+++ b/window/window-java/src/main/java/androidx/window/java/core/CallbackToFlowAdapter.kt
@@ -61,4 +61,4 @@
             consumerToJobMap.remove(consumer)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-java/src/main/java/androidx/window/java/embedding/SplitControllerCallbackAdapter.kt b/window/window-java/src/main/java/androidx/window/java/embedding/SplitControllerCallbackAdapter.kt
index d5b4db9..98b14ba 100644
--- a/window/window-java/src/main/java/androidx/window/java/embedding/SplitControllerCallbackAdapter.kt
+++ b/window/window-java/src/main/java/androidx/window/java/embedding/SplitControllerCallbackAdapter.kt
@@ -74,4 +74,4 @@
     fun removeSplitListener(consumer: Consumer<List<SplitInfo>>) {
         callbackToFlowAdapter.disconnect(consumer)
     }
-}
\ No newline at end of file
+}
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 f924a0f..765c903 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
@@ -62,4 +62,4 @@
 
         verifyNoMoreInteractions(consumer)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/androidTest/java/androidx/window/testing/TestActivity.kt b/window/window-testing/src/androidTest/java/androidx/window/testing/TestActivity.kt
index 510278d..993ebaf 100644
--- a/window/window-testing/src/androidTest/java/androidx/window/testing/TestActivity.kt
+++ b/window/window-testing/src/androidTest/java/androidx/window/testing/TestActivity.kt
@@ -21,4 +21,4 @@
 /**
  * A test [Activity] for testing purposes.
  */
-public class TestActivity : Activity()
\ No newline at end of file
+public class TestActivity : Activity()
diff --git a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/DisplayFeatureTestingTest.kt b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/DisplayFeatureTestingTest.kt
index d9ab535..a3db94b 100644
--- a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/DisplayFeatureTestingTest.kt
+++ b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/DisplayFeatureTestingTest.kt
@@ -148,4 +148,4 @@
             assertEquals(expected.state, actual.state)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/Utils.kt b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/Utils.kt
index 9c57994..483f289 100644
--- a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/Utils.kt
+++ b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/Utils.kt
@@ -27,4 +27,4 @@
     fun assumePlatformAtOrBelow(version: Int) {
         Assume.assumeTrue(Build.VERSION.SDK_INT <= version)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRuleTest.kt b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRuleTest.kt
index 8f2df43..926e65d 100644
--- a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRuleTest.kt
+++ b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRuleTest.kt
@@ -182,4 +182,4 @@
     }
 
     private object TestException : Exception("TEST EXCEPTION")
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoTestingTest.kt b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoTestingTest.kt
index 4e7e644..a50f84a 100644
--- a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoTestingTest.kt
+++ b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowLayoutInfoTestingTest.kt
@@ -41,4 +41,4 @@
 
         assertEquals(expected, actual)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowMetricsCalculatorRuleTest.kt b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowMetricsCalculatorRuleTest.kt
index a663eaf..7ca466f 100644
--- a/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowMetricsCalculatorRuleTest.kt
+++ b/window/window-testing/src/androidTest/java/androidx/window/testing/layout/WindowMetricsCalculatorRuleTest.kt
@@ -180,4 +180,4 @@
     }
 
     private object TestException : Exception("TEST EXCEPTION")
-}
\ No newline at end of file
+}
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 70f2ba7..7f376e8 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
@@ -91,4 +91,4 @@
     fun overrideSplitInfo(activity: Activity, splitInfoList: List<SplitInfo>) {
         stubEmbeddingBackend.overrideSplitInfo(activity, splitInfoList)
     }
-}
\ No newline at end of file
+}
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 879ed68..cb71422 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
@@ -45,4 +45,4 @@
 @RestrictTo(RestrictTo.Scope.LIBRARY)
 @VisibleForTesting
 @JvmField
-val TEST_ACTIVITY_STACK_TOKEN = Binder()
\ No newline at end of file
+val TEST_ACTIVITY_STACK_TOKEN = Binder()
diff --git a/window/window-testing/src/main/java/androidx/window/testing/embedding/SplitInfoTesting.kt b/window/window-testing/src/main/java/androidx/window/testing/embedding/SplitInfoTesting.kt
index 1ed7844..b010299 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/embedding/SplitInfoTesting.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/embedding/SplitInfoTesting.kt
@@ -50,4 +50,4 @@
     TEST_SPLIT_INFO_TOKEN
 )
 
-private val TEST_SPLIT_INFO_TOKEN = Binder()
\ No newline at end of file
+private val TEST_SPLIT_INFO_TOKEN = Binder()
diff --git a/window/window-testing/src/main/java/androidx/window/testing/embedding/StubEmbeddingBackendDecorator.kt b/window/window-testing/src/main/java/androidx/window/testing/embedding/StubEmbeddingBackendDecorator.kt
index 94bbc1a..9ed034f 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/embedding/StubEmbeddingBackendDecorator.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/embedding/StubEmbeddingBackendDecorator.kt
@@ -28,4 +28,4 @@
     override fun decorate(embeddingBackend: EmbeddingBackend): EmbeddingBackend {
         return stubEmbeddingBackend
     }
-}
\ No newline at end of file
+}
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 5bf4fac..377fa77 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
@@ -214,4 +214,4 @@
             "$isSeparating, occlusionType = $occlusionType, orientation = $orientation, state = " +
             "$state"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/PublishLayoutInfoTracker.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/PublishLayoutInfoTracker.kt
index 22b4af7..9f0ef8b 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/PublishLayoutInfoTracker.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/PublishLayoutInfoTracker.kt
@@ -35,4 +35,4 @@
     override fun windowLayoutInfo(@UiContext context: Context): Flow<WindowLayoutInfo> {
         return flow
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/PublishWindowInfoTrackerDecorator.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/PublishWindowInfoTrackerDecorator.kt
index 6022b32..f1e9a71 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/PublishWindowInfoTrackerDecorator.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/PublishWindowInfoTrackerDecorator.kt
@@ -27,4 +27,4 @@
     override fun decorate(tracker: WindowInfoTracker): WindowInfoTracker {
         return PublishLayoutInfoTracker(tracker, flow)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/StubMetricDecorator.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/StubMetricDecorator.kt
index 7a8eeb2..41b7931 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/StubMetricDecorator.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/StubMetricDecorator.kt
@@ -26,4 +26,4 @@
     override fun decorate(calculator: WindowMetricsCalculator): WindowMetricsCalculator {
         return StubWindowMetricsCalculator()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/StubWindowMetricsCalculator.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/StubWindowMetricsCalculator.kt
index 5a040ab..a057f1c 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/StubWindowMetricsCalculator.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/StubWindowMetricsCalculator.kt
@@ -96,4 +96,4 @@
             display.getRealSize(point)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRule.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRule.kt
index b8d4b070..c851198 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRule.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoPublisherRule.kt
@@ -73,4 +73,4 @@
     fun overrideWindowLayoutInfo(info: WindowLayoutInfo) {
         flow.tryEmit(info)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoTesting.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoTesting.kt
index da9ca79..25cf9b0 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoTesting.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/WindowLayoutInfoTesting.kt
@@ -31,4 +31,4 @@
 @JvmOverloads
 fun TestWindowLayoutInfo(displayFeatures: List<DisplayFeature> = emptyList()): WindowLayoutInfo {
     return WindowLayoutInfo(displayFeatures)
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/main/java/androidx/window/testing/layout/WindowMetricsCalculatorRule.kt b/window/window-testing/src/main/java/androidx/window/testing/layout/WindowMetricsCalculatorRule.kt
index 10e68f1..0a86aed 100644
--- a/window/window-testing/src/main/java/androidx/window/testing/layout/WindowMetricsCalculatorRule.kt
+++ b/window/window-testing/src/main/java/androidx/window/testing/layout/WindowMetricsCalculatorRule.kt
@@ -45,4 +45,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityEmbeddingRuleTest.kt b/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityEmbeddingRuleTest.kt
index 6bd7721..03d16d5 100644
--- a/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityEmbeddingRuleTest.kt
+++ b/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityEmbeddingRuleTest.kt
@@ -333,4 +333,4 @@
     }
 
     private object TestException : Exception("TEST EXCEPTION")
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityStackTestingTest.kt b/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityStackTestingTest.kt
index 487aeab..6bde585 100644
--- a/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityStackTestingTest.kt
+++ b/window/window-testing/src/test/java/androidx/window/testing/embedding/ActivityStackTestingTest.kt
@@ -49,4 +49,4 @@
         assertTrue(activity in activityStack)
         assertFalse(activityStack.isEmpty)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitInfoTestingTest.kt b/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitInfoTestingTest.kt
index b434d3b..5bf9eeb 100644
--- a/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitInfoTestingTest.kt
+++ b/window/window-testing/src/test/java/androidx/window/testing/embedding/SplitInfoTestingTest.kt
@@ -57,4 +57,4 @@
         assertEquals(secondaryActivityStack, splitInfo.secondaryActivityStack)
         assertEquals(splitAttributes, splitInfo.splitAttributes)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/test/java/androidx/window/testing/embedding/StubEmbeddingBackendTest.kt b/window/window-testing/src/test/java/androidx/window/testing/embedding/StubEmbeddingBackendTest.kt
index 4afd0ce..d475d98 100644
--- a/window/window-testing/src/test/java/androidx/window/testing/embedding/StubEmbeddingBackendTest.kt
+++ b/window/window-testing/src/test/java/androidx/window/testing/embedding/StubEmbeddingBackendTest.kt
@@ -50,4 +50,4 @@
     fun hasListenersIsInitiallyFalse() {
         assertFalse(backend.hasSplitInfoListeners(mock()))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window-testing/src/test/java/androidx/window/testing/embedding/TestSplitInfo.kt b/window/window-testing/src/test/java/androidx/window/testing/embedding/TestSplitInfo.kt
index 8c261ef..04b385c 100644
--- a/window/window-testing/src/test/java/androidx/window/testing/embedding/TestSplitInfo.kt
+++ b/window/window-testing/src/test/java/androidx/window/testing/embedding/TestSplitInfo.kt
@@ -71,4 +71,4 @@
         isEmpty,
         token
     )
-}
\ No newline at end of file
+}
diff --git a/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt b/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt
index e244fb9..d1ac513 100644
--- a/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt
+++ b/window/window/samples/src/main/java/androidx.window.samples.embedding/SplitAttributesCalculatorSamples.kt
@@ -149,4 +149,4 @@
 /** Assume it's a valid [Application]... */
 val context = Application()
 const val TAG_SPLIT_RULE_MAIN = "main"
-const val TAG_SPLIT_RULE_EXPAND_IN_PORTRAIT = "expand_in_portrait"
\ No newline at end of file
+const val TAG_SPLIT_RULE_EXPAND_IN_PORTRAIT = "expand_in_portrait"
diff --git a/window/window/src/androidTest/java/androidx/window/TestConfigChangeHandlingActivity.kt b/window/window/src/androidTest/java/androidx/window/TestConfigChangeHandlingActivity.kt
index 541a273..7220470 100644
--- a/window/window/src/androidTest/java/androidx/window/TestConfigChangeHandlingActivity.kt
+++ b/window/window/src/androidTest/java/androidx/window/TestConfigChangeHandlingActivity.kt
@@ -16,4 +16,4 @@
 package androidx.window
 
 /** Activity that handles orientation configuration change.  */
-internal class TestConfigChangeHandlingActivity : TestActivity()
\ No newline at end of file
+internal class TestConfigChangeHandlingActivity : TestActivity()
diff --git a/window/window/src/androidTest/java/androidx/window/WindowPropertiesTest.kt b/window/window/src/androidTest/java/androidx/window/WindowPropertiesTest.kt
index 57f5d51..ca75428 100644
--- a/window/window/src/androidTest/java/androidx/window/WindowPropertiesTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/WindowPropertiesTest.kt
@@ -135,4 +135,4 @@
         }
         return property.boolean
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/WindowTestUtils.kt b/window/window/src/androidTest/java/androidx/window/WindowTestUtils.kt
index d9ae80b..9d019d4 100644
--- a/window/window/src/androidTest/java/androidx/window/WindowTestUtils.kt
+++ b/window/window/src/androidTest/java/androidx/window/WindowTestUtils.kt
@@ -39,4 +39,4 @@
             assumeTrue(apiLevel > 0)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/area/SafeWindowAreaComponentProviderTest.kt b/window/window/src/androidTest/java/androidx/window/area/SafeWindowAreaComponentProviderTest.kt
index 50bb347..ccf3521 100644
--- a/window/window/src/androidTest/java/androidx/window/area/SafeWindowAreaComponentProviderTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/area/SafeWindowAreaComponentProviderTest.kt
@@ -52,4 +52,4 @@
             assertNull(safeComponent)
         }
     }
-}
\ No newline at end of file
+}
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 e664813f..4ae7871 100644
--- a/window/window/src/androidTest/java/androidx/window/area/WindowAreaControllerImplTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/area/WindowAreaControllerImplTest.kt
@@ -653,4 +653,4 @@
 
         private const val FEATURE_VENDOR_API_LEVEL = 3
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/core/ActivityComponentInfoTest.kt b/window/window/src/androidTest/java/androidx/window/core/ActivityComponentInfoTest.kt
index 267f7df..1b11dda 100644
--- a/window/window/src/androidTest/java/androidx/window/core/ActivityComponentInfoTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/core/ActivityComponentInfoTest.kt
@@ -33,4 +33,4 @@
         assertEquals(componentName.packageName, activityComponentInfo.packageName)
         assertEquals(componentName.className, activityComponentInfo.className)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/core/BoundsTest.kt b/window/window/src/androidTest/java/androidx/window/core/BoundsTest.kt
index 0dcb697..a872cdd 100644
--- a/window/window/src/androidTest/java/androidx/window/core/BoundsTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/core/BoundsTest.kt
@@ -81,4 +81,4 @@
 
         assertTrue(zeroBounds.isZero)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/embedding/RuleParserTests.kt b/window/window/src/androidTest/java/androidx/window/embedding/RuleParserTests.kt
index 03401c9..2b62a06 100644
--- a/window/window/src/androidTest/java/androidx/window/embedding/RuleParserTests.kt
+++ b/window/window/src/androidTest/java/androidx/window/embedding/RuleParserTests.kt
@@ -332,4 +332,4 @@
         const val TEST_TAG = "test"
         const val TAG_CUSTOM_ACTIVITY_RULE = "rule1"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/embedding/SafeActivityEmbeddingComponentProviderTest.kt b/window/window/src/androidTest/java/androidx/window/embedding/SafeActivityEmbeddingComponentProviderTest.kt
index 1eab9d0..bd56b26 100644
--- a/window/window/src/androidTest/java/androidx/window/embedding/SafeActivityEmbeddingComponentProviderTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/embedding/SafeActivityEmbeddingComponentProviderTest.kt
@@ -82,4 +82,4 @@
     companion object {
         private const val TAG = "SafeActivityEmbeddingComponentProviderTest"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/layout/SafeWindowLayoutComponentProviderTest.kt b/window/window/src/androidTest/java/androidx/window/layout/SafeWindowLayoutComponentProviderTest.kt
index 9855ce8..4a680cf 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/SafeWindowLayoutComponentProviderTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/SafeWindowLayoutComponentProviderTest.kt
@@ -63,4 +63,4 @@
             assertNull(safeComponent)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/androidTest/java/androidx/window/layout/util/ContextCompatHelperTest.kt b/window/window/src/androidTest/java/androidx/window/layout/util/ContextCompatHelperTest.kt
index 59d0af6..2f7d05e 100644
--- a/window/window/src/androidTest/java/androidx/window/layout/util/ContextCompatHelperTest.kt
+++ b/window/window/src/androidTest/java/androidx/window/layout/util/ContextCompatHelperTest.kt
@@ -51,4 +51,4 @@
         val contextWrapper = ContextWrapper(null)
         assertEquals(contextWrapper, unwrapUiContext(contextWrapper))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/debug/java/androidx/window/core/BuildConfig.kt b/window/window/src/debug/java/androidx/window/core/BuildConfig.kt
index 0ce7a67..8ffcdfd 100644
--- a/window/window/src/debug/java/androidx/window/core/BuildConfig.kt
+++ b/window/window/src/debug/java/androidx/window/core/BuildConfig.kt
@@ -24,4 +24,4 @@
  */
 internal object BuildConfig {
     val verificationMode: VerificationMode = STRICT
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/SafeWindowExtensionsProvider.kt b/window/window/src/main/java/androidx/window/SafeWindowExtensionsProvider.kt
index c33b215..4da6663 100644
--- a/window/window/src/main/java/androidx/window/SafeWindowExtensionsProvider.kt
+++ b/window/window/src/main/java/androidx/window/SafeWindowExtensionsProvider.kt
@@ -64,4 +64,4 @@
         get() {
             return loader.loadClass(WindowExtensionsConstants.WINDOW_EXTENSIONS_PROVIDER_CLASS)
         }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/WindowProperties.kt b/window/window/src/main/java/androidx/window/WindowProperties.kt
index 6f73640..405f79c 100644
--- a/window/window/src/main/java/androidx/window/WindowProperties.kt
+++ b/window/window/src/main/java/androidx/window/WindowProperties.kt
@@ -182,4 +182,4 @@
      */
     const val PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES =
         "android.window.PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES"
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/RearDisplayPresentationSessionPresenterImpl.kt b/window/window/src/main/java/androidx/window/area/RearDisplayPresentationSessionPresenterImpl.kt
index 4c06141..60aabc8 100644
--- a/window/window/src/main/java/androidx/window/area/RearDisplayPresentationSessionPresenterImpl.kt
+++ b/window/window/src/main/java/androidx/window/area/RearDisplayPresentationSessionPresenterImpl.kt
@@ -35,4 +35,4 @@
     override fun close() {
         windowAreaComponent.endRearDisplayPresentationSession()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaAdapter.kt b/window/window/src/main/java/androidx/window/area/WindowAreaAdapter.kt
index 24e7152..c884dc6 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaAdapter.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaAdapter.kt
@@ -43,4 +43,4 @@
             else -> WINDOW_AREA_STATUS_UNSUPPORTED
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaCapability.kt b/window/window/src/main/java/androidx/window/area/WindowAreaCapability.kt
index 8586aec..7992fbd 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaCapability.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaCapability.kt
@@ -107,4 +107,4 @@
         result = 31 * result + status.hashCode()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaInfo.kt b/window/window/src/main/java/androidx/window/area/WindowAreaInfo.kt
index e38bdaa..dcfd01f 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaInfo.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaInfo.kt
@@ -129,4 +129,4 @@
         return "WindowAreaInfo{ Metrics: $metrics, type: $type, " +
             "Capabilities: ${capabilityMap.entries} }"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaPresentationSessionCallback.kt b/window/window/src/main/java/androidx/window/area/WindowAreaPresentationSessionCallback.kt
index 2d4b8ce..05b6d2d 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaPresentationSessionCallback.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaPresentationSessionCallback.kt
@@ -54,4 +54,4 @@
      * If content was never presented, then this method will never be called.
      */
     fun onContainerVisibilityChanged(isVisible: Boolean)
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaSession.kt b/window/window/src/main/java/androidx/window/area/WindowAreaSession.kt
index 41ca43ea..7743ef0 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaSession.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaSession.kt
@@ -27,4 +27,4 @@
      * Closes the active session, no-op if the session is not currently active.
      */
     fun close()
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaSessionCallback.kt b/window/window/src/main/java/androidx/window/area/WindowAreaSessionCallback.kt
index b76e175..e551660 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaSessionCallback.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaSessionCallback.kt
@@ -37,4 +37,4 @@
      * can be expanded to alert for more errors in the future.
      */
     fun onSessionEnded(t: Throwable?)
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/WindowAreaSessionPresenter.kt b/window/window/src/main/java/androidx/window/area/WindowAreaSessionPresenter.kt
index bc8bfc8..b06cbbd 100644
--- a/window/window/src/main/java/androidx/window/area/WindowAreaSessionPresenter.kt
+++ b/window/window/src/main/java/androidx/window/area/WindowAreaSessionPresenter.kt
@@ -37,4 +37,4 @@
      * corresponding display and start showing content.
      */
     fun setContentView(view: View)
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/area/utils/DeviceMetrics.kt b/window/window/src/main/java/androidx/window/area/utils/DeviceMetrics.kt
index 009d892..f8bcab0 100644
--- a/window/window/src/main/java/androidx/window/area/utils/DeviceMetrics.kt
+++ b/window/window/src/main/java/androidx/window/area/utils/DeviceMetrics.kt
@@ -47,4 +47,4 @@
         return "DeviceMetrics{ Manufacturer: $manufacturer, model: $model, " +
             "Rear display metrics: $rearDisplayMetrics }"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/ActivityComponentInfo.kt b/window/window/src/main/java/androidx/window/core/ActivityComponentInfo.kt
index b2e1745..47a09d3d 100644
--- a/window/window/src/main/java/androidx/window/core/ActivityComponentInfo.kt
+++ b/window/window/src/main/java/androidx/window/core/ActivityComponentInfo.kt
@@ -53,4 +53,4 @@
     override fun toString(): String {
         return "ClassInfo { packageName: $packageName, className: $className }"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/Bounds.kt b/window/window/src/main/java/androidx/window/core/Bounds.kt
index 4d67a07..630c188 100644
--- a/window/window/src/main/java/androidx/window/core/Bounds.kt
+++ b/window/window/src/main/java/androidx/window/core/Bounds.kt
@@ -98,4 +98,4 @@
         result = 31 * result + bottom
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/ConsumerAdapter.kt b/window/window/src/main/java/androidx/window/core/ConsumerAdapter.kt
index af51cd0..dae0489 100644
--- a/window/window/src/main/java/androidx/window/core/ConsumerAdapter.kt
+++ b/window/window/src/main/java/androidx/window/core/ConsumerAdapter.kt
@@ -187,4 +187,4 @@
             return name == "toString" && returnType.equals(String::class.java) && args == null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/ExperimentalWindowApi.kt b/window/window/src/main/java/androidx/window/core/ExperimentalWindowApi.kt
index 686d49a..922a35c 100644
--- a/window/window/src/main/java/androidx/window/core/ExperimentalWindowApi.kt
+++ b/window/window/src/main/java/androidx/window/core/ExperimentalWindowApi.kt
@@ -19,4 +19,4 @@
 @MustBeDocumented
 @Retention(value = AnnotationRetention.BINARY)
 @RequiresOptIn(level = RequiresOptIn.Level.WARNING)
-public annotation class ExperimentalWindowApi
\ No newline at end of file
+public annotation class ExperimentalWindowApi
diff --git a/window/window/src/main/java/androidx/window/core/ExtensionsUtil.kt b/window/window/src/main/java/androidx/window/core/ExtensionsUtil.kt
index 1752b12..d12062c 100644
--- a/window/window/src/main/java/androidx/window/core/ExtensionsUtil.kt
+++ b/window/window/src/main/java/androidx/window/core/ExtensionsUtil.kt
@@ -53,4 +53,4 @@
     internal fun resetOverrideVendorApiLevel() {
         overrideVendorApiLevel = null
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/PredicateAdapter.kt b/window/window/src/main/java/androidx/window/core/PredicateAdapter.kt
index 0685df8..bb38227 100644
--- a/window/window/src/main/java/androidx/window/core/PredicateAdapter.kt
+++ b/window/window/src/main/java/androidx/window/core/PredicateAdapter.kt
@@ -145,4 +145,4 @@
             return predicate.toString()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/SpecificationComputer.kt b/window/window/src/main/java/androidx/window/core/SpecificationComputer.kt
index 11434c2..27726df 100644
--- a/window/window/src/main/java/androidx/window/core/SpecificationComputer.kt
+++ b/window/window/src/main/java/androidx/window/core/SpecificationComputer.kt
@@ -170,4 +170,4 @@
     override fun debug(tag: String, message: String) {
         Log.d(tag, message)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/VerificationMode.kt b/window/window/src/main/java/androidx/window/core/VerificationMode.kt
index d5fd8a5..0b50148 100644
--- a/window/window/src/main/java/androidx/window/core/VerificationMode.kt
+++ b/window/window/src/main/java/androidx/window/core/VerificationMode.kt
@@ -23,4 +23,4 @@
     STRICT,
     LOG,
     QUIET
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/core/Version.kt b/window/window/src/main/java/androidx/window/core/Version.kt
index ce05070..acdefb5 100644
--- a/window/window/src/main/java/androidx/window/core/Version.kt
+++ b/window/window/src/main/java/androidx/window/core/Version.kt
@@ -104,4 +104,4 @@
             return Version(major, minor, patch, description)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingAspectRatio.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingAspectRatio.kt
index e09b9a4..67330c9 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingAspectRatio.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingAspectRatio.kt
@@ -105,4 +105,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingBackend.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingBackend.kt
index c8825c0..f35d5de 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingBackend.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingBackend.kt
@@ -105,4 +105,4 @@
      * Returns an instance of [EmbeddingBackend]
      */
     fun decorate(embeddingBackend: EmbeddingBackend): EmbeddingBackend
-}
\ No newline at end of file
+}
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 a3559bb..2c543f3 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingCompat.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingCompat.kt
@@ -206,4 +206,4 @@
             ) { _, _, _ -> } as ActivityEmbeddingComponent
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingInterfaceCompat.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingInterfaceCompat.kt
index 26d8846..ccfba1d 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingInterfaceCompat.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingInterfaceCompat.kt
@@ -56,4 +56,4 @@
     fun updateSplitAttributes(splitInfo: SplitInfo, splitAttributes: SplitAttributes)
 
     fun areSplitAttributesUpdatesSupported(): Boolean
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/EmbeddingRule.kt b/window/window/src/main/java/androidx/window/embedding/EmbeddingRule.kt
index 99287fd..c456091 100644
--- a/window/window/src/main/java/androidx/window/embedding/EmbeddingRule.kt
+++ b/window/window/src/main/java/androidx/window/embedding/EmbeddingRule.kt
@@ -42,4 +42,4 @@
     override fun hashCode(): Int {
         return tag.hashCode()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/ExtensionEmbeddingBackend.kt b/window/window/src/main/java/androidx/window/embedding/ExtensionEmbeddingBackend.kt
index 49f364a..c7f4c3b 100644
--- a/window/window/src/main/java/androidx/window/embedding/ExtensionEmbeddingBackend.kt
+++ b/window/window/src/main/java/androidx/window/embedding/ExtensionEmbeddingBackend.kt
@@ -435,4 +435,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/RuleController.kt b/window/window/src/main/java/androidx/window/embedding/RuleController.kt
index 4ede326..192f3ec 100644
--- a/window/window/src/main/java/androidx/window/embedding/RuleController.kt
+++ b/window/window/src/main/java/androidx/window/embedding/RuleController.kt
@@ -133,4 +133,4 @@
         fun parseRules(context: Context, @XmlRes staticRuleResourceId: Int): Set<EmbeddingRule> =
             RuleParser.parseRules(context.applicationContext, staticRuleResourceId) ?: emptySet()
     }
-}
\ No newline at end of file
+}
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 be35e2a..f980f1e 100644
--- a/window/window/src/main/java/androidx/window/embedding/SafeActivityEmbeddingComponentProvider.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SafeActivityEmbeddingComponentProvider.kt
@@ -190,4 +190,4 @@
         get() {
             return loader.loadClass(ACTIVITY_EMBEDDING_COMPONENT_CLASS)
         }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt b/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt
index d0c39b2..3e22b1a 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitAttributes.kt
@@ -436,4 +436,4 @@
          */
         fun build(): SplitAttributes = SplitAttributes(splitType, layoutDirection)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitAttributesCalculatorParams.kt b/window/window/src/main/java/androidx/window/embedding/SplitAttributesCalculatorParams.kt
index 40453be..ced97c9 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitAttributesCalculatorParams.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitAttributesCalculatorParams.kt
@@ -68,4 +68,4 @@
             ", defaultSplitAttributes=$defaultSplitAttributes" +
             ", areDefaultConstraintsSatisfied=$areDefaultConstraintsSatisfied" +
             ", tag=$splitRuleTag}"
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitController.kt b/window/window/src/main/java/androidx/window/embedding/SplitController.kt
index d3279546..e478ff7 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitController.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitController.kt
@@ -270,4 +270,4 @@
             return SplitController(backend)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitInfo.kt b/window/window/src/main/java/androidx/window/embedding/SplitInfo.kt
index 81adda5..362b032 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitInfo.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitInfo.kt
@@ -77,4 +77,4 @@
             append("}")
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitPairFilter.kt b/window/window/src/main/java/androidx/window/embedding/SplitPairFilter.kt
index 399401b..c806948 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitPairFilter.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitPairFilter.kt
@@ -191,4 +191,4 @@
         result = 31 * result + (secondaryActivityIntentAction?.hashCode() ?: 0)
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitPairRule.kt b/window/window/src/main/java/androidx/window/embedding/SplitPairRule.kt
index 7ea22f8..a69ddb6 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitPairRule.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitPairRule.kt
@@ -334,4 +334,4 @@
             ", finishSecondaryWithPrimary=$finishSecondaryWithPrimary" +
             ", filters=$filters" +
             "}"
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitPlaceholderRule.kt b/window/window/src/main/java/androidx/window/embedding/SplitPlaceholderRule.kt
index 2639171..dbc9c6e 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitPlaceholderRule.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitPlaceholderRule.kt
@@ -339,4 +339,4 @@
              ", finishPrimaryWithPlaceholder=$finishPrimaryWithPlaceholder" +
              ", filters=$filters" +
              "}"
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/embedding/SplitRule.kt b/window/window/src/main/java/androidx/window/embedding/SplitRule.kt
index 765876e..75d2af5 100644
--- a/window/window/src/main/java/androidx/window/embedding/SplitRule.kt
+++ b/window/window/src/main/java/androidx/window/embedding/SplitRule.kt
@@ -336,4 +336,4 @@
             ", maxAspectRatioInPortrait=$maxAspectRatioInPortrait" +
             ", maxAspectRatioInLandscape=$maxAspectRatioInLandscape" +
             "}"
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/HardwareFoldingFeature.kt b/window/window/src/main/java/androidx/window/layout/HardwareFoldingFeature.kt
index aad7487..fc52702 100644
--- a/window/window/src/main/java/androidx/window/layout/HardwareFoldingFeature.kt
+++ b/window/window/src/main/java/androidx/window/layout/HardwareFoldingFeature.kt
@@ -122,4 +122,4 @@
             val HINGE: Type = Type("HINGE")
         }
     }
-}
\ No newline at end of file
+}
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 132ff58..3a10007 100644
--- a/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculator.kt
+++ b/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculator.kt
@@ -172,4 +172,4 @@
      * Returns an instance of [WindowMetricsCalculator]
      */
     fun decorate(calculator: WindowMetricsCalculator): WindowMetricsCalculator
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculatorCompat.kt b/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculatorCompat.kt
index 5087722..6b7c4f2 100644
--- a/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculatorCompat.kt
+++ b/window/window/src/main/java/androidx/window/layout/WindowMetricsCalculatorCompat.kt
@@ -472,4 +472,4 @@
         }
         return windowInsetsCompat
     }
-}
\ No newline at end of file
+}
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 2f83e75..3fb8004 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
@@ -50,4 +50,4 @@
     fun hasRegisteredListeners(): Boolean {
         return false
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0.kt b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0.kt
index 8e257a2..39e2cfe 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0.kt
@@ -35,4 +35,4 @@
     override fun unregisterLayoutChangeCallback(callback: Consumer<WindowLayoutInfo>) {
         // empty implementation since there are no consumers
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi1.kt b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi1.kt
index 0d76b61..1446a39 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi1.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi1.kt
@@ -120,4 +120,4 @@
         return !(contextToListeners.isEmpty() && listenerToContext.isEmpty() &&
             consumerToToken.isEmpty())
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi2.kt b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi2.kt
index 5e25f8a..1c60c33 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi2.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi2.kt
@@ -96,4 +96,4 @@
     override fun hasRegisteredListeners(): Boolean {
         return !(contextToListeners.isEmpty() && listenerToContext.isEmpty())
     }
-}
\ No newline at end of file
+}
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 5f4a31b..1c5fb13 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
@@ -113,4 +113,4 @@
 
         return true
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/extensions/MulticastConsumer.kt b/window/window/src/main/java/androidx/window/layout/adapter/extensions/MulticastConsumer.kt
index 0977d4a..b57f88f 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/extensions/MulticastConsumer.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/extensions/MulticastConsumer.kt
@@ -60,4 +60,4 @@
     fun isEmpty(): Boolean {
         return registeredListeners.isEmpty()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/sidecar/ExtensionInterfaceCompat.kt b/window/window/src/main/java/androidx/window/layout/adapter/sidecar/ExtensionInterfaceCompat.kt
index acb3ed3..4320e4a 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/sidecar/ExtensionInterfaceCompat.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/sidecar/ExtensionInterfaceCompat.kt
@@ -56,4 +56,4 @@
          */
         fun onWindowLayoutChanged(activity: Activity, newLayout: WindowLayoutInfo)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarCompat.kt b/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarCompat.kt
index 233d710..d3f5aab 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarCompat.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarCompat.kt
@@ -432,4 +432,4 @@
             return activity?.window?.attributes?.token
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackend.kt b/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackend.kt
index 79fd244..57da910 100644
--- a/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackend.kt
+++ b/window/window/src/main/java/androidx/window/layout/adapter/sidecar/SidecarWindowBackend.kt
@@ -250,4 +250,4 @@
             globalInstance = null
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/util/ContextCompatHelper.kt b/window/window/src/main/java/androidx/window/layout/util/ContextCompatHelper.kt
index b5b1422..2b5af8a 100644
--- a/window/window/src/main/java/androidx/window/layout/util/ContextCompatHelper.kt
+++ b/window/window/src/main/java/androidx/window/layout/util/ContextCompatHelper.kt
@@ -99,4 +99,4 @@
             .currentWindowMetrics.windowInsets
         return WindowInsetsCompat.toWindowInsetsCompat(platformInsets)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/main/java/androidx/window/layout/util/DisplayCompatHelper.kt b/window/window/src/main/java/androidx/window/layout/util/DisplayCompatHelper.kt
index 8532337..09afea5 100644
--- a/window/window/src/main/java/androidx/window/layout/util/DisplayCompatHelper.kt
+++ b/window/window/src/main/java/androidx/window/layout/util/DisplayCompatHelper.kt
@@ -49,4 +49,4 @@
     fun safeInsetBottom(displayCutout: DisplayCutout): Int {
         return displayCutout.safeInsetBottom
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/release/java/androidx/window/core/BuildConfig.kt b/window/window/src/release/java/androidx/window/core/BuildConfig.kt
index fa2c094..955ad66e 100644
--- a/window/window/src/release/java/androidx/window/core/BuildConfig.kt
+++ b/window/window/src/release/java/androidx/window/core/BuildConfig.kt
@@ -24,4 +24,4 @@
  */
 internal object BuildConfig {
     val verificationMode: VerificationMode = QUIET
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/core/ActivityComponentInfoTest.kt b/window/window/src/test/java/androidx/window/core/ActivityComponentInfoTest.kt
index 64823b7..03f0d3b 100644
--- a/window/window/src/test/java/androidx/window/core/ActivityComponentInfoTest.kt
+++ b/window/window/src/test/java/androidx/window/core/ActivityComponentInfoTest.kt
@@ -37,4 +37,4 @@
         const val PACKAGE_NAME = "package"
         const val CLASS_NAME = "ClassName"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/core/BoundsTest.kt b/window/window/src/test/java/androidx/window/core/BoundsTest.kt
index 0d19d4a..c18042d 100644
--- a/window/window/src/test/java/androidx/window/core/BoundsTest.kt
+++ b/window/window/src/test/java/androidx/window/core/BoundsTest.kt
@@ -100,4 +100,4 @@
         const val dimension = 100
         const val doubleDimension = 200
     }
-}
\ No newline at end of file
+}
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 22dd2b4..1b8c8e9 100644
--- a/window/window/src/test/java/androidx/window/core/ConsumerAdapterTest.kt
+++ b/window/window/src/test/java/androidx/window/core/ConsumerAdapterTest.kt
@@ -156,4 +156,4 @@
         adapter.addConsumer(listenerInterface, String::class, "addConsumer", consumer)
         assertEquals(consumer.toString(), listenerInterface.consumers.first().toString())
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/core/PredicateAdapterTest.kt b/window/window/src/test/java/androidx/window/core/PredicateAdapterTest.kt
index cc8e69c..7c864ed 100644
--- a/window/window/src/test/java/androidx/window/core/PredicateAdapterTest.kt
+++ b/window/window/src/test/java/androidx/window/core/PredicateAdapterTest.kt
@@ -165,4 +165,4 @@
             )
         }
     }
-}
\ No newline at end of file
+}
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 848f97a..8cd1547 100644
--- a/window/window/src/test/java/androidx/window/core/SpecificationComputerTest.kt
+++ b/window/window/src/test/java/androidx/window/core/SpecificationComputerTest.kt
@@ -102,4 +102,4 @@
         const val TAG = "test-tag-3462353414123412"
         const val MESSAGE = "test-message-123412431241235"
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingControllerTest.kt b/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingControllerTest.kt
index 2234cc4..c4cf0b5 100644
--- a/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingControllerTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingControllerTest.kt
@@ -106,4 +106,4 @@
 
         EmbeddingBackend.reset()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingOptionsTest.kt b/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingOptionsTest.kt
index 938c0d0..d9c2127 100644
--- a/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingOptionsTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/ActivityEmbeddingOptionsTest.kt
@@ -111,4 +111,4 @@
 
         assertTrue(mockActivityOptions.isSetLaunchingActivityStackSupported())
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/ActivityRuleTest.kt b/window/window/src/test/java/androidx/window/embedding/ActivityRuleTest.kt
index d5cce1a..72a8a26 100644
--- a/window/window/src/test/java/androidx/window/embedding/ActivityRuleTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/ActivityRuleTest.kt
@@ -114,4 +114,4 @@
             null
         )
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/ActivityStackTest.kt b/window/window/src/test/java/androidx/window/embedding/ActivityStackTest.kt
index 7c905fb..27a9e13 100644
--- a/window/window/src/test/java/androidx/window/embedding/ActivityStackTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/ActivityStackTest.kt
@@ -76,4 +76,4 @@
         assertTrue(stackString.contains(isEmpty.toString()))
         assertTrue(stackString.contains(token.toString()))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/EmbeddingAspectRatioTest.kt b/window/window/src/test/java/androidx/window/embedding/EmbeddingAspectRatioTest.kt
index fc5fb0c..1b4bf36 100644
--- a/window/window/src/test/java/androidx/window/embedding/EmbeddingAspectRatioTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/EmbeddingAspectRatioTest.kt
@@ -65,4 +65,4 @@
             EmbeddingAspectRatio.buildAspectRatioFromValue(1.1f)
         )
     }
-}
\ No newline at end of file
+}
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 029aa99..545f5f2 100644
--- a/window/window/src/test/java/androidx/window/embedding/EmbeddingCompatTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/EmbeddingCompatTest.kt
@@ -79,4 +79,4 @@
         private val CONSUMER_ADAPTER = ConsumerAdapter(LOADER)
         private val EMBEDDING_ADAPTER = EmbeddingAdapter(PREDICATE_ADAPTER)
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/RuleControllerTest.kt b/window/window/src/test/java/androidx/window/embedding/RuleControllerTest.kt
index 901f009..384ce64 100644
--- a/window/window/src/test/java/androidx/window/embedding/RuleControllerTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/RuleControllerTest.kt
@@ -94,4 +94,4 @@
 
         EmbeddingBackend.reset()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitAttributesCalculatorParamsTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitAttributesCalculatorParamsTest.kt
index 566c225..f0065b4 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitAttributesCalculatorParamsTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitAttributesCalculatorParamsTest.kt
@@ -81,4 +81,4 @@
         assertTrue(paramsString.contains(areDefaultConstraintsSatisfied.toString()))
         assertTrue(paramsString.contains(splitRuleTag))
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt
index 7acee3d..0f466c3 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitAttributesTest.kt
@@ -129,4 +129,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitControllerTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitControllerTest.kt
index 028eafa..2188e0e 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitControllerTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitControllerTest.kt
@@ -112,4 +112,4 @@
         splitController.invalidateTopVisibleSplitAttributes()
         verify(mockBackend).invalidateTopVisibleSplitAttributes()
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitInfoTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitInfoTest.kt
index b207678..4838a39 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitInfoTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitInfoTest.kt
@@ -100,4 +100,4 @@
         isEmpty: Boolean = false,
         token: IBinder = INVALID_ACTIVITY_STACK_TOKEN,
     ): ActivityStack = ActivityStack(activitiesInProcess, isEmpty, token)
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitPairFilterTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitPairFilterTest.kt
index 5e35eae..3782edc 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitPairFilterTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitPairFilterTest.kt
@@ -218,4 +218,4 @@
         private val WILDCARD_CLASS_COMPONENT = ComponentName(FAKE_PACKAGE, "*")
         private val WILDCARD_COMPONENT = ComponentName("*", "*")
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitPairRuleTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitPairRuleTest.kt
index eeaa0f8..0a23c45 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitPairRuleTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitPairRuleTest.kt
@@ -375,4 +375,4 @@
             return Rect(0, 0, minValidWidthPx, minValidWidthPx)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitPlaceHolderRuleTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitPlaceHolderRuleTest.kt
index d8cc0fa..856fdb9 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitPlaceHolderRuleTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitPlaceHolderRuleTest.kt
@@ -355,4 +355,4 @@
             return Rect(0, 0, minValidWidthPx, minValidWidthPx)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/embedding/SplitRuleTest.kt b/window/window/src/test/java/androidx/window/embedding/SplitRuleTest.kt
index 0de2845..4c275c1 100644
--- a/window/window/src/test/java/androidx/window/embedding/SplitRuleTest.kt
+++ b/window/window/src/test/java/androidx/window/embedding/SplitRuleTest.kt
@@ -37,4 +37,4 @@
     fun test_minSmallestWidthMustBeNonNegative() {
         SplitRule(minSmallestWidthDp = -1, defaultSplitAttributes = SplitAttributes())
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/layout/HardwareFoldingFeatureTest.kt b/window/window/src/test/java/androidx/window/layout/HardwareFoldingFeatureTest.kt
index 840014a..13c9ada 100644
--- a/window/window/src/test/java/androidx/window/layout/HardwareFoldingFeatureTest.kt
+++ b/window/window/src/test/java/androidx/window/layout/HardwareFoldingFeatureTest.kt
@@ -201,4 +201,4 @@
             assertEquals(FoldingFeature.Orientation.VERTICAL, feature.orientation)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0Test.kt b/window/window/src/test/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0Test.kt
index 7b0ee0f..bcf2eb0 100644
--- a/window/window/src/test/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0Test.kt
+++ b/window/window/src/test/java/androidx/window/layout/adapter/extensions/ExtensionWindowBackendApi0Test.kt
@@ -36,4 +36,4 @@
     fun test_removingConsumer_doesNotCrash() {
         backend.unregisterLayoutChangeCallback(mock())
     }
-}
\ No newline at end of file
+}
diff --git a/window/window/src/test/java/androidx/window/reflection/ReflectionUtilsTest.kt b/window/window/src/test/java/androidx/window/reflection/ReflectionUtilsTest.kt
index bdab6f7..d02236c 100644
--- a/window/window/src/test/java/androidx/window/reflection/ReflectionUtilsTest.kt
+++ b/window/window/src/test/java/androidx/window/reflection/ReflectionUtilsTest.kt
@@ -85,4 +85,4 @@
     private fun testMethod(): Int {
         return 0
     }
-}
\ No newline at end of file
+}
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/CoroutineSleepWorker.kt b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/CoroutineSleepWorker.kt
index a706bc8..90bd74d 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/CoroutineSleepWorker.kt
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/CoroutineSleepWorker.kt
@@ -37,4 +37,4 @@
         Log.e(tag, "finished sleep; stopped=$isStopped")
         return Result.success()
     }
-}
\ No newline at end of file
+}
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/DirectBootReceiver.kt b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/DirectBootReceiver.kt
index 4c382dc..5b76c50 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/DirectBootReceiver.kt
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/DirectBootReceiver.kt
@@ -27,4 +27,4 @@
         // accessible yet.
         println("request a workmanager: ${WorkManager.getInstance(context)}")
     }
-}
\ No newline at end of file
+}
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteWorkerService2.kt b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteWorkerService2.kt
index 256bc17..cbca8fd 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteWorkerService2.kt
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/RemoteWorkerService2.kt
@@ -18,4 +18,4 @@
 
 import androidx.work.multiprocess.RemoteWorkerService
 
-class RemoteWorkerService2 : RemoteWorkerService()
\ No newline at end of file
+class RemoteWorkerService2 : RemoteWorkerService()
diff --git a/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/NoOpWorker.kt b/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/NoOpWorker.kt
index 760ffd9..40dfe8b 100644
--- a/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/NoOpWorker.kt
+++ b/work/work-benchmark/src/androidTest/java/androidx/work/benchmark/NoOpWorker.kt
@@ -28,4 +28,4 @@
     override suspend fun doWork(): Result {
         return Result.success()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/ConstraintsTest.kt b/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/ConstraintsTest.kt
index a0edc00..4ae532f 100644
--- a/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/ConstraintsTest.kt
+++ b/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/ConstraintsTest.kt
@@ -76,4 +76,4 @@
                     .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
                     .build()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/UserInitiatedTaskRequestTest.kt b/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/UserInitiatedTaskRequestTest.kt
index 73fe646..8b2f117 100644
--- a/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/UserInitiatedTaskRequestTest.kt
+++ b/work/work-datatransfer/src/androidTest/java/androidx/work/datatransfer/UserInitiatedTaskRequestTest.kt
@@ -117,4 +117,4 @@
             // test stub
         }
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/Constraints.kt b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/Constraints.kt
index 2603e0d..481fc38 100644
--- a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/Constraints.kt
+++ b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/Constraints.kt
@@ -60,4 +60,4 @@
     return NetworkRequest.Builder()
         .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
         .build()
-}
\ No newline at end of file
+}
diff --git a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/TransferInfo.kt b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/TransferInfo.kt
index 91d8cdb..7aa0a35 100644
--- a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/TransferInfo.kt
+++ b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/TransferInfo.kt
@@ -44,4 +44,4 @@
         result = 31 * result + (estimatedDownloadBytes xor (estimatedDownloadBytes ushr 32)).toInt()
         return result
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTask.kt b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTask.kt
index 1c9741d..140aa15 100644
--- a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTask.kt
+++ b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTask.kt
@@ -46,4 +46,4 @@
      * - [JobParameters.STOP_REASON_USER]
      */
     abstract suspend fun performTask()
-}
\ No newline at end of file
+}
diff --git a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTaskRequest.kt b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTaskRequest.kt
index 994d469..7fe650b 100644
--- a/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTaskRequest.kt
+++ b/work/work-datatransfer/src/main/java/androidx/work/datatransfer/UserInitiatedTaskRequest.kt
@@ -99,4 +99,4 @@
          */
         TASK_STATE_FINISHED,
     }
-}
\ No newline at end of file
+}
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 68643032..741a4e3 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
@@ -41,4 +41,4 @@
             job.join()
         }
     }
-}
\ No newline at end of file
+}
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 c4ba239..b607f18 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
@@ -35,4 +35,4 @@
         }
         return Result.success()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/ContentUriTriggerWorkersTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/ContentUriTriggerWorkersTest.kt
index 35f3978..0b6b40d 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/ContentUriTriggerWorkersTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/ContentUriTriggerWorkersTest.kt
@@ -105,4 +105,4 @@
     }
 
     override fun hasLimitedSchedulingSlots() = true
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt
index 7d3bdbc..b01fe14 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/CoroutineWorkerTest.kt
@@ -262,4 +262,4 @@
         progressUpdater,
         mForegroundUpdater
     )
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/StopReasonTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/StopReasonTest.kt
index e0b8abc..bda7fa7 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/StopReasonTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/StopReasonTest.kt
@@ -111,4 +111,4 @@
         assertThat(workInfo.state).isEqualTo(WorkInfo.State.CANCELLED)
         assertThat(workInfo.stopReason).isEqualTo(WorkInfo.STOP_REASON_NOT_STOPPED)
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/WorkInfoFlowsTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/WorkInfoFlowsTest.kt
index 1d2b7d7..d274179 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/WorkInfoFlowsTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/WorkInfoFlowsTest.kt
@@ -145,4 +145,4 @@
         assertThat(secondList.size).isEqualTo(2)
         assertThat(secondList.map { it.id }).containsExactly(request1.id, request2.id)
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkContinuationImplTestKt.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkContinuationImplTestKt.kt
index 45c8b78..4f79d7e 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkContinuationImplTestKt.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkContinuationImplTestKt.kt
@@ -77,4 +77,4 @@
         val intArray = info.outputData.getIntArray(intTag)!!.sortedArray()
         assertThat(intArray).isEqualTo(intArrayOf(1, 3))
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkManagerInitializationTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkManagerInitializationTest.kt
index ee46004..3078798 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkManagerInitializationTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkManagerInitializationTest.kt
@@ -61,4 +61,4 @@
     override fun isDeviceProtectedStorage() = deviceProtectedStorage
 
     override fun getApplicationContext() = this
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkerWrapperTestKt.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkerWrapperTestKt.kt
index 0565d6c..c6bd5c0 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkerWrapperTestKt.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/WorkerWrapperTestKt.kt
@@ -144,4 +144,4 @@
         doWork.complete(Unit)
         return result.await()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/background/WorkManagerImplTestKt.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/background/WorkManagerImplTestKt.kt
index 1fd0a4bf..702d26d 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/background/WorkManagerImplTestKt.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/background/WorkManagerImplTestKt.kt
@@ -77,4 +77,4 @@
         secondValueLatch.await()
         assertThat(secondCancelAll).isEqualTo(50)
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/WorkConstraintsTrackerTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/WorkConstraintsTrackerTest.kt
index 48ff014..0a8dac5 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/WorkConstraintsTrackerTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/WorkConstraintsTrackerTest.kt
@@ -134,4 +134,4 @@
 ): WorkConstraintsTracker {
     val controllers = trackers.map { TestConstraintController(it, TEST_WORKSPEC_IDS) }
     return WorkConstraintsTracker(controllers)
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.kt
index f514d4a..35fd295 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/constraints/controllers/ConstraintControllerTest.kt
@@ -111,4 +111,4 @@
 
 private val ConstraintsNotMet: ConstraintsNotMet = ConstraintsNotMet(
     StopReason(STOP_REASON_CONSTRAINT_DEVICE_IDLE)
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestConstraints.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestConstraints.kt
index e7050c9..a452673 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestConstraints.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestConstraints.kt
@@ -65,4 +65,4 @@
 val ConstraintsNotMet = ConstraintsState.ConstraintsNotMet(StopReason.ConstraintTest)
 
 val StopReason.Companion.ConstraintTest
-    get() = StopReason(234234234)
\ No newline at end of file
+    get() = StopReason(234234234)
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestOverrideClock.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestOverrideClock.kt
index 5a43269..0405bd1 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestOverrideClock.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TestOverrideClock.kt
@@ -30,4 +30,4 @@
         return if (currentTimeMillis == Long.MAX_VALUE) System.currentTimeMillis()
         else currentTimeMillis
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TrackingWorkerFactory.kt b/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TrackingWorkerFactory.kt
index b541a24..ff18431 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TrackingWorkerFactory.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/impl/testutils/TrackingWorkerFactory.kt
@@ -56,4 +56,4 @@
     suspend fun await(id: UUID): ListenableWorker {
         return createdWorkers.map { it[id] }.filterNotNull().first()
     }
-}
\ No newline at end of file
+}
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 814e22f..adf7c5c 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
@@ -73,4 +73,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/testutils/FlowTester.kt b/work/work-runtime/src/androidTest/java/androidx/work/testutils/FlowTester.kt
index 9c5c203..f2eafe6 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/testutils/FlowTester.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/testutils/FlowTester.kt
@@ -57,4 +57,4 @@
     fun launch(scope: CoroutineScope) {
         flow.onEach { channel.send(it) }.launchIn(scope)
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/testutils/TestEnv.kt b/work/work-runtime/src/androidTest/java/androidx/work/testutils/TestEnv.kt
index 15288f2..2b138c8 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/testutils/TestEnv.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/testutils/TestEnv.kt
@@ -52,4 +52,4 @@
 fun WorkManager(env: TestEnv, schedulers: List<Scheduler>, trackers: Trackers) = WorkManagerImpl(
     env.context, env.configuration, env.taskExecutor, env.db, schedulers,
     env.processor, trackers
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/worker/CompletableWorker.kt b/work/work-runtime/src/androidTest/java/androidx/work/worker/CompletableWorker.kt
index 39577a9..5809434 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/worker/CompletableWorker.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/worker/CompletableWorker.kt
@@ -27,4 +27,4 @@
 ) : CoroutineWorker(appContext, params) {
     val result = CompletableDeferred<Result>()
     override suspend fun doWork() = result.await()
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/androidTest/java/androidx/work/worker/ProgressUpdatingWorker.kt b/work/work-runtime/src/androidTest/java/androidx/work/worker/ProgressUpdatingWorker.kt
index 2cd3acb..977be7d 100644
--- a/work/work-runtime/src/androidTest/java/androidx/work/worker/ProgressUpdatingWorker.kt
+++ b/work/work-runtime/src/androidTest/java/androidx/work/worker/ProgressUpdatingWorker.kt
@@ -44,4 +44,4 @@
             else -> Result.success()
         }
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/ArrayCreatingInputMerger.kt b/work/work-runtime/src/main/java/androidx/work/ArrayCreatingInputMerger.kt
index 5435ca2..aa4bb47 100644
--- a/work/work-runtime/src/main/java/androidx/work/ArrayCreatingInputMerger.kt
+++ b/work/work-runtime/src/main/java/androidx/work/ArrayCreatingInputMerger.kt
@@ -102,4 +102,4 @@
         Array.set(newArray, 0, obj)
         return newArray
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt b/work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
index e0539b6..541a6f9 100644
--- a/work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
+++ b/work/work-runtime/src/main/java/androidx/work/BackoffPolicy.kt
@@ -30,4 +30,4 @@
      * Used to indicate that [WorkManager] should increase the backoff time linearly
      */
     LINEAR
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/Configuration.kt b/work/work-runtime/src/main/java/androidx/work/Configuration.kt
index 744e2c5..086d706 100644
--- a/work/work-runtime/src/main/java/androidx/work/Configuration.kt
+++ b/work/work-runtime/src/main/java/androidx/work/Configuration.kt
@@ -475,4 +475,4 @@
         max(2, min(Runtime.getRuntime().availableProcessors() - 1, 4)),
         factory
     )
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/DirectExecutor.kt b/work/work-runtime/src/main/java/androidx/work/DirectExecutor.kt
index 0fcc520..9a4c7d3 100644
--- a/work/work-runtime/src/main/java/androidx/work/DirectExecutor.kt
+++ b/work/work-runtime/src/main/java/androidx/work/DirectExecutor.kt
@@ -34,4 +34,4 @@
     override fun toString(): String {
         return "DirectExecutor"
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt b/work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
index 7d8f83b..b0efb8cf 100644
--- a/work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
+++ b/work/work-runtime/src/main/java/androidx/work/ExistingPeriodicWorkPolicy.kt
@@ -70,4 +70,4 @@
      * is unclear.
      */
     CANCEL_AND_REENQUEUE,
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt b/work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
index 455c0d5..5eeaf77 100644
--- a/work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
+++ b/work/work-runtime/src/main/java/androidx/work/ExistingWorkPolicy.kt
@@ -52,4 +52,4 @@
      * *dropped* and the newly-specified work is the start of a new sequence.
      */
     APPEND_OR_REPLACE
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/InputMerger.kt b/work/work-runtime/src/main/java/androidx/work/InputMerger.kt
index 5296a96..3a8adcc 100644
--- a/work/work-runtime/src/main/java/androidx/work/InputMerger.kt
+++ b/work/work-runtime/src/main/java/androidx/work/InputMerger.kt
@@ -48,4 +48,4 @@
         Logger.get().error(TAG, "Trouble instantiating $className", e)
     }
     return null
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/InputMergerFactory.kt b/work/work-runtime/src/main/java/androidx/work/InputMergerFactory.kt
index da1b3db..d86f57d 100644
--- a/work/work-runtime/src/main/java/androidx/work/InputMergerFactory.kt
+++ b/work/work-runtime/src/main/java/androidx/work/InputMergerFactory.kt
@@ -59,4 +59,4 @@
 
 internal object NoOpInputMergerFactory : InputMergerFactory() {
     override fun createInputMerger(className: String) = null
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/NetworkType.kt b/work/work-runtime/src/main/java/androidx/work/NetworkType.kt
index ac00245..acec19d 100644
--- a/work/work-runtime/src/main/java/androidx/work/NetworkType.kt
+++ b/work/work-runtime/src/main/java/androidx/work/NetworkType.kt
@@ -56,4 +56,4 @@
      */
     @RequiresApi(30)
     TEMPORARILY_UNMETERED
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt b/work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
index 0d8747a..497052d 100644
--- a/work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
+++ b/work/work-runtime/src/main/java/androidx/work/OutOfQuotaPolicy.kt
@@ -30,4 +30,4 @@
      * be dropped and no work requests are enqueued.
      */
     DROP_WORK_REQUEST
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/OverwritingInputMerger.kt b/work/work-runtime/src/main/java/androidx/work/OverwritingInputMerger.kt
index f55c782..5c4bd8a 100644
--- a/work/work-runtime/src/main/java/androidx/work/OverwritingInputMerger.kt
+++ b/work/work-runtime/src/main/java/androidx/work/OverwritingInputMerger.kt
@@ -31,4 +31,4 @@
         output.putAll(mergedValues)
         return output.build()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/StopReason.kt b/work/work-runtime/src/main/java/androidx/work/StopReason.kt
index d382aab..f7629b7 100644
--- a/work/work-runtime/src/main/java/androidx/work/StopReason.kt
+++ b/work/work-runtime/src/main/java/androidx/work/StopReason.kt
@@ -32,4 +32,4 @@
         val ConstraintStorageNotLow = StopReason(STOP_REASON_CONSTRAINT_STORAGE_NOT_LOW)
         val Unknown = StopReason(WorkInfo.STOP_REASON_UNKNOWN)
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/WorkInfo.kt b/work/work-runtime/src/main/java/androidx/work/WorkInfo.kt
index 66cc236..95a2c52 100644
--- a/work/work-runtime/src/main/java/androidx/work/WorkInfo.kt
+++ b/work/work-runtime/src/main/java/androidx/work/WorkInfo.kt
@@ -268,4 +268,4 @@
          */
         const val STOP_REASON_UNKNOWN = -512
     }
-}
\ No newline at end of file
+}
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 8232cf1a8..d2bc7a7 100644
--- a/work/work-runtime/src/main/java/androidx/work/WorkRequest.kt
+++ b/work/work-runtime/src/main/java/androidx/work/WorkRequest.kt
@@ -352,4 +352,4 @@
         @SuppressLint("MinMaxConstant")
         const val MIN_BACKOFF_MILLIS = 10 * 1000L // 10 seconds.
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/StartStopToken.kt b/work/work-runtime/src/main/java/androidx/work/impl/StartStopToken.kt
index f9c4245..4849958 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/StartStopToken.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/StartStopToken.kt
@@ -61,4 +61,4 @@
 
     fun tokenFor(spec: WorkSpec) = tokenFor(spec.generationalId())
     fun remove(spec: WorkSpec) = remove(spec.generationalId())
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/WorkDatabasePathHelper.kt b/work/work-runtime/src/main/java/androidx/work/impl/WorkDatabasePathHelper.kt
index 32db40c..2295959 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/WorkDatabasePathHelper.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/WorkDatabasePathHelper.kt
@@ -122,4 +122,4 @@
     fun getNoBackupFilesDir(context: Context): File {
         return context.noBackupFilesDir
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/WorkLauncher.kt b/work/work-runtime/src/main/java/androidx/work/impl/WorkLauncher.kt
index 07d09eb..51509e1 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/WorkLauncher.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/WorkLauncher.kt
@@ -63,4 +63,4 @@
             StopWorkRunnable(processor, workSpecId, false, reason)
         )
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImplExt.kt b/work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImplExt.kt
index 36456f2..d99874f 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImplExt.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/WorkManagerImplExt.kt
@@ -89,4 +89,4 @@
             WorkLauncherImpl(processor, workTaskExecutor),
             workTaskExecutor
         ),
-    )
\ No newline at end of file
+    )
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/WorkerUpdater.kt b/work/work-runtime/src/main/java/androidx/work/impl/WorkerUpdater.kt
index 0461ddb..501160c 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/WorkerUpdater.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/WorkerUpdater.kt
@@ -167,4 +167,4 @@
 
 private fun OperationImpl.failWorkTypeChanged(message: String) = markState(
     FAILURE(UnsupportedOperationException(message))
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/constraints/NetworkState.kt b/work/work-runtime/src/main/java/androidx/work/impl/constraints/NetworkState.kt
index a74d3ce..74e27a2 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/constraints/NetworkState.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/constraints/NetworkState.kt
@@ -38,4 +38,4 @@
      * Determines if the network is not roaming.
      */
     val isNotRoaming: Boolean
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ContraintControllers.kt b/work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ContraintControllers.kt
index 0308c47..4d87576c 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ContraintControllers.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/constraints/controllers/ContraintControllers.kt
@@ -187,4 +187,4 @@
     companion object {
         private val TAG = Logger.tagWithPrefix("NetworkMeteredCtrlr")
     }
-}
\ No newline at end of file
+}
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 e3ff321..a86c311 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
@@ -78,4 +78,4 @@
 /**
  * {@see https://android.googlesource.com/platform/frameworks/base/+/oreo-release/core/res/res/values/config.xml#986}
  */
-internal const val BATTERY_LOW_THRESHOLD = 0.15f
\ No newline at end of file
+internal const val BATTERY_LOW_THRESHOLD = 0.15f
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.kt b/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.kt
index b5e78c2..609fcc6 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.kt
@@ -161,4 +161,4 @@
             Logger.get().error(TAG, "Received exception while unregistering network callback", e)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/Trackers.kt b/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/Trackers.kt
index 6c0757d..fb42e4d 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/Trackers.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/constraints/trackers/Trackers.kt
@@ -52,4 +52,4 @@
      */
     val storageNotLowTracker: ConstraintTracker<Boolean> =
         StorageNotLowTracker(context.applicationContext, taskExecutor),
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/Dependency.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/Dependency.kt
index 6bfda90..4b20b80 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/Dependency.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/Dependency.kt
@@ -48,4 +48,4 @@
     val workSpecId: String,
     @ColumnInfo(name = "prerequisite_id")
     val prerequisiteId: String
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/DependencyDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/DependencyDao.kt
index d77d3d4..852f4bb 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/DependencyDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/DependencyDao.kt
@@ -72,4 +72,4 @@
      */
     @Query("SELECT COUNT(*)>0 FROM dependency WHERE prerequisite_id=:id")
     fun hasDependents(id: String): Boolean
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/Preference.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/Preference.kt
index 05279a7..06bf8b2 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/Preference.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/Preference.kt
@@ -32,4 +32,4 @@
     val value: Long?
 ) {
     constructor(key: String, value: Boolean) : this(key, if (value) 1L else 0L)
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/PreferenceDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/PreferenceDao.kt
index 6f2b405..a5db03d 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/PreferenceDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/PreferenceDao.kt
@@ -52,4 +52,4 @@
      */
     @Query("SELECT long_value FROM Preference where `key`=:key")
     fun getObservableLongValue(key: String): LiveData<Long?>
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/RawWorkInfoDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/RawWorkInfoDao.kt
index 47d39d9..eeab965 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/RawWorkInfoDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/RawWorkInfoDao.kt
@@ -57,4 +57,4 @@
 fun RawWorkInfoDao.getWorkInfoPojosFlow(
     dispatcher: CoroutineDispatcher,
     query: SupportSQLiteQuery
-): Flow<List<WorkInfo>> = getWorkInfoPojosFlow(query).dedup(dispatcher)
\ No newline at end of file
+): Flow<List<WorkInfo>> = getWorkInfoPojosFlow(query).dedup(dispatcher)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfo.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfo.kt
index 1a34f1a..3dbe942 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfo.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfo.kt
@@ -49,4 +49,4 @@
 )
 
 fun systemIdInfo(generationalId: WorkGenerationalId, systemId: Int) =
-    SystemIdInfo(generationalId.workSpecId, generationalId.generation, systemId)
\ No newline at end of file
+    SystemIdInfo(generationalId.workSpecId, generationalId.generation, systemId)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfoDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfoDao.kt
index b07aeca..fb23d89 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfoDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/SystemIdInfoDao.kt
@@ -67,4 +67,4 @@
      */
     @Query("SELECT DISTINCT work_spec_id FROM SystemIdInfo")
     fun getWorkSpecIds(): List<String>
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkName.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkName.kt
index c2f4dac..b9d286d 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkName.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkName.kt
@@ -42,4 +42,4 @@
     val name: String,
     @ColumnInfo(name = "work_spec_id")
     val workSpecId: String
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkNameDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkNameDao.kt
index ab329c2..01b137c9f 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkNameDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkNameDao.kt
@@ -48,4 +48,4 @@
      */
     @Query("SELECT name FROM workname WHERE work_spec_id=:workSpecId")
     fun getNamesForWorkSpecId(workSpecId: String): List<String>
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgress.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgress.kt
index a0489b3..9cf3df14 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgress.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgress.kt
@@ -42,4 +42,4 @@
     val workSpecId: String,
     @ColumnInfo(name = "progress")
     val progress: Data
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgressDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgressDao.kt
index c550f55..2a9f9aa 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgressDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkProgressDao.kt
@@ -57,4 +57,4 @@
      */
     @Query("SELECT progress FROM WorkProgress WHERE work_spec_id=:workSpecId")
     fun getProgressForWorkSpecId(workSpecId: String): Data?
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkSpec.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkSpec.kt
index abd004b..2ed1d4d 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkSpec.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkSpec.kt
@@ -538,4 +538,4 @@
 
 data class WorkGenerationalId(val workSpecId: String, val generation: Int)
 
-fun WorkSpec.generationalId() = WorkGenerationalId(id, generation)
\ No newline at end of file
+fun WorkSpec.generationalId() = WorkGenerationalId(id, generation)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTag.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTag.kt
index 2be613b..0e43eec 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTag.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTag.kt
@@ -42,4 +42,4 @@
     val tag: String,
     @ColumnInfo(name = "work_spec_id")
     val workSpecId: String
-)
\ No newline at end of file
+)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTagDao.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTagDao.kt
index 2828c61f..6bcdc88 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTagDao.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTagDao.kt
@@ -63,4 +63,4 @@
     fun insertTags(id: String, tags: Set<String>) {
         tags.forEach { tag -> insert(WorkTag(tag, id)) }
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
index 9e3be24..c588d016 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
@@ -279,4 +279,4 @@
         }
         return triggers
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/utils/DurationApi26.kt b/work/work-runtime/src/main/java/androidx/work/impl/utils/DurationApi26.kt
index fd30e8c..df7c3d9 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/utils/DurationApi26.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/utils/DurationApi26.kt
@@ -24,4 +24,4 @@
 @DoNotInline
 internal fun Duration.toMillisCompat(): Long {
     return this.toMillis()
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi23.kt b/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi23.kt
index ad91ac2..a7efae1 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi23.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi23.kt
@@ -23,4 +23,4 @@
 import androidx.annotation.RequiresApi
 
 @DoNotInline
-fun ConnectivityManager.getActiveNetworkCompat() = activeNetwork
\ No newline at end of file
+fun ConnectivityManager.getActiveNetworkCompat() = activeNetwork
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi24.kt b/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi24.kt
index 6150d44..8e27226 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi24.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/utils/NetworkApi24.kt
@@ -25,4 +25,4 @@
 @DoNotInline
 fun ConnectivityManager.registerDefaultNetworkCallbackCompat(
     networkCallback: ConnectivityManager.NetworkCallback
-) = registerDefaultNetworkCallback(networkCallback)
\ No newline at end of file
+) = registerDefaultNetworkCallback(networkCallback)
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/utils/RawQueries.kt b/work/work-runtime/src/main/java/androidx/work/impl/utils/RawQueries.kt
index 79d6ab1..baeb2c6 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/utils/RawQueries.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/utils/RawQueries.kt
@@ -69,4 +69,4 @@
         return
     }
     builder.append((List(count) { "?" }.joinToString(",")))
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.kt b/work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.kt
index 55734d1..58e8038 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/utils/StartWorkRunnable.kt
@@ -33,4 +33,4 @@
     override fun run() {
         processor.startWork(startStopToken, runtimeExtras)
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/utils/WakeLocks.kt b/work/work-runtime/src/main/java/androidx/work/impl/utils/WakeLocks.kt
index 169ccf1..7163da9 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/utils/WakeLocks.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/utils/WakeLocks.kt
@@ -69,4 +69,4 @@
 
 private object WakeLocksHolder {
     val wakeLocks = WeakHashMap<PowerManager.WakeLock, String>()
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.kt b/work/work-runtime/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.kt
index 484da27..4aff2ab 100644
--- a/work/work-runtime/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.kt
+++ b/work/work-runtime/src/main/java/androidx/work/impl/workers/CombineContinuationsWorker.kt
@@ -27,4 +27,4 @@
     workerParams: WorkerParameters
 ) : Worker(context, workerParams) {
     override fun doWork() = Result.success(inputData)
-}
\ No newline at end of file
+}
diff --git a/work/work-runtime/src/test/java/androidx/work/WorkInfoTest.kt b/work/work-runtime/src/test/java/androidx/work/WorkInfoTest.kt
index 45adbaf..4b87fcd 100644
--- a/work/work-runtime/src/test/java/androidx/work/WorkInfoTest.kt
+++ b/work/work-runtime/src/test/java/androidx/work/WorkInfoTest.kt
@@ -64,4 +64,4 @@
         )
         assertThat(info1 == info2).isFalse()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerRealExecutorTest.kt b/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerRealExecutorTest.kt
index db35c0e..2089353 100644
--- a/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerRealExecutorTest.kt
+++ b/work/work-testing/src/androidTest/java/androidx/work/testing/TestSchedulerRealExecutorTest.kt
@@ -248,4 +248,4 @@
         executor.execute(DrainTask(executor))
         latch.await()
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-testing/src/androidTest/java/androidx/work/testing/workers/RetryWorker.kt b/work/work-testing/src/androidTest/java/androidx/work/testing/workers/RetryWorker.kt
index 0f7485d..8dcf298 100644
--- a/work/work-testing/src/androidTest/java/androidx/work/testing/workers/RetryWorker.kt
+++ b/work/work-testing/src/androidTest/java/androidx/work/testing/workers/RetryWorker.kt
@@ -32,4 +32,4 @@
         else future.set(Result.success())
         return future
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-testing/src/main/java/androidx/work/testing/SynchronousSerialExecutor.kt b/work/work-testing/src/main/java/androidx/work/testing/SynchronousSerialExecutor.kt
index 0b128f4..0eb0083 100644
--- a/work/work-testing/src/main/java/androidx/work/testing/SynchronousSerialExecutor.kt
+++ b/work/work-testing/src/main/java/androidx/work/testing/SynchronousSerialExecutor.kt
@@ -46,4 +46,4 @@
     override fun hasPendingTasks(): Boolean {
         return synchronized(lock) { tasks.isNotEmpty() }
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-testing/src/main/java/androidx/work/testing/TestClock.kt b/work/work-testing/src/main/java/androidx/work/testing/TestClock.kt
index 182b49d..83f6e54 100644
--- a/work/work-testing/src/main/java/androidx/work/testing/TestClock.kt
+++ b/work/work-testing/src/main/java/androidx/work/testing/TestClock.kt
@@ -29,4 +29,4 @@
     override fun currentTimeMillis(): Long {
         return timeMillis
     }
-}
\ No newline at end of file
+}
diff --git a/work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt b/work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
index f871ce7..f279227 100644
--- a/work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
+++ b/work/work-testing/src/main/java/androidx/work/testing/TestScheduler.kt
@@ -259,4 +259,4 @@
     }
     return dao.getWorkSpec(id)
         ?: throw IllegalStateException("WorkSpec is already deleted from WM's db")
-}
\ No newline at end of file
+}
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 06e7dde..b873e10 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
@@ -106,4 +106,4 @@
             executorsMode
         )
     )
-}
\ No newline at end of file
+}
diff --git a/work/work-testing/src/test/java/androidx/work/testing/SynchronousSerialExecutorTest.kt b/work/work-testing/src/test/java/androidx/work/testing/SynchronousSerialExecutorTest.kt
index e282e2a6..a3f926c 100644
--- a/work/work-testing/src/test/java/androidx/work/testing/SynchronousSerialExecutorTest.kt
+++ b/work/work-testing/src/test/java/androidx/work/testing/SynchronousSerialExecutorTest.kt
@@ -52,4 +52,4 @@
         }
         assertThat(executed).isTrue()
     }
-}
\ No newline at end of file
+}
